Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad

Wie kann ich die Daten der Geräte grafisch darstellen? Fragen, Beispiele und Antworten zu InfluxDB und Grafana
Catspin20
Beiträge: 7
Registriert: Sa 25. Apr 2020, 18:15

Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad

Beitrag von Catspin20 »

Hallo miteinander,

ich habe die vergangenen Regentage im Rhein-Main-Gebiet genutzt und mir die Solaranzeige-Software installiert, da ich mit den von Kostal bereitgestellten Möglichkeiten nicht zufrieden bin.

Ich bin gerade dabei mir in Grafana ein Dashboard zusammenzustellen und frage mich, ob ich Tomaten auf den Augen habe. Für den gesamten am Tag produzierten Strom gibt es ja das Feld unter Summen „wh_heute“. Für die Einspeisung und den Gesamtverbrauch (PV+Netz+Batterie) würden mich auch die jeweiligen Gesamtwerte eines Tages interessieren. Gibt es dafür genauso ein Feld und ich habe einfach Tomaten auf den Augen oder muss ich da selbst eine Formel eingeben?

Ebenso würde ich mir gerne den Autarkiegrad anzeigen lassen. Auf einem Blatt Papier ist mir klar wie ich das ausrechne, aber in Grafana habe ich leider keine Ahnung. Hat auch hier jemand einen Tipp? Über die Suchfunktion hier im Forum bin ich auf nachfolgenden Beitrag gestoßen, der mir aber leider nicht weiterhilft: viewtopic.php?f=18&t=641&p=2583&hilit=autarkie#p2583

Viele Grüße

Thomas

moving
Beiträge: 88
Registriert: Di 25. Feb 2020, 23:00

Re: Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad

Beitrag von moving »

Hallo Thomas,

ich kopiere dir mal meine Abfragen raus, evtl. hilft Dir das ja was, ich lasse mir damit immer die letzten 30 Tage anzeigen.
Die Variablen benennen sich etwas anders als im php skript sollte man aber hinkriegen.
Einspeisung

Code: Alles auswählen

SELECT (sum("Inverter Generation Power (current)") - (sum("Hausverbrauch aus PV W")+ sum("Hausverbrauch aus Netz W")+sum("Hausverbrauch aus Batterie W"))) /1000 /60   FROM "Solar" WHERE $timeFilter  and "Inverter Generation Power (current)"- ("Hausverbrauch aus PV W"+"Hausverbrauch aus Netz W" +"Hausverbrauch aus Batterie W") >0   GROUP BY time(1d) fill(null)
Autarkie

Code: Alles auswählen

SELECT (sum("Inverter Generation Power (current)") - (sum("Hausverbrauch aus PV W")+ sum("Hausverbrauch aus Netz W")+sum("Hausverbrauch aus Batterie W"))) /1000 /60   FROM "Solar" WHERE  "Inverter Generation Power (current)"- ("Hausverbrauch aus PV W"+"Hausverbrauch aus Netz W" +"Hausverbrauch aus Batterie W") >0   GROUP BY time(1d) fill(null)
Eigenverbrauch

Code: Alles auswählen

SELECT (sum("Inverter Generation Power (current)") - (sum("Hausverbrauch aus PV W")+ sum("Hausverbrauch aus Netz W")+sum("Hausverbrauch aus Batterie W"))) /1000 /60   FROM "Solar" WHERE  "Inverter Generation Power (current)"- ("Hausverbrauch aus PV W"+"Hausverbrauch aus Netz W" +"Hausverbrauch aus Batterie W") >0   GROUP BY time(1d) fill(null)

Unten im Bild siehst du die Anzeigen sind nur noch nicht gefüllt weil ich gestern auf einem Vserver neu aufgesetzt habe.
kostal2.PNG

Catspin20
Beiträge: 7
Registriert: Sa 25. Apr 2020, 18:15

Re: Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad

Beitrag von Catspin20 »

Moin moin!

Vielen Dank für deine schnelle Antwort und deine Code-Zeilen.

Ich habe mir in meiner Naivität gedacht, dass ich deinen Code über den Texteditor im Bereich von Grafana, wo ich die Abfrageparameter einstelle, eingebe und dann die Variablen (z.B. von Dir „Inverter Generation Power“ an meine Variablenbenennung anpasse). Ich kann zwar deinen Code im Editorfenster einfügen und auch die Variablen umbennen aber sobald ich das Editorfenster verlasse ist nichts abgespeichert und alles wieder auf Null/Anfang gesetzt. Was habe ich hier übersehen? Bzw. wie stelle ich es ein, dass ich wenn ich die GUI benutze in der Zeile bei „FROM“ oder „SELECT“ mehrere Quellen auswählen/angeben kann? Denn wenn ich deinen Code richtig verstehe müsste doch praktisch nichts anderes über die GUI zusammengeklickt werden, oder?

