Schön, wenn man wichtige Daten direkt auf dem Display sehen kann...
Dazu ist es praktisch, wenn man ein EAP-authentifiziertes WLAN hat, denn dann kann man solche Geräte über die Zuweisung einer entsprechenden sogenannten VLAN-ID in ein eigenes Subnetz "stecken", das sowohl von den anderen Geräten im Haus, als auch vom Internet separiert ist. Auf dem Gerät läuft ein Android-Betriebssystem mit einer einfachen App, die eine Webseite nachlädt. Die angezeigten Daten werden sekündlich via Websocket übermittelt. Die Webseite ruft sekündlich eine Watchdog-Funktion auf. Bleibt dieser Aufruf für eine Minute aus, so lädt die Java-App die Webseite neu. Die Java-App registriert sich im Android-Betriebssystem auch als "Home Screen", so dass sie von selbigen bei eventuell auftretenden Fehlern automatisch neugestartet wird. Bis jetzt läuft es mit diesem Konzept seit mehreren Monaten sehr stabil. Was ich nämlich überhaupt gar nicht leiden kann, sind Automatisierungen, in die man dann immer mal wieder fehlerbehebend manuell eingreifen muss. Wenn das ganze nicht 10 Jahre stabil durchläuft, kann man es sich aus meiner Sicht auch gleich gänzlich sparen; dann nämlich ist der zusätzliche Aufwand und die entstehende Unsicherheit größer, als jeder möglicherweise gewonnene Nutzen.
Und in der Tat hatte der Watchdog schon einmal einen Einsatz: Als ich nämlich einmal das System upgradete, das per Modbus mit der Solaranlage, sowie mit der Wallbox kommuniziert, da gab es einen Connection Timeout im Rust-Backend (siehe nächster Absatz), und damit waren die Websockets für ein paar Minuten "eingefroren". Irgendwie kam die Browser-Engine im Android damit nicht klar (ist nicht die allerneuste Version) und selbst die (lokale) Aktualsierung der oben angezeigten Uhrzeit funktionierte nicht mehr. Nach ein paar Minuten lief wieder alles stabil -- der Watchdog hatte, zunächst mehrmals erfolglos, dann aber schließlich erfolgreich die Webseite neu geladen.
Das "Backend" ist in rust implementiert und zu einem statischen Binary kompiliert. Das Rust-Backend lädt die Daten von verschiedenen Quellen, unter anderem HmIP per REST API, sowie von diversen Quellen via modbus. Es läuft also alles so lokal wie möglich.
Über eine astronomische Tabelle wird der Sonnenauf- und Untergang ermittelt und die Webseite schaltet dann automatisch via CSS-Klassen vom Tag- in den Nachtmodus und umgekehrt.
Dank mathjax jetzt auch mit schön gesetzten Formelzeichen und SI-Einheiten. Müsste ich vielleicht in die Webseite auch mal einbauen...
Comments
Your comment
Your comment has been saved and will be subject to moderation before it is displayed on the website
(Note: Comments are moderated)