Wir verwenden Cookies um Ihr Benutzer-Erlebnis zu verbessern. Ich bin einverstanden Ich bin nicht einverstanden

Grafana und InfluxDB zur Auswertung statistischer Daten im SmartHome

Geschrieben von Christian Becker in der Kategorie SmartHome


am


mit der Schlagworte , , , , ,



In einem typischen SmartHome Setup fallen eine Vielzahl an statistischen Daten an. Dazu gehören vor allem Informationen, welche sich im Tagesverlauf permanent ändern, wie bspw. Temperatur, Luftfeuchtigkeit, Helligkeit und viele andere mehr.

Mit den Boardmitteln von OpenHAB lassen sich diese Informationen nur schwer visualisieren und auswerten.

 

Ansicht der Daten in der OpenHAB App
Anzeige der Daten in der OpenHAB iPhone App. Visualisiert mit RRD4J

 

Zudem ist bei Verwendung von RRD4J keine Langzeitbetrachtung möglich, da die Daten stärker (verlustbehaftet) komprimiert werden, je älter sie sind. Folglich muss eine Persistenz her, welche mit solchen Datenmengen umgehen kann.

Hierfür bietet sich InfluxDB an. InfluxDB wurde mit dem Ziel entwickelt, sogenannte Time Series Data effizient zu speichern und performant abzurufen. Eine Anbindung an OpenHAB ist dank des InfluxDB Persistence Plugins kinderleicht.

In einer ersten Version habe ich InfluxDB auf einem Server im Internet betrieben. Das hat sich als keine gute Idee herausgestellt, da bei Störung der Internetanbindung nicht nur keine Daten übermittelt werden konnten, sondern OpenHAB teilweise vollständig den Dienst verweigert hat. Um beiden Problemen zu begegnen habe ich meinem Raspberry Pi ein PiDrive spendiert und betreibe InfluxDB nun direkt auf dem Pi. Einzige Einschränkung hierbei: Man sollte aufpassen, keine Queries zu stellen, welche „alle“ TimeSeries über einen größeren Zeitraum liefern sollen. Das überlastet den Pi derart, dass er den Dienst verweigert.

Hat man seine Daten nun in InfluxDB gespeichert, braucht man einen Weg, um diese wieder heraus zu bekommen. Dies lässt sich sehr einfach mit Grafana realisieren. Grafana ist eine Webanwendung, welche dir ein Dashboard zum visualisieren vieler Daten bereitstellt. Mit wenigen Klicks lassen sich Queries erstellen, welche dann in einer schönen Grafik münden. Diese Dashboards lassen sich speichern und so für Analyse oder auch reine Visualisierungszwecke nutzen.

Ansicht der Daten in Grafana
Ansicht der Daten in Grafana

 

Das Erstellen von Queries ist dabei sehr einfach. Man muss nicht einmal die Querysprache von InfluxDB erlernen, sondern kann sich seine Anfrage zusammen klicken.

So sieht die Quere in Grafana aus
Aufbaue einer Query in Grafana

 

Darstellung aggregierter Daten in einem Balkendiagramm
Darstellung aggregierter Daten in einem Balkendiagramm

 

Kommentieren