Welche Informationen sollen sichtbar sein?
Zum Anfang sollte man sich darüber im Klaren sein, welche Dinge man eigentlich im Blick haben möchte. Im diesem Beispiel geht es um Folgendes:
- Monitor: Ein Übersicht, in welchem Raum noch ein Licht brennt bzw. wo ein Fester offen ist.
- Sonneneinstrahlung: Wie hat sich der Stand der Sonne und ihre Strahlungsstärke über die letzten drei Tage verändert?
- Zustand des Gartens: Wann war die automatische Bewässerung aktiv und wie oft ist der Rasenmäher-Roboter gefahren?
- Anwesenheit: Wann war in den letzten Tagen jemand zuhause bzw. wann war das Haus verlassen?
Diese Informationen sollten in einer Übersichtsseite inform von Diagrammen und Charts dargestellt werden. Die Blogbeiträge der letzten Monate zeigen, welche Sensoren und Aktoren für diese Informationen ausgewertet werden können. Dieser Beitrag beschreibt den Weg der Daten zum Online Dashboard.
Auswahl eines geeigneten Online-Dashboards: "Dash"
Bei der Analyse kam ich schnell zu dem Entschluß, die Software für die Visualisierung der Daten nicht selbst zu entwickeln, sondern lediglich die Daten aus meinem SmartHome System in einer geeigneten Form zur Verfügung zu stellen und danach einen möglichst kostenlosen Cloud-Dienst für die Visualisierung zu nutzen. Unter der Seite des T3N Magazins - Link - werden verschiedene Anbieter verglichen. Meine Wahl fiel schnell auf den Anbieter Dash, weil der Dienst zum Ersten für viele Anwendungsfälle kostenlos ist und zweitens weil die Integration der Rohdaten über deren API sehr einfach ist. Bei Dash kann man mehrere Dashboards anlegen mit jeweils mehreren sogenannten Widgets. Ein Widget ist dabei ein eigenes Anzeigefeld inform einer Anzeigeuhr, eines Liniendiagramms oder eines Informationsfeldes. Je nach Feldtyp werden die Daten als Tabelle (CSV: Comma Separated Values; im Prinzip eine Excel-Tabelle), als formatierte Zahl (z.B. Anzeigeuhr für Temperatur mit min/max-Werten) oder als JSON/HTML-Text (Tabellen, einfache Zählerangaben oder vollständige iframes) angeliefert. Dabei muss man die Daten nicht selbst in die Cloud laden, sondern der Dienst nutzt einen intelligenten Mechanismus zum rythmischen Polling, solange das Dashboard angezeigt wird.
Erzeugung der Rohdaten
Um ein eigenes Dashboard zu realisieren, muss man die Rohdaten zunächst über einen ressourcenschonenden Prozess aus den Logfile Dateien des Smart Home Systems herauslesen. Dort werden immerhin sämtliche Sensoren und Aktoren mit ihren Zustandswechseln sowie ausgeführte Regeln erfasst. Die Umwandlung in das Zielformal wie CSV erfolgt dabei in einer der Sache angemessenen Wiederholungsfrequenz. Die Außentemperatur vor dem Haus muss man maximal alle 10 Minuten aktualisieren, andere Daten vielleicht einmal am Tag und wiederum andere Daten zügiger. Jedenfalls liegen die Rohdaten für den Abruf durch das Dashboard kontinuierlich in ausreichender Aktualität vor und können über eine gesicherte URL vom Webserver im Smart Home System abgerufen werden.
Erstellen des Dashboards und positionieren der Widgets
Für die Anordnung und Konfiguration der Widgets bietet der Dienst Dash eine eigene Webmaske an. Dort konfiguriert man nur die URL der Rohdatenquelle, den Anzeigetitel, die Wiederholfrequenz und den Diagramm-Typ. Den Rest macht der Cloud-Dienst von alleine. Das Ergebnis kann man in Echtzeit als Vorschau verfolgen.
Abrufen des Dasboards über einen beliebigen Browser
Zur Anzeige reicht es, die spezifische URL zum eigenen Dashboard in einem Browser aufzurufen. Das kann über einen PC, ein Tablet und dem Smartphone erfolgen. Der Webdienst skaliert dabei die Seite im Vollbild so, dass der Anzeigebildschirm optimal ausgefüllt wird.
Im oben angezeigten Bild sind verschiedene Widget zu sehen:
- Die Anzeigeuhren zeigen die aktuellen Temperaturen im Innen- und Außenbereich
- Der Monitor signalisiert in einer tabellarischen Form die Zustände der Lichter und Fenster in den Räumen. So sieht man auf einen Blick, ob noch ein Licht brennt (gelb) oder ein Fenster offen ist (rot).
- Im Dreitage-Diagramm erkannt man den Verlauf der Sonne (Aufgang, Untergang, Starke der Sonneneinstrahlung sowie den Winkel der Sonne über dem Boden.
- Im Gartenverlauf sieht man die Aktivitäten des Rasenmäherboboters mit seinen Ladepausen sowie die Gartenbewässerung am Morgen.
- Der Anwesenheitsverlauf zeigt, welches Familienmitglied wann zuhause war.
Ergänzung
Im Jahr 2019 hat der Betreiber seinen Cloud Dienst eingestellt. Deshalb kann ich für mein hundhome das Dash nicht mehr verwenden. Weil es keinen vergleichbaren kostenlosen Dienst in dieser Qualität mehr gibt, habe ich mich entschieden, meine Dashboards auf dem eigenen Server zu betreiben mithilfe des google charts frameworks. Dazu gibt es ggf. demnächst einen eigenen Blogbeitrag.