Die Idee
Sind alle Fenster geschlossen? Was ist der derzeitige homee Modus? Wie warm ist es draußen? Ein Status Display muss her. Nach einigem Lesen der hier im Forum beschriebenen Tablet Lösungen war mir klar, dass dies keine Lösung für mich ist. Mich störte insbesondere das aufleuchtende Display. Da das Status Display im Flur hängen soll (und ein zweites im Schlafzimmer, und ein drittes im Wohnzimmer, …), wollte ich gern eine ePaper Lösung realisieren. Die Vorteile sind für mich klar: Gute Lesbarkeit, geringer Stromverbrauch (nur beim Updaten des Displays benötigt es Strom) und keine aufleuchtende Hintergrundbeleuchtung.
Als technische Basis wollte ich ebenfalls eine schlanke Lösung einsetzen (kein großes Betriebssystem und geringer Stromverbrauch, geeignet für den Batterieeinsatz), so dass die Lösung auf einen ESP32 fiel.
Die Umsetzung
Erste challenge: Wie komme ich an die Daten? Mit Hilfe von homeeToMqtt (homee in Verbindung mit MQTT: homeeToMqtt) werden aktuelle Statusmeldungen auf einem Mosquitto Broker bereitgestellt. Genial! Dank dem fantastischen homeean Build script ist das Aufsetzen und Konfigurieren ein Kinderspiel und war innerhalb von weniger als einer Stunde erledigt.
Entwickelt in Arduino nutzt die Lösung die Basecamp Library von c‘t. Damit ist die Konfiguration per WLAN Hotspot out of the box möglich und der notwendige MQTT Client steht auch schon bereit.
Der ESP32 subscribed die relevanten Topics der zu überwachenden Sensoren am homee und steuert ein ePaper Display an. Da homeeToMqtt alle drei Minuten (anpassbar, habe es auf fünf Minuten reduziert) den aktuellen Status aller Geräte published, sind auch nach einem (Neu-) Start des ESP32 die Infos sehr zeitnah aktualisiert. Andere Änderungen werden neartime gepushed. Öffnet man eine Tür, aktualisiert sich in der gleichen Sekunde das Display. Da die ePaper Displays für die Aktualsierung des Displays etwa drei Sekundne benötigen (ihr kennt es von eReadern), gibt es einige Mechanismen, um optimiert Updates des Displays zu gruppieren.
Als Displays nutze ich Waveshare ePaper Displays. Die Ansteuerung über die verfügbaren Libraries gestaltet sich einfach und die Displays machen einen wertigen Eindruck. Aktuell im Einsatz ist ein 4.2 Inch Display. Für den Flur wird aber ein 7.5 Inch Display zum Einsatz kommen.
Es können alle Werte angezeigt werden, die homee erfasst. In der Konfiguration kann der Datentyp und seine Darstellung konfiguriert werden: Bool oder Value, Pre- und Postfix.
Aktueller Stand
Momentan ist die Lösung als Proof of Concept implementiert. Ich wollte erstmal sehen, ob sich die Idee umsetzen lässt. D.h. Werte werden einfach nur angezeigt. Das Display ist provisorisch verkabelt, ein Gehäuse gibt es noch nicht. Die Lösung läuft seit drei Wochen stabil. Und so sieht es aus:
Exceptions Anzeige neben Status: Momentan werden alle abonnierten Status angezeigt. Das ist für die Temperatur sinnvoll, aber den Hinweis auf eine Exception wie ein offenes Fenster möchte ich nur sehen, wenn sie eingetreten ist. Ich werde also die Anzeige aufteilen in statische Werte wie Temperaturen und dynamische Werte, die nur bei Abweichung vom Default zur Anzeige kommen. Sozusagen eine Liste, die vor dem Haus verlassen noch „abgearbeitet“ werden muss.
Unterstützung von zweifarbigen ePaper Displays: Es gibt ePaper Displays, die neben schwarz auch z.B. rot darstellen können. Ideal um Abweichungen hervorzuheben.
Batteriebetrieb: An den Aufstellorten gibt es eine Steckdose, aber ich würde gern die Nutzung eines Akkus testen. Der Stromverbrauch von ESP32 und ePaper sollte dies zulassen, allerdings werde ich wohl den Deep sleep vom ESP32 nutzen müssen. D.h. die Aktualisierung wird verzögert sein, mal sehen was sich hier als praktikabel erweist.
Ein Gehäuse: Vermutlich muss man sowas 3D drücken. Da habe ich bisher keine Erfahrungen, aber das ansonsten ist der WAF gleich auf Null.
Den Code veröffentlichen oder eben auch nicht. Deshalb dieser Post. Was denkt ihr? Eine interessante Lösung auch für andere? Dann würde ich den Quellcode veröffentlichungsfähig machen; ihr wisst, dass da dann immer noch einiges zu tun ist. Natürlich gilt es vorher die todo Liste abzuarbeiten.
Das ist cool. Muss ich gleich mal ausprobieren. Hab noch nen esp da den ich mit der Fritzbox Library für die Anwesenheitserkennung nutze. Das Problem was ich da immer hatte war die Abfrage der Stati vom homee. Das setzen habe ich über Webhooks gemacht.
Moin zusammen,
ein Freund hat das ganze bei FHEM umgesetzt und ich bin da schon leicht neidisch geworden.
Wenn ihr den Code veröffentlicht kann ich mich auch dran trauen.
Würde mich sehr freuen!
Ich habe das jetzt mal mit nem http request aufgesetzt, da dieser stabiler läuft als der MQTT.
Jetzt muss nur noch das Layout erstellt werden und schön ist es.
Ich kann jetzt einen webhook an die jeweilige box auf dem Display.
Jedoch bevorzuge ich da lieber Node Red.
Ich kann Gerne mal ein einfaches Beispiel Einstellen.
Dank des http request benötigt man keinen Raspi oder anderen Rechner.
@chrisLE hat mich gerade aufgeklärt das das Display ein Updatezyklus von Max 1000000 hat.
Damit ist das Projekt für mich gestorben.
Wenn ich Status Meldungen von homee anzeigen mag ist das eindeutig zu wenig.
.