home-assistant

Aus einem 40-Euro-E-Book-Reader wurde unser Home-Assistant-Display

Kurzfassung

Ein Xteink X4 (E-Book-Reader, ESP32-C3, 4,26” E-Ink) läuft jetzt als Statusdisplay für eine Off-Grid-Finca: Solarbatterie, PV, Pool-Werte, Zisterne, Außentemperatur. Firmware ist ESPHome, Anbindung über die Home-Assistant-API, Updates per WLAN. Drei Stolperfallen beim Flashen, eine beim Deep Sleep, und ein Akku, der weniger hält als die Datenblätter versprechen.

Warum überhaupt

Die Finca läuft off-grid. Solar, Batterie, Zisterne, Pool. Alles hängt in Home Assistant, aber um den Stand zu sehen, musste man immer das Handy rausholen. Gewünscht war etwas, das einfach an der Wand hängt, ohne Stromkabel, und das man auch bei prallem Sonnenlicht lesen kann. Also E-Ink.

Fertige E-Ink-Displays für Home Assistant kosten schnell 100 Euro und mehr. Der Xteink X4 ist ein billiger E-Book-Reader mit 800x480 Pixeln, ESP32-C3 und 650-mAh-Akku. Die Community hat dafür bereits eine ESPHome-Komponente gebaut (esphome-component-xteink auf GitHub). Das war der Punkt, an dem wir schwach wurden.

Was wir gemacht haben

Der Reader ist danach kein Reader mehr, die Original-Firmware wird komplett überschrieben. Vorher haben wir den 16-MB-Flash zweimal gedumpt und die Prüfsummen verglichen, damit sich das Gerät jederzeit zurückbauen lässt. Der Dump dauert gut drei Minuten. Der USB-Port verschwindet, sobald der Reader einschläft. Klingt banal, hat uns aber einen abgebrochenen Dump gekostet: vorher aufwecken und den Schlaftimer hochsetzen.

Dann ESPHome drauf, in Home Assistant als Gerät eingebunden, Updates laufen seitdem per OTA über WLAN in rund 13 Sekunden. Das Display zeigt hochkant den Batteriestand der Solaranlage, PV-Leistung, Verbrauch, Reichweite, dazu pH und Redox vom Pool mit Bewertung und Empfehlung (“pH-Minus zugeben”, “Chlorung stoppen”), den Zisternenfüllstand und die Außentemperatur. Das Panel kann nur Schwarz-Weiß, also stellen wir Warnungen als Rahmen dar und kritische Werte invertiert. Funktioniert besser als gedacht.

Was Zeit gekostet hat

Der Compiler findet SPI.h nicht. ESPHome bindet die Arduino-SPI-Library auf ESP32 absichtlich nicht ein, die Xteink-Komponente braucht sie aber. Ein libraries: [SPI] unter esphome: in der Config löst das. Ein spi:-Block in der YAML hilft nicht.

esphome upload kompiliert nicht neu. Es flasht die vorhandene Binary, ohne Warnung. Nach jeder Änderung an Config oder Secrets muss es esphome run sein. Wir haben zweimal ein falsches WLAN-Passwort “korrigiert” und uns gewundert.

Deep Sleep hätte das Gerät fast gebrickt. Der X4 trennt beim Schlafen die Stromversorgung, wenn GPIO13 nicht mit gpio_hold_en() gehalten wird. Dann wacht er nie wieder auf. Wichtig: nur halten, nicht aktiv setzen, die Hardware legt dort bereits etwa 0,85 V an. Dazu braucht ESPHome safe_mode: boot_is_good_after: 10s, sonst gilt ein Boot erst nach 60 Sekunden als gelungen, das Gerät schläft vorher wieder ein und landet nach ein paar Zyklen im Safe Mode.

Noch eine Kleinigkeit: sleep_duration ist in der Deep-Sleep-Komponente nicht templatebar, nur in der Action deep_sleep.enter. Wir setzen deshalb einen festen Rückfallwert in der Komponente und die echte Dauer per Template in der Action.

Die ehrliche Bilanz beim Akku

Hier wird es ernüchternd. Dauerhaft wach mit WLAN hält der X4 rund vier Stunden. Mit Deep Sleep ist es besser, aber das Gerät zieht im Schlaf knapp 4 mA statt der paar Mikroampere, die man von einem ESP32 gewohnt ist. Leckströme, unter anderem die Batteriemessung über zwei 10-kΩ-Widerstände. Realistisch bei 650 mAh:

  • 60 s Takt: etwa ein Tag
  • 5 Minuten: etwa drei Tage
  • 10 Minuten: etwa vier Tage

Für ein Display an der Wand reicht das, ein Wunder ist es nicht. Es gibt noch eine Idee: die Reset-Leitung des Panels (GPIO5) ebenfalls halten, das soll den Schlafstrom fast halbieren. Noch nicht getestet, bewusst eine Änderung nach der anderen.

Die Schlafdauer stellen wir direkt aus Home Assistant ein (60 bis 1800 s), ohne neu zu flashen. Ein Schalter “wach halten” verhindert den Schlaf für OTA-Updates.

Was das für Finca-Besitzer bedeutet

Wer eine Anlage mit Solar, Zisterne oder Pool-Sensorik betreibt, braucht keine 500-Euro-Anzeige, um den Zustand auf einen Blick zu sehen. Ein E-Ink-Display an der richtigen Stelle, einmal sauber eingerichtet, tut das für unter 50 Euro Hardware. Wir bauen so etwas auf Wunsch in bestehende Home-Assistant-Installationen ein.

Technische Eckdaten

  • Xteink X4: ESP32-C3, 16 MB Flash, Display GDEQ0426T82 / SSD1677, 800x480, 1 Bit, 650 mAh
  • ESPHome 2026.8.2, Komponente github://ngxson/esphome-component-xteink
  • Rotation 270 → 480x800 Hochformat, Half-Refresh ~1,6 s
  • Deep Sleep: GPIO13 halten, boot_is_good_after: 10s, Fallback run_duration: 30s falls HA sich nicht verbindet
  • Rettung bei Nicht-Booten: Gerät aus, Leiser + Power halten, bei Warnung loslassen, mit Lauter bestätigen → Download-Modus
← Zurück zur Praxis-Übersicht