Wie binde ich ein TRMNL E-Ink-Display ein?
collabDoo liefert die Anzeige eures Haushalts unter einer geheimen Adresse in drei Formen: Webseite, Bild (PNG) und Daten (JSON). Auf dem TRMNL gibt es zwei Wege, beide über ein Private Plugin: das fertige Bild für den Vollbild-Betrieb (empfohlen, keine Pflege) und Liquid-Vorlagen, wenn collabDoo neben anderen Plugins auf einem Bildschirm stehen soll. Ein eigener Server wird nicht gebraucht.
Teil 1
Voraussetzungen in der App schaffen
Du brauchst ein TRMNL, das mit der TRMNL-Cloud (trmnl.com) verbunden ist, und ein Konto mit Zugriff auf Private Plugins (Developer-Zugang). In collabDoo richtest du die Anzeige ein und erzeugst die Adresse – als Erwachsener mit Admin-Rolle.
- Anzeige einschalten
Pflege → Anzeige (Küchen-Display) → Schalter Öffentliche Anzeige-Adresse aktiv einschalten.
- Kalender, Ort, Fotos
Bis zu 6 Kalender per iCal-Adresse (Adresse prüfen zeigt sofort, ob der Link stimmt; bei Apple
webcal://durchhttps://ersetzen), einen Ort für das Wetter, Fotos mit Rotation. Wie das geht, steht in der Anleitung zur Anzeige. - Ansicht für E-Ink wählen
Unter Ansicht E-Ink/Bild zwischen Woche und Nur heute wählen. Das ist die Voreinstellung für Bild und Webseite; per Adresse lässt sie sich überschreiben.
- Anzeige-Adresse erzeugen
Unter E-Ink / TRMNL auf Anzeige-Adresse erzeugen tippen. Die App zeigt einmalig drei Adressen mit Kopieren-Knopf und QR-Code: Webseite
https://team.collabdoo.app/d/<token>, Bildhttps://team.collabdoo.app/d/<token>.png, Datenhttps://team.collabdoo.app/d/<token>.json. Für Weg 1 brauchst du die Bild-Adresse, für Weg 2 die Daten-Adresse.
Wer die Adresse kennt, sieht Aufgaben mit Vornamen, Termine und das Foto. Bei beiden Wegen landet sie in der TRMNL-Cloud, weil TRMNL sie abruft. Nicht weitergeben; bei Verlust Neue Adresse erzeugen (die alte stirbt sofort) oder Adresse widerrufen. Der Klartext wird nur im Moment des Erzeugens gezeigt.
Teil 2
Weg 1: das fertige Bild als Private Plugin (Vollbild, empfohlen)
Auf dem TRMNL legst du ein eigenes Plugin an. Es holt regelmäßig die Daten-Adresse ab – das ist nur der Auslöser, damit TRMNL überhaupt neu zeichnet – und zeigt als Inhalt das fertige Bild vom collabDoo-Server. Unten steht Feld für Feld, was einzutragen ist; alles, was hier nicht vorkommt, bleibt leer oder auf dem Standard.
- Plugin anlegen
Auf trmnl.com: Plugins → Private Plugin → Add new. Es öffnet sich die Seite My Plugin – Build your own.
- Name
Frei wählbar, zum Beispiel „collabDoo“. Er dient nur der Unterscheidung mehrerer Plugins.
- Strategy
Auf Polling stellen. Damit holt TRMNL selbstständig Daten von einer Adresse.
- Polling URL(s)
Hier kommt die Daten-Adresse hinein – eine Zeile, nichts sonst. Sie steht in der App unter E-Ink / TRMNL als dritte Adresse und endet auf
.json:https://team.collabdoo.app/d/<token>.json<token>ist dabei die lange Zeichenfolge aus deiner Adresse. Der Knopf Parsen holt noch keine Daten: Er setzt nur Platzhalter in der Adresse ein (die brauchen wir nicht) und zeigt unter Geparst die fertige Adresse. Dass dort dasselbe steht wie oben, ist also richtig. Ob wirklich Daten ankommen, siehst du gleich in der Vorschau des Markup-Editors und später in der Timeline. - Polling Verb, Headers, Body, Form Fields
Polling Verb bleibt auf
GET. Polling Headers, Polling Body und Form Fields bleiben leer – die Adresse trägt das Geheimnis schon in sich. - Remove Bleed Margin
Einschalten. Dann läuft das Bild bis an den Rand des Displays, statt in einem weißen Rahmen zu sitzen.
- Speichern und Markup einfügen
Speichern, dann oben auf Markup bearbeiten (Edit Markup). Im Reiter Full alles löschen und genau diese eine Zeile einsetzen. Danach wieder Speichern.
<img src="https://team.collabdoo.app/d/<token>.png?w=1872&h=1404&mode=gray16&view=today&cb={{ updated | replace: ':', '' }}" style="width:100%;height:100%;object-fit:contain;">Auch hier
<token>ersetzen. Nur diese eine Zeile – stehen zwei<img>im Markup, zeigt TRMNL zwei Bilder untereinander. Die Zeile oben ist auf den TRMNL X eingestellt; für den TRMNL OG stattdessenw=800&h=480&mode=einkeintragen. Dascb=…am Ende setzt TRMNL selbst ein (die Uhrzeit des Servers); es sorgt dafür, dass das Bild frisch geholt wird. Die übrigen Parameter steuern das Bild – alle sind optional:Parameter Werte Wirkung viewweek·todayWochenkacheln oder Tagesansicht. Ohne Angabe gilt die App-Einstellung „Ansicht E-Ink/Bild“. w200 … 2000 Breite in Pixeln – die Auflösung deines Displays. h200 … 2000 Höhe in Pixeln. Das Layout skaliert über die Höhe (Vorlage 780 px). Höchstens 3,2 Megapixel insgesamt. modeeink·gray·gray16·color1 Bit gedithert (TRMNL OG) · 4 Graustufen · 16 Graustufen (TRMNL X) · Farbe (Browser, Tablet). rotate0·90·180·270Drehung in Grad, etwa für ein hochkant montiertes Display. - Aktualisierungsrate und Wiedergabeliste
Rechts Maximale Aktualisierungsrate auf 15 Minuten stellen – die Anzeige ändert sich selten schneller. Dann das Plugin in der Wiedergabeliste aktivieren. Fertig.
- Kontrolle: Timeline
Rechts unter Timeline steht, was bei jeder Aktualisierung passiert ist. Dort muss Rendered auftauchen. Steht dort dauerhaft Render skipped — no change in data, fehlt die Polling-Adresse oder das
cb=…im Markup. - Optional: Tag und Woche abwechseln
Ein zweites Private Plugin nach demselben Muster anlegen, im Markup
view=todaydurchview=weekersetzen. Die Reihenfolge in der Wiedergabeliste ist der Wechselrhythmus.
Es kann zwar ein Bild von einer Adresse zeigen, zeichnet den Bildschirm aber nur neu, wenn sich seine Daten ändern – und das ist bei ihm allein die eingetragene Adresse. Die bleibt immer gleich, also steht in der Timeline dauerhaft Render skipped — no change in data und das Display zeigt für immer das erste Bild, obwohl der Server längst ein neues liefert. Genau deshalb der Umweg über Polling.
Dieselben Zeilen liegen als fertige Datei unter collabdoo-image.liquid – anklicken, alles markieren, kopieren. Eine Übersicht aller Vorlagen samt Kurzanleitung gibt es unter team.collabdoo.app/trmnl/.
Der Server hält ein Bild 5 Minuten je Adresse und Parametern im Cache und liefert es als 8-Bit-Graustufen-PNG. Falls ein Dienst lieber JPEG nimmt: dieselbe Adresse mit .jpg statt .png, gleiche Parameter.
Teil 3
Weg 2: Private Plugin mit Liquid-Vorlagen (Mashups)
Nötig, wenn collabDoo neben anderen Plugins auf einem Bildschirm stehen soll (Half oder Quadrant). TRMNL rendert dann selbst aus den Daten – mit unseren fertigen Vorlagen.
- Plugin anlegen und Polling einstellen
Schritte 1 bis 6 aus Teil 2 – nur der Name ist ein anderer, zum Beispiel „collabDoo Woche“. Strategy: Polling, als Polling URL(s) wieder die Daten-Adresse:
https://team.collabdoo.app/d/<token>.json - Vorlage einfügen
Unter Markup bearbeiten gibt es je Layout einen Reiter. Für jeden Reiter, den du nutzen willst, die passende Vorlage öffnen, alles markieren, kopieren und einfügen. Die Vorlagen liegen als Textdateien auf unserem Server (Tabelle unten, Namen sind anklickbar).
- Vorschau prüfen
Erscheinen keine Einträge, liegen die Daten unter einem Wurzelknoten (passiert bei mehreren Polling-URLs). Dann in der Vorlage
daysdurchIDX_0.daysersetzen – ebensotoday,labels,household,weather,unassigned,title,updated,photo_url. - Playlist oder Mashup
Plugin der Playlist zuweisen. In einem Mashup steht collabDoo zum Beispiel als Viertel neben Wetter oder Nachrichten.
| Layout | Vorlage | Zeigt |
|---|---|---|
| Full (Woche) | collabdoo-full.liquid | Tageskacheln 4×2, rechts Wetter und Foto, bei 7 Tagen achte Kachel „Zu vergeben“ |
| Nur das Bild | collabdoo-image.liquid | Das fertige Server-Bild; Polling dient nur als Auslöser fürs Rendern |
| Full (Tag) | collabdoo-full-today.liquid | Termine · Aufgaben (zweizeilig, Kreis-Checkbox) · Wetter und Foto |
| Half Horizontal | collabdoo-half_horizontal.liquid | Heute links, nächster Tag rechts |
| Half Vertical | collabdoo-half_vertical.liquid | Heute groß, darunter die nächsten Tage |
| Quadrant | collabdoo-quadrant.liquid | Nur heute, kompakt |
Die Full-Vorlagen laden Public Sans und Roboto Condensed von Google Fonts sowie Wettersymbole und Foto vom collabDoo-Server. TRMNL rendert in der Cloud, deshalb sind alle Adressen absolut.
Teil 4
Parameter der Bild-Adresse und Empfehlungen je Gerät
Die Parameter hängst du mit ? und & an die Bild-Adresse. Ohne view gilt die App-Einstellung „Ansicht E-Ink/Bild“.
| Parameter | Werte | Bedeutung |
|---|---|---|
view | week · today | Wochenkacheln oder Tagesansicht |
w, h | 200 … 2000 | Bildgröße in Pixeln; das Layout skaliert über die Höhe (Vorlage 780 px) |
mode | eink · gray · gray16 · color | 1 Bit gedithert · 4 Graustufen · 16 Graustufen · Farbe |
rotate | 0 · 90 · 180 · 270 | Drehung |
TRMNL X (10,3″, 16 Graustufen, 1872 × 1404): ?w=1872&h=1404&mode=gray16&view=week
TRMNL OG (7,5″, 1 Bit, 800 × 480): ?w=800&h=480&mode=eink&view=today – die Tagesansicht ist auf dem kleinen Display lesbarer als die Woche.
Browser oder Tablet: die Webseiten-Adresse https://team.collabdoo.app/d/<token> aktualisiert sich selbst, ?view=today ist möglich.
Woche: je Tag eine Kachel mit Wochentag, „HEUTE“-Plakette, Datum und den Einträgen in zeitlicher Reihenfolge – Termine mit Zeit und Kalender, Aufgaben mit Zeit und Person („07:00 · Max“, offene als „07:00 · offen“). Rechts oben das Wetter mit Stundenleiste 06–20, rechts unten das Tagesfoto. Tag: links die Termine, in der Mitte die Aufgaben als Liste mit Kreis (leer = offen, gefüllt = erledigt), Zeit und Zuständigkeit, dann „Morgen“, wenn Platz ist. Klares Kachel-Design, für E-Ink entworfen.
Teil 5
Fehlersuche
| Symptom | Ursache und Lösung |
|---|---|
| „Render skipped — no change in data“ – altes Bild bleibt stehen | Das Plugin bekommt keine wechselnden Daten. Beim Katalog-Plugin „Image Display“ ist das bauartbedingt so; nimm das Private Plugin aus Teil 2 mit Polling auf https://team.collabdoo.app/d/<token>.json. Hast du das schon, fehlt im Markup der Cache-Buster &cb={{ updated }}. |
| Vorschau oder Display bleibt weiß | Bis zum 22.09.2026 lieferte der Server ein Bildformat und einen Sicherheits-Header, die TRMNLs Renderer verwarf. Beides ist behoben – im Plugin Aktualisierung erzwingen. Bleibt es weiß: dieselbe Adresse mit .jpg statt .png probieren. |
| Antwort „Bad parameters“ (400) | Größe außerhalb der Grenzen: höchstens 2000 Pixel je Seite und 3,2 Megapixel insgesamt. Für den TRMNL X reichen w=1872&h=1404. |
| Antwort „Too many requests“ (429) | Höchstens 60 Abrufe je Stunde und Anzeige-Adresse. Beim Herumprobieren im Browser und Plugin-Editor kann das kurz erreicht sein – nach ein paar Minuten geht es weiter. |
| Bild oder Seite liefert 404 | Adresse falsch, widerrufen oder Anzeige ausgeschaltet. In der App eine neue Adresse erzeugen. |
| Alte Darstellung im Browser | Browser-Cache (60 Sekunden). Mit Umschalttaste neu laden oder einen Parameter ändern. |
| Bild zu klein oder unscharf auf dem TRMNL X | w=1872&h=1404&mode=gray16 |
| Liquid-Vorlage zeigt nichts | Wurzelknoten: days → IDX_0.days und die anderen Felder ebenso (Teil 3, Schritt 4). |
| Alle Aufgaben stehen auf „Zu vergeben“ oder „offen“ | Die Aufgaben haben keine zugeteilte Person. Zuständigkeit in der App setzen oder übernehmen lassen. |
| Kalender fehlt | Die iCal-Adresse muss mit https:// beginnen und öffentlich abrufbar sein; „Adresse prüfen“ in der App nutzen. Aktualisierung alle 15 Minuten. |
| Ausrufezeichen hinter der Zeit | Die Aufgabe ist überfällig – die Zeit ist heute schon vorbei. |
Alle Vorlagen, Symbole und eine Kurzanleitung liegen öffentlich unter team.collabdoo.app/trmnl/.
collabDoo · All for one. Done by all.
Die Woche an der Wand – ohne Strom zu verschwenden.
Ein Bild-Plugin, eine Adresse, fertig.
iPhone & iPad ab iOS 17 · Android ab 8.0