Du siehst mir fehlt Basiswissen :-( Damit das Rad nicht jedes mal neu erfunden werden muss ... wenn Du ein paar Schlagworte für mich hast, die mich in der Grafana Hilfe weiterbringen, sodass ich dann deinen Code reinbekomme oder über die GUI mehrere Quellen auswählen kann, sodass ich es mir über die GUI zusammenklicken kann wäre mir auch geholfen ...
Momentan stehe ich leider wie der Ochs vorm Berg und weiß nicht über welchen Weg, mit welchen Schlagworten ich mir das passende Wissen anlesen/aneignen kann, um weiter zu kommen.

Viele Grüße

Thomas

moving
Beiträge: 88
Registriert: Di 25. Feb 2020, 23:00

Re: Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad

Beitrag von moving »

MMhhh ich hoffe ich verstehe was du meinst.
Wenn du da wo du die Variablen zusammenklicken kannst auf den Stift klickst öffnet sich ja ein Textfenster.
Dort die Sachen reinkopieren und nicht wieder den Stift drücken sonst wird es von der GUI wie du sie nennst überschrieben.

Was ich Dir anbieten kann wenn du nicht weiterkommst, ich kann Dir z.B. mit Teamviewer mal ein Teil machen damit du siehst wie es geht.

Gruß
Heinz

Catspin20
Beiträge: 7
Registriert: Sa 25. Apr 2020, 18:15

Re: Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad

Beitrag von Catspin20 »

Hallo Heinz,

ja genau so wie Du es beschreibst verhält es sich bei mir.
Wenn ich danach nicht wieder den Stift drücken soll, damit es nicht von der GUI überschrieben wird, wie bleiben denn dann die Sachen im Textfenster drin?

Ich habe den ersten von Dir zur Verfügung gestellten Code für „Einspeisung“ mal derart geändert, dass es mit der Benennung bei mir passen müsste.

Code: Alles auswählen

SELECT (sum("Gesamtleistung (current)" FROM "PV") - (sum("Verbrauch_PV") FROM "AC" + sum("Verbrauch_Netz") FROM "AC" +sum("Verbrauch_Batterie")FROM "AC")) /1000 /60 WHERE $timeFilter  and "Gesamtleistung (current)" FROM "PV" - ("Verbrauch_PV"+"Verbrauch_Netz" + "Verbrauch_Batterie") FROM "AC" >0   GROUP BY time(1d) fill(null)
Bekomme aber nur „No Data“ und unter einem roten Ausrufezeichen folgende Fehlermeldung ausgespuckt: „error parsing query: found FROM, expected ) at line 1, char 40“

Wenn ich die in der Codezeile erwähnten „Gesamtleistung“, „Verbrauch_PV“, etc. jeweils einzeln unter SELECT und dann Field auswähle bekomme ich immer einen schönen Graph angezeigt. Aber in Kombination mit verschiedenen Feldern und/oder unterschiedliche FROMs (nämlich AC und PV) klappt's nicht.

Sonnige Grüße

Thomas

moving
Beiträge: 88
Registriert: Di 25. Feb 2020, 23:00

Re: Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad

Beitrag von moving »

SELECT (sum("Inverter Generation Power (current)") - <- meine Version

SELECT (sum("Gesamtleistung (current)" FROM "PV") - <- deine Version

das From nur am Ende :D

Du brauchst das allerdings aus verschiedenen Quellen was mit meiner Version nicht so geht, ich bastel dir wenn ich dazu komme heute Abend mal einen Abfragestring zusammen der funktionieren müsste.

PS:
Ich habe mal hier aus dem Forum geklaut probiere das mal so

Code: Alles auswählen

SELECT  100 - mean(value_2) / (mean(value) + mean(value_1))*100 as Hausverbrauch from (SELECT sum("Leistung") / 60/ 1000 AS "value" FROM solaranzeige..AC WHERE $timeFilter), (SELECT sum("Leistung")/ 60/ 1000 AS "value_1" FROM solaranzeige2..AC WHERE $timeFilter), (SELECT sum("Leistung_neg")/ 60/ 1000 AS "value_2" FROM smartmeter..AC WHERE $timeFilter) GROUP BY time(1d) fill(null)
Nur mal als Beispiel der richtige Syntax

Catspin20
Beiträge: 7
Registriert: Sa 25. Apr 2020, 18:15

Re: Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad

Beitrag von Catspin20 »

Hallo Heinz,

ja genau, da ich es aus verschiedenen Quellen brauche hatte ich es noch mal hinter die Klammer gesetzt. Ich habe keine Idee wie ich die verschiedenen Quellen abfragen kann/soll wenn ich nur ein FROM am Ende niederschreiben darf. :-(

Mit dem von Dir neu geposteten Code klappt es leider auch nicht. Bekomme wieder „No Data“ und unter dem roten Ausrufezeichen wieder die Fehlermeldung ausgespuckt: „error parsing query: found FROM, expected ) at line 1, char 40“
Char 40 ist genau das FROM.

Viele Grüße

Thomas

moving
Beiträge: 88
Registriert: Di 25. Feb 2020, 23:00

Re: Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad

Beitrag von moving »

Hallo Thomas,
ich kann den geposteten nicht nachvollziehen weil ich nur eine Quelle habe, ich habe jetzt bei mir mal einen einfachen eingegeben um dir das Prinzip klar zu machen der läuft bei mir einwandfrei durch.

SELECT mean(Val1) + mean(Val2) as Test from (select sum("Hausverbrauch aus Netz W") as Val1 FROM "Solar" WHERE $timeFilter), (select sum("Hausverbrauch aus PV W") as Val2 FROM "Solar" WHERE $timeFilter ) GROUP BY time($__interval) fill(null)


kopier den doch mal und ändere nur die zwei Variablennamen ab + natürlich datenbanknamen bei mir Solar, wenn das nicht geht bin ich auch erstmal ratlos ich habe nur eine quelle.

Catspin20
Beiträge: 7
Registriert: Sa 25. Apr 2020, 18:15

Re: Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad

Beitrag von Catspin20 »

Moin Heinz!

Der von Dir gepostete Code funktioniert auch bei mir mit abgeänderten Variablen einwandfrei. :-)

Daraufhin habe ich mich mal an dem Code für die Aufsummierung der Tageseinspeisung probiert:

Code: Alles auswählen

SELECT last(Val1) - (mean(Val2) + mean(Val3) + mean(Val4))  as Test from (select last("Wh_Heute") as Val1 FROM "Summen" WHERE $timeFilter), (select sum("Verbrauch_PV") as Val2 FROM "AC" WHERE $timeFilter), (select sum("Verbrauch_Netz") as Val3 FROM "AC" WHERE $timeFilter), (select sum("Verbrauch_Batterie") as Val4 FROM "AC" WHERE $timeFilter) GROUP BY time($__interval) fill(null)
Es kommt zwar keine Fehlermeldung in Form von „No Data“ und das rote Ausrufezeichen ist auch nicht da ... Nichtsdestotrotz bleibt das Panel in Grafana leer/blank: Es wird kein Tageswert für die Einspeisung dargestellt.

Als Code für die Aufsummierung des Tagesverbrauchs hatte ich mir folgendes gedacht:

Code: Alles auswählen

SELECT last(Val1) + last(Val2) + last(Val3) as Test from (select last("Verbrauch_PV") as Val1 FROM "AC" WHERE $timeFilter), (select last("Verbrauch_Netz") as Val2 FROM "AC" WHERE $timeFilter ), (select last("Verbrauch_Batterie") as Val3 FROM "AC" WHERE $timeFilter ) GROUP BY time($__interval) fill(null)
Hier wird mir ein Graph über den Tagesverlauf angezeigt. Wenn ich im Code dann noch „1d“ bei „time($__interval)“ eintrage bekomme ich einen dicken Block, der von Mitternacht bis 08 Uhr morgens reicht, aber nur 120 Watt zeigt.
Eigentlich müsste ich es mir mit den drei Verbrauchswerten auch nicht so kompliziert machen ... Denn es gibt ja noch das generelle Feld „Verbrauch“ und ich vermute, dass hier im “Hintergrund“ bereits der Verbrauch aus PV+Netz+Batterie zusammenaddiert werden. Dieser Wert „Verbrauch“ lässt sich auch wunderbar im Tagesverlauf darstellen aber ich bekomme es nicht hin, dass mir z.B. für den 07. Mai für den gesamten Tag der Verbrauch aufaddiert wird. Bzw. bin ich mittlerweile so durch den Wind, dass ich mich mit dem Verbrauch beschäftige anstatt mit dem Eigenverbrauch, was ich ja eigentlich wollte ... :-/

Sonnige Grüße

Thomas

Catspin20
Beiträge: 7
Registriert: Sa 25. Apr 2020, 18:15

Re: Grafana: Tagessumme Einspeisung/Verbrauch und Autarkiegrad

Beitrag von Catspin20 »

Hallo Heinz,

wie im angehängten Bildschirmfoto habe ich versucht mir die Tagessummen von der Produktion der PV-Anlage, den Verbrauch, die Einspeisung und den Netzbezug darzustellen.

Diese stimmen jedoch nicht mit den Werten überein, die ich gezeigt bekomme, wenn ich mich auf den Wechselrichter (Kostal Plenticore 5.5) einlogge. Auch die von mir selbst erstellte Tagessumme der Produktion stimmt nicht mit der bereits vorgefertigten Tagessumme der Solaranzeige überein. Wenn ich es richtig verstanden habe, wird die Tagessumme der Solaranzeige sozuagen irgendwo im Hintergrund über ein Skript berechnet (stimmt bis auf wenige Ausnahmen bei denen eine Abweichung von 1 % im Vergleich zum Wechselrichter herrscht mit diesem überein).

Hast Du noch eine Idee was ich machen kann, dass ich die Tagessummen korrekt angezeigt bekomme? In meiner Naivität dachte ich mir, dass praktisch einfach nur alle Messwerte eines Tages in der jeweligen Kategorie (Produktion, Einspeisung, Netzbezug) aufaddiert werden müssen. Wie ich das allerdings zusammenklicke über die GUI bzw. als Codezeile schreiben muss habe ich leider keine Ahnung und alles rumklicken/zusammenklicken über die GUI verlief ergebnislos.

Viele Grüße

Thomas
Solaranzeige-Tagessummen.jpg

Antworten