Beispiel: OpenWB Visualisierung mit InfluxDB + Grafana

sledge
Beiträge: 53
Registriert: Di Okt 15, 2019 4:23 pm

Re: Beispiel: OpenWB Visualisierung mit InfluxDB + Grafana

Beitrag von sledge »

Da ich ebenfalls bereits eine größere Grafana-Installation betreibe (FHEM, Server-Monitoring, etc) habe ich mir heute mal "openWB + Grafana" vorgenommen.

Zunächst mal: Danke für die schöne Vorarbeit von truckl und hominidae, was die telegraf.conf bzw. das Aufhübschen der Dashboards angeht.

Wer schon eine grafana / influxdb-Kombination betreibt, der ist innerhalb von 3 Minuten durch. Lediglich die vorhandene telegraf.conf im mqtt-Bereich anpassen, die topics eingeben, restart und gut. In Grafana dann das Dashboard.json importieren, Antzahl der Ladepunkte ggf korrigieren und fertig.

Hat wunderbar geklappt.

Einziger Punkt der mir aufgefallen ist: Abonniert man zB das Topic "/openWB/lp/1/#" in dieser Form, gibt es beim Restart von telegraf zwei Fehlermeldungen, da die Topics

Code: Alles auswählen

/openWB/lp/1/TimeRemaining    
/openWB/lp/1/strChargePointName  
keine Zahlen zurückliefern.

Code: Alles auswählen

Jun 11 12:55:19 db-server telegraf[24300]: 2020-06-11T10:55:19Z I! [inputs.mqtt_consumer] Connected [tcp://openwb:1883]
Jun 11 12:55:19 db-server telegraf[24300]: 2020-06-11T10:55:19Z E! [inputs.mqtt_consumer] Error in plugin: strconv.ParseFloat: parsing "--": invalid syntax
Jun 11 12:55:19 db-server telegraf[24300]: 2020-06-11T10:55:19Z E! [inputs.mqtt_consumer] Error in plugin: strconv.ParseFloat: parsing "LP1": invalid syntax
Wer diese Fehlermeldungen beim Restart von telegraf vermeiden möchte, kann diesen Weg hier bechreiten: https://community.influxdata.com/t/mult ... er/8725/11

Ansonsten: Schönes Dashboard, schöne Vorarbeit. Danke dafür. Dann gleich mal die solcast-API anschauen ;-)

Gruß,
Tom
hominidae
Beiträge: 1407
Registriert: Di Sep 03, 2019 4:13 pm
Has thanked: 7 times
Been thanked: 8 times

Re: Beispiel: OpenWB Visualisierung mit InfluxDB + Grafana

Beitrag von hominidae »

Hi sledge,

danke für die Blumen und den Tipp mit telegraf.
Die beiden Topics sind wohl recht neu (in 1.8RC) und in der Tat Strings, was bisher wohl nicht vorkam...

Von mir noch der Hinweis, dass bei Nutzung vom Telegraf im Docker ein"-h <hostname>" in die Start-Parameter des Docker gehört, sonst wird die Container-ID verwendet und die ändert sich bei jedem Start...der hostname wird als Variable in den Dashboards verwendet und damit dann auch die Daten selektiert....führt sonst zu bösen Überraschungen. :lol:
hominidae
Beiträge: 1407
Registriert: Di Sep 03, 2019 4:13 pm
Has thanked: 7 times
Been thanked: 8 times

Re: Beispiel: OpenWB Visualisierung mit InfluxDB + Grafana

Beitrag von hominidae »

...nochmal ein Update.
In der openWB 1.8RC sind einige Energie-Zähler hinzugekommen...das aktuelle telegraf setup speist diese automagisch ein.

Bild

Achtung: ich habe aber auch die host-variable in den dashboards entfernt, brauche ich für (m)ein kleines setup nicht.

