smarthome-tricks.de

7.3 – iobroker, InfluxDB Cloud und Grafana Cloud – Einfaches Dashboard erstellen

In diesem Teil der Grafana Cloud Artikelreihe zeige ich Dir wie Du ein einfaches Dashboard in Verbindung mit ioBroker erstellen kannst.

In den letzten Artikeln haben wir gemeinsam die InfluxDB Cloud-Datenbank inkl. der ioBroker-Integration sowie den Grafana-Account eingerichtet. Falls Du diese Schritte noch nicht getan hast, schau Dir bitte zunächst Artikel 7.1 und 7.2 an. In diesem Artikel werden wir nun ein kleines Dashboard anlegen, auf dem wir die zuvor aufgezeichnete Außentemperatur darstellen.

Melde Dich dazu an der Grafana Cloud an und klicke links im Menü auf die Plus-Schaltfläche. Im Untermenü kannst Du dann den Eintrag Dashboard wählen.

Im nächsten Schritt erzeugen wir auf dem Dashboard ein neues Panel. In diesem Panel werden wir nun den Temperaturverlauf unserer Außentemperatur darstellen.

Für die Darstellung der getrackten Werte müssen wir im ersten Schritt die Data-Source auf InfluxDB umstellen.

Wir benötigen nun die Query-Definition für das Panel. Dazu habe ich parallel die InfluxDB Cloud geöffnet und im Data Explorer über den Script Editor den getrackten Datenpunkt ausgewählt. Klicke dann ganz rechts auf den Script Editor um Flux-Query Definition anzuzeigen. Zu diesem Thema werde ich einen weiteren Artikel erstellen und zusätzliche Beispiele zur Verfügung stellen.

In meinem Beispiel habe ich folgende Flux-Definition. Im Script wird zunächst über die from-Definition das entsprechende Bucket gewählt. In unserem Beispiel ist das in Artikel 7.1 erstellte Bucket „iobroker“. Im nächsten Schritt wird die Range, sprich der Zeitraum sowie ein Filter auf den Namen des Messwertes sowie auf das Value des Messwertes definiert.

from(bucket: "iobroker")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "linkeddevices.0.Aussen.temperatur")
  |> filter(fn: (r) => r["_field"] == "value")
  |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
  |> yield(name: "mean")

Die oben gezeigte Query-Definition habe ich dann im Panel in die Query übernommen. Dann sollten wir hier auch schon die Darstellung des Temperaturverlaufs sehen.

Im nächsten Schritt habe ich dann noch einen Titel für das erstellte Panel hinterlegt.

Wir können die Änderungen am Dashboard jetzt speichern und somit unseren Stand sichern.

Das Dashboard sollte jetzt wie folgt aussehen.

Neben dem Temperaturverlauf möchte ich zudem noch die aktuelle Außentemperatur in einem weiteren Panel darstellen. Dazu klicken wir oben im Menü auf die Plus-Schaltfläche und wählen dann, wie im nächsten Screenshot dargestellt, die Schaltfläche „Add a new panel“.

Für die Darstellung der aktuellen Temperatur wählen wir nun in der Liste der Visualizations den Eintrag „Stat“.

Die Data-Source des Panels habe ich dann wie im ersten Panel auf InfluxDB gestellt. Als Query habe ich hier die selbe Definition übernommen.

Das Dashboard sollte nun wie folgt dargestellt werden. Wir sehen im linken Panel den Verlauf der Außentemperatur. Den Betrachtungszeitraum können wir einfach über die Auswahl im Menü treffen. Im rechten Panel wird die aktuelle Temperatur dargestellt.

Im nächsten Schritt habe ich dann das Dashboard gespeichert und hier noch einen Namen für das Dashboard vergeben.

Ich hoffe Dir gefällt der Artikel. Über Kommentare, Anregungen oder Ideen freue ich mich wie immer.

Die mobile Version verlassen