Vor zwei Jahren habe ich mir eine Statusanzeige fürs Home-Office gebastetlt die über meine Türe montiert war und Leute die zu mir in den Keller kommen darüber informierten sollte, ob ich gerade in einem Meeting bin oder nicht. Das war damals noch alles sehr simpel gestrickt, der Microcontroller machte einen Webserver auf, da tippte man in ein Formular die Nachricht die angezeigt werden soll und das war es dann. Jetzt habe ich diese Anzeige mal auf den neuesten Stand der Technik gebracht.
Nachdem wir hier nur noch zu dritt im Haus leben und mein Sohn tagsüber arbeiten ist, sind die Besuche hier im Keller eher selten. Also habe ich das Ding von der Türe abmontiert, das Doppelklebeband mit dem es befestigt war hatte schon nachgegeben, also machen wir eine Anzeige daraus, die man auf den Schreibtisch stellen kann.
Und statt der alten Firmware mit manueller Eingabe war mein Ziel, das jetzt mit ESPHome zu konfigurieren und in meinen Home Assistant zu integrieren. Also mal ESPHome auf die NodeMCU im Gerät geflashed und dann ein wenig mit dem Max7219 Display gespielt.
Nach Hello World habe ich dann schon eine Anzeige der Uhrzeit anhand der Beispiele hin bekommen.
Das war natürlich nur ein Anfang. Jetzt wollte ich auch Status-Messages durchscrollen lassen, also habe ich mir in Home Assistant einen „Helper“ definiert, der ein Texteingabefeld enthält. Und auf das kann das ESPHome-Setup dann auch zugreifen und es als Lauftext anzeigen.
Dann der nächste Schritt, Uhrzeit plus Lauftext der Nachricht. Auch das hat mit ein paar Zeilen mehr in der YAML-Datei problemlos funktioniert. Damit war die ESPHome-Seite dieser Anwendung erledigt.
Allerdings musste ich an der Stelle immer noch die Nachricht manuell eingeben, sprich den Text beim Helper eintragen. Also nächster Schritt: Automatisieren.
Die eigentlich wichtigen „Nachrichten“ sind, ob ich gerade in einem Meeting bin oder arbeite oder vielleicht sogar „Deep Work“ mache, also hochkonzentriert arbeite und dabei eine Störung mich sofort aus dem Flow kicken würden.
Also habe ich mir für jeden dieser “ Betriebsustände“ einen NFC-Tag erzeugt und den an die Front meiner Schreibtischschublade geklebt, darüber ein Etikett aus dem Beschriftungsgerät.
Jetzt muss ich nur noch das (entsperrte, geht leider nicht im Sperrbildschirm) Smartphone an den entsprechenden NFC-Tag halten und dann wird die Nachricht per Automation am Display angezeigt. Wenn ich frei bin und keine Nachricht da ist gibt es ganz rechts an der Schulblade einen Tag, der die Nachricht löscht und das Display ziegt wieder nur die Uhrzeit an.
Dieses kleine Video zeigt exemplarisch, was ich gerade in Textform erklärt habe.
Und wenn ich mir den Code so anschaue, dann muss ich sagen, ESPHome ist hier schon eleganter als der Code, den man bei der alten Lösung erst mal in der Entwicklungsumgebung compilieren und hochladen musste. Jetzt reicht ein Aufspielen von ESPHome um das Gerät zu „initialisierten“, Änderungen können dann einfach übers WLAN (Over The Air) aufgespielt werden.