hier das Grafana-Json dazu:
OpenWB-grafana-JSON_hominidae-v1.01.txt
(150.02 KiB) 559-mal heruntergeladen
Benutzeravatar
unlight
Beiträge: 70
Registriert: Mi Jul 08, 2020 6:46 pm

Re: Beispiel: OpenWB Visualisierung mit InfluxDB + Grafana

Beitrag von unlight »

Moin,

Frage an die Grafana Poweruser:
Gibt es eine Möglichkeit das Verhältnis von PV-Anteil beim Laden zu visualisieren bzw. prozentual auszuwerten?
Einfach gesagt, wieviel der Ladekurve war alleine PV und wann wurde wieviel fremdbezogen?
Bis jetzt habe ich es nicht hinbekommen ein Integral vom anderen abzuziehen oder ein prozentuales Verhältnis daraus zu berechnen, mein
momentaner Workaround besteht darin, das ich die Werte vorberechne ( meine Daten kommen aufgrund des Haussetups über die Influxapi )
und dann gestacked darstellen will. Eine einfachere Lösung wäre da ganz nett.

Gruß und schönes WE
Unlight
ftd
Beiträge: 69
Registriert: Mo Feb 10, 2020 11:30 am

Re: Beispiel: OpenWB Visualisierung mit InfluxDB + Grafana

Beitrag von ftd »

unlight hat geschrieben: So Sep 20, 2020 8:18 am und dann gestacked darstellen will. Eine einfachere Lösung wäre da ganz nett.
Sowas?

Stacked.jpg

Wenn ja:

Query 1:
SELECT non_negative_difference(last(cumulative_sum))FROM ( SELECT cumulative_sum(non_negative_difference(last("value"))) FROM "AlleinePV" WHERE $timeFilter GROUP BY time(5m) ) WHERE $timeFilter GROUP BY time(24h) tz('Europe/Berlin')

Query 2:
SELECT non_negative_difference(last(cumulative_sum))FROM ( SELECT cumulative_sum(non_negative_difference(last("value"))) FROM "Fremdbezogen" WHERE $timeFilter GROUP BY time(5m) ) WHERE $timeFilter GROUP BY time(24h) tz('Europe/Berlin')
Benutzeravatar
unlight
Beiträge: 70
Registriert: Mi Jul 08, 2020 6:46 pm

Re: Beispiel: OpenWB Visualisierung mit InfluxDB + Grafana

Beitrag von unlight »

Jein, du hast doch scheinbar auch schon vorkalkulierte Werte, in meiner Naivität habe ich mir vorgestellt das die Query ungefähr so aussähe:

Nimm Ladeleistung und ziehe davon den Netzbezug ab, stelle das in einem Graph aufgeteilt dar und berechne außerdem wieviel Prozent der Ladeleistung
aus Netzbezug besteht, und dann gib mir noch die Möglichkeit das ganze auf verschiedene Zeitabschnitte zu berechnen.

Momentan habe ich vor für die Ladeleistung und das prozentuale Verhältnis nur Werte zu schreiben wenn wirklich geladen wird weil ich nicht weiß ob ansonsten die 0 Werte bei der Langzeitbetrachtung Streß machen, da erscheint mir "no data" sinniger.
Bin aber erst ein paar Tage an Grafana dran und deshalb absoluter Newb.

Hab ja noch etwas Zeit bis das Auto kommt!

Gruß
Unlight
ftd
Beiträge: 69
Registriert: Mo Feb 10, 2020 11:30 am

Re: Beispiel: OpenWB Visualisierung mit InfluxDB + Grafana

Beitrag von ftd »

unlight hat geschrieben: So Sep 20, 2020 12:32 pm Nimm Ladeleistung und ziehe davon den Netzbezug ab, stelle das in einem Graph aufgeteilt dar
Ja, musst du oben über "Transform" ein neues Feld definieren.

Add.jpg
Add.jpg (3.46 KiB) 10858 mal betrachtet

