Nach dem also das reTerminal E1002 E-Paper-Display angeschafft und aufgesetzt ist, wollte ich gerne das Nextcloud Kalender-Widget dort eingeblendet haben. Die erste zu nehmende Hürde betrifft die Authentifizierung. Man nimmt dafür nämlich nicht einfach die User-Credentials, sondern muss für den Benutzer neue Api-Credentials unter Persönliche Einstellungen → Sicherheit anlegen. Damit klappt es dann auch die Daten für das Kalender-Widget mit der URL https://{{domain}}/ocs/v2.php/apps/dashboard/api/v2/widget-items?widgets%5B%5D=calendar abzurufen. Die Api-Credentials muss man dafür als Basic-Auth in den Authorization-Header konfigurieren.
Letztlich braucht es nur noch das Liquid-Template, das ich mal hier verlinkt habe. Das Template rendert dann nur noch die Daten aus dem Abruf und stellt die abgerufenen Kalndereinträge dar. Das ganze sieht dann so aus.

Links
TRMNL Nextcloud-Calendar auf Github
Bastelprojekt TRMNL E-Paper-Device
Um mich leichter erinnern zu können habe ich mir ein reTerminal E1002 E-Paper-Display angeschafft. Darauf will ich nahende Kalendereinträge aus meinem Nextcloud-Kalender und Nachrichten von meiner Ntfy-Instanz anzeigen. Und das alles Natürlich mit einem selbst gehosteten TRMNL-Server. Ich will ja keine Anbieter- oder Cloud-Abhängigkeit schaffen.

Die TRMNL-Firmware auf das reTerminal zu flashen ist so einfach, wie nichts. Auf der Hersteller-Seite findet sich ein Web-Flasher, den man einfach benutzen kann, um die aktuelle TRMNL-Firmware auf das Gerät zu bringen. Anschließend verbindet man sich per Wifi auf das Gerät und richtet die Netzwerkverbindung ein. Wenn man einen eignen TRMNL-Server betreiben will, muss man über die erweiterten Einstellungen noch die URL konfigurieren.
Am besten hat man den TRMNL-Server schon vorher bereitgestellt. Ich habe mich für TRMNL BYOS (PHP/Laravel)
entschieden, weil mir dieser zum jetzigen Zeitpunkt am aktivsten in der Entwicklung erscheint. Das Docker-Setup ist auch denkbar simpel. Wenn man nun noch Permit Auto-Join oben auf der TRMNL-Server Webseite aktiviert, verbindet sich das reTerminal E1002 automatisch nach dem Einschalten und erscheint als Device auf der TRMNL-Server Webseite.
Das war im Grunde schon der ganze Zauber. Das einzig störende ist zum einen das unschöne Flackern beim Aktualisieren des Displays und, dass das reTerminal E1002 noch nicht in Farbe angesteuert werden kann. Man hätte also einige Euro sparen können und anstelle dessen Schwarz-Weiss Modell E1001 kaufen können. Aber vielleicht tut sich da noch etwas. Bei dem ganzen TRMNL-Thema scheint gerade viel Bewegung drin zu sein und vielleicht kommt die Unterstützung von Farbe ja noch mit einem späteren Update.
Als nächstes geht es an die Einbindung des Nextcloud-Kalender. Grundsätzlich lässt sich jede erreichbare Datenquelle einbinden, wenn diese ein Json zurückgibt. Dazu kommt noch ein HTML-Template, mit dem die abgerufenen Daten gerendert und danach als Bilddatei an das E-Paper-Display gesendet werden. Das ganze nennt sich dann "Recipe" und weil das so einfach ist, gibt es davon auch jede Menge. Wie das mit TRMNL BYOS Laravel funktioniert, schreibe ich dann noch mal extra auf.
Auch nett: wenn man noch einen E-Book-Reader herumliegen hat, kann man auch einfach eine Trmnl-Firmware flashen und den Reader als Display benutzen. Das geht aktuell für
KOReader, Kindle, Nook und Kobo.
Sepecs reTerminal E1002
Kompatibel mit: Arduino/PlatformIO, ESP-IDF, ESPHome, Home Assistant, TRMNL, SenseCraft HMI
Mikrocontroller: ESP32-S3 Dual-Core mit 8MB PSRAM, 32MB SPI Flash
Display: 7,3-Zoll Full-Color E-Ink (E Ink Spectra 6), 800x480 Auflösung
Batterie: 2000 mAh integriert, bis zu 3 Monate Laufzeit im Tiefschlafmodus
Wireless: 2,4 GHz Wi-Fi 802.11 b/g/n, Bluetooth 5.0
Sensoren: Temperatur- und Feuchtigkeitssensor
Audio: 3 Mikrofone, Buzzer
Speicher: MicroSD-Karten-Slot (bis 32GB, FAT32)
Steuerung: 3 Tasten, Status-LED (grün), Lade-LED (rot)
Anschlüsse: USB-C (5V/1A Laden/Update), 8-Pin Expansion-Port (GPIO, I2C, VDD, GND)
Abmessungen: 176x120x53 mm (mit Ständer), 17 mm (ohne Ständer)