metabene trmnl
ich fürchte robin / @meta_bene wird das für ein sakrileg halten, aber ich bin ehrlich gesagt begeistert davon, wie gut sich tusche auf dem e-paper macht. jeden tag ein zufälliges neues bild. bei der auswahl der 67 bilder, aus denen eine zufallsfunktion um mitternacht ein neues bild aussucht, war ich wieder baff, wie gut und intelligent die zeichnungen von metabene sind. ich fand die immer schon toll und habe auch mal ein original gekauft, aber heute war ich wieder neu begeistert und jetzt voraussichtlich auch täglich neu.


die metabene bilder baue ich mir auf einer html-seite selbst zusammen, damit sie im verhältnis 800 × 480 px einen weissen hintergrund haben. die seite enthält einen langen image-array, aus dem bei jedem reload ein bild ausgewählt wird:
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Zufallsbild 800x480</title>
<style>
/* Seite komplett weiß und zentriert */
body {
margin: 0;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background-color: #ffffff;
overflow: hidden;
}
/* Der feste Viewport */
.viewport {
width: 800px;
height: 480px;
background-color: #ffffff;
display: flex;
justify-content: center;
align-items: center;
}
/* Bild-Styling */
#display-image {
max-width: 100%;
max-height: 100%;
object-fit: contain;
/* Verhindert kurzes Aufblitzen eines leeren Rahmens */
visibility: hidden;
}
</style>
</head>
<body>
<div class="viewport">
<img id="display-image" src="" alt="Zufälliges Bild">
</div>
<script>
const images = [
"https://cdn.prod.website-files.com/6504334c6af52742d08b4cb4/69a6a2e68b68f2cb1535473f_26-11-voegel-streiten.jpg",
"https://cdn.prod.website-files.com/6504334c6af52742d08b4cb4/696784c68841edf99d5eef07_26-006-pinguin-anmeinerstelle.jpg"
];
const imgElement = document.getElementById('display-image');
// 1. Zufälligen Index auswählen
const randomIndex = Math.floor(Math.random() * images.length);
// 2. Bildquelle setzen
imgElement.src = images[randomIndex];
// 3. Erst anzeigen, wenn das Bild geladen ist (vermeidet weißes Flackern)
imgElement.onload = function() {
imgElement.style.visibility = 'visible';
};
</script>
</body>
</html>
diese seite lese ich mit dem grandiosen trmnl home assisant screenshot tool, das ja auch einfache webseiten screenshoten kann. die screenshots werden um mitternacht gemacht und per webhook an den webhook-plugin gesendet. der spielt das bild zwar theoretich stündlich auf’s trmnl ein, aber vielleicht ist trmnl auch klug genug das nur einmal täglich zu machen.