und berechne außerdem wieviel Prozent der Ladeleistung
Das dann über "math"

Math.jpg
Math.jpg (2.71 KiB) 10858 mal betrachtet
das ganze auf verschiedene Zeitabschnitte zu berechnen.
Dafür brauchst du dann 2 Panels... weil immer nur ein Zeitbezug pro Graph (oder gestapelte Säulen) gewählt werden kann. Oder du schaltest es oben rechts um:

Timerange.jpg
Momentan habe ich vor für die Ladeleistung und das prozentuale Verhältnis nur Werte zu schreiben wenn wirklich geladen wird weil ich nicht weiß ob ansonsten die 0 Werte bei der Langzeitbetrachtung Streß machen, da erscheint mir "no data" sinniger
Meine Meinung: "no data"" ist nicht richtig. Ladeleistung ist 0, wenn nicht geladen wird. Genauso ist PV = 0 wenn keine Sonne scheint. Wenn dich die Nullen stören, kannst du die jeder Zeit auch "nicht darstellen". Performancetechnisch macht es keinen Unterschied, ob du 0 oder einen Wert in die Datenbank schreibst. Dafür ist Influx gemacht. Viele Daten in sehr kurzen Zeitabständen. Nullen in Graphen kannst du umgehen mit "fill (previous)"... dann hast du unten eine Linie.

Meine weitere Meinung: Schreib alles in die Datenbank, was du hast. Je mehr Daten, desto mehr kannst du damit anfangen. Schlimm ist, wenn irgendwas fehlt und dann merkst du, "oh... wäre schön gewesen, wenn ich die Daten jetzt hätte".
Benutzeravatar
unlight
Beiträge: 70
Registriert: Mi Jul 08, 2020 6:46 pm

Re: Beispiel: OpenWB Visualisierung mit InfluxDB + Grafana

Beitrag von unlight »

Ui, da muß ich noch ne Menge lernen!
ftd hat geschrieben: So Sep 20, 2020 3:27 pm Meine Meinung: "no data"" ist nicht richtig. Ladeleistung ist 0, wenn nicht geladen wird.
Das mag ja stimmen, ich dachte nur das evtl der Durchschnitt dadurch verfälscht wird; Beispiel:
1 Stunde am Tag mit 100% PV geladen, den Rest des Tages abgestöpselt. Wenn jetzt 23 Stunden lang 0% geloggt wird,
wäre dann nicht der Tagesdurchschnitt ~4% PV Ladung? Wenn 23 Stunden "no data geloggt" wird und 1 Stunde 100% PV hätte ich
vermutet das der Durchschnitt dann 100% PV Ladung ergibt.
Aber wie gesagt: "Newb"; ich lerne noch!

Danke für die ausführlichen Tips!

Schönen Abend,
Unlight
bluppdiwupp
Beiträge: 32
Registriert: Mi Okt 07, 2020 9:41 pm

Re: Beispiel: OpenWB Visualisierung mit InfluxDB + Grafana

Beitrag von bluppdiwupp »

Ich versuche schon ein paar Tage, die Anleitung zum laufen zu bringen... leider noch ohne Erfolg.

Ist es zwingend notwendig, den RASPI der openWB anzupassen?

Dies wollte ich eigentlich vermeiden.
Bei der Installation auf einem 2. RASPI erhalte ich keine Rückmeldung in der /var/log/telegraf/telegraf.log. Nicht mal die Datei wird angelegt.

Gibt es Änderungen mit der neuen MQTT Anpassung mit der neuen Nighly Version?
Benutzeravatar
unlight
Beiträge: 70
Registriert: Mi Jul 08, 2020 6:46 pm

Re: Beispiel: OpenWB Visualisierung mit InfluxDB + Grafana

Beitrag von unlight »

Da bin ich raus, ich habe Grafana, Influx und telegraf einzeln als Docker auf einer synology laufen.
Antworten