Vermutlich gibt es viele smart home Apps für Android und iOS, die hübsch aussehen und viel versprechen.

MQTT Dash verspricht nicht viel, ist aber kostenfrei und sehr mächtig. Diese App läuft völlig problemlos auf meinem alten Smartphone, welches ich von meiner Frau übernommen habe. Für den Einsatz dieser App muss man sich allerdings wenigstens etwas mit MQTT auskennen.

So etwa sieht die Oberfläche aus. Vielleicht kann man etwas mit Farben herumspielen - das weiß ich nicht. ;-P

Links ist die Startansicht zu sehen. Es gibt quasi Menüpunkte, der Autor nennt diese Metrics. In jeder Metric (mittlere Abbildung) kann man sog. "Kacheln" (tiles) erstellen. Rechts ist meine kleine Node-RED Anwendung zum speichern/wiederherstellen/übertragen von Metrics abgebildet (s.u.). Für die Kacheln gibt es 6 Typen, von denen ich bisher nur 4 eingesetzt habe:

  • Text - zur Eingabe und Anzeige von Text
  • Switch/button - zur Nachbildung eines Schalters oder Tasters
  • Range/progress - zur Anzeige einer einfachen 360° Skala (gauge)
  • Multi choice - ein Drop down Menü zum auswählen
  • Image - kenne ich (noch) nicht (Es braucht wohl einen URL, das Bild wird evtl. immer aus dem Internet geladen. ^^)
  • Color - kenne ich (noch) nicht

Die letzten beiden Typen werden wohl zur Verhübschung dienen. Funktional sind hingegen die ersten vier.

Ich halte es derzeit für die ideale App, um smart home Anwendungen zu nutzen. Alternativ oder zusätzlich kann man mit Node-RED ein Dashboard erstellen, welches mit einem Webbrowser erreichbar ist.

Einer seiner Vorteile ist die Übertragbarkeit von erstellten Einträgen, die der Autor Kacheln (tiles) nennt. Alles läuft per MQTT, auch diese Übertragung von Metrics ("Kachelsätzen").

Auch kann man aus empfangenen Daten Bestandteile zwecks Anzeige entnehmen (JSON Path). Schließlich lassen sich noch per JavaScript Aktionen ausführen. Besonders nützlich ist der zu jedem Eintrag (Kachel) nutzbare Eventhandler "ON RECEIVE". Dieser ermöglicht es, per JavaScript die eintreffenden Daten vor deren Darstellung zu verarbeiten. So lassen sich Nachrichten von bspw. Tasmota Geräten auf Benutzerbedürfnisse anpassen. Leider existiert kein entsprechender Eventhandler "ON TRANSMIT" auf der Sendeseite.

Ich habe eine kleine Node-RED Anwendung erstellt, mit Hilfe derer man MQTT Dash Metrics in Dateien, im JSON-Format, auf dem System mit dem MQTT Broker ablegen kann. Diese lassen sich auf dem Smartphone restaurieren und/oder auf andere Smartphones mit MQTT Dash übertragen. Diese Übertragung findet per MQTT statt und kann auch von Smartphone zu Smartphone erfolgen - ohne den Zwischenschritt einer Datei. Es ist per Editor leicht möglich, die im JSON-Format gespeicherten Metrics auf andere Geräte (Topics) umzustellen. Dies gelingt per Suchen und Ersetzen.

Wer meine kleine Node-RED Anwendung nutzen möchte, braucht einen installierten MQTT Broker und ein installiertes Node-RED. Beide dürfen auf einem System laufen, müssen es aber nicht. Ich setze hierfür einen Raspberry Pi 3 mit SSD ein.

Hier ist die kleine Anwendung MQTT_Dash_metrics.json herunterladbar. Dazu Rechtsklick und "speichern unter ..." wählen. Anschließend in der Node-RED Entwicklungsumgebung importieren.

Diese Anwendung setzt ein Verzeichnis "/home/pi" voraus, wie dies auf einem raspberry pi mit raspbian typisch ist. Mit einer kleinen Änderung in einem Injection Node (Hinweis steht darüber) lässt sich dies auf eine eigene Umgebung anpassen. Der obere Teil mit dem Lesen des Info-Textes aus eine Datei "info" ist vorgesehen. Zum Herunterladen habe ich diesen Teil aber unwirksam gemacht, damit die Anwendung out of the box nutzbar sein kann.

Das ist hier erst einmal alles - auch wenn es noch soooo vieles gibt. ;-)

2021-07-18