NEWS
Grafana - Auswertung Strom aus Netz gezogen
-
Ich weiß nicht, wie und wo ich ansetzen muss, um den geamten Stromverbrauch aus dem Netz am Tag anzeigen zu lassen. Das einzige, was ich hinbekommen habe, ist der momentane Verbrauch. Im ioBroker habe ich da auch keine Möglichkeit gesehen.
Danke für einen Tipp.
-
@slowman welche Datenpunkte stehen denn zur Verfügung?
-
Folgende Punkte stehen zur Verfügung, ich denke mal, das muss man bestimmt über eine Formel machen:
-
@slowman du hast doch Gesamt in kwh.
Guck dir mal das an https://youtu.be/BpLTo7ohqEU -
Wird
zum Tageswechsel genullt? -
Ja wird genullt. Ich bekomme ja eine Gesamtausgabe 24h, aber nicht, was ich bis jetzt verbraucht habe am Tag.
-
@slowman wie oben schon geschrieben, den Gesamtzähler nehmen
im edit modeSELECT difference(last("value")) FROM "deinDP-Gesamtverbrauch" WHERE $timeFilter GROUP BY time(1d) fill(previous)
-
Danke, ich glaube, ich hatte einen Fehler drin. Der Pregardcounter ist der Tagesbedarf aus dem Netz und der Pregard ist die aktuelle gezogene Energie oder?
Aber warum steht dann bei Pregardcounter kwh? Na mal schauen, komisch ist, das ich bei der Tagesauswertung "irgendwelche" Wattzahlen bekommen habe.
-
@slowman sagte in Grafana - Auswertung Strom aus Netz gezogen:
Aber warum steht dann bei Pregardcounter kwh?
ich nehme an, das dieser der Gesamtzähler ist, im Gegensatz zum "pregard" dein momentaner Verbrauch in Watt
wie ich sehe gibt es ja auch noch einen "Gesamtzähler" "psurpluscounter", allerdings kenne ich den sma-em nicht, daher weiss ich nicht welcher Zähler für was genau steht
-
Ja, sehe ich auch so das der pregard der momentane Verbrauch aus dem Netz ist. Komisch ist nur, dass es in der Tabelle summiert wird (ob es der richtige Verbauchswert ist hmm...).
Aktuelle Tabelle, sagt mir für heute bisheriger Verbauch 433W an, was eigentlich nicht stimmen kann, da ich ein Ruhestrom von 300-400W in der Stunde habe.
Ich traue mich meinen SMA Tripower zu updaten , dann könnte ich alles über Modbus auslesen.
-
@slowman said in Grafana - Auswertung Strom aus Netz gezogen:
Ja, sehe ich auch so das der pregard der momentane Verbrauch aus dem Netz ist. Komisch ist nur, dass es in der Tabelle summiert wird (ob es der richtige Verbauchswert ist hmm...).
Aktuelle Tabelle, sagt mir für heute bisheriger Verbauch 433W an, was eigentlich nicht stimmen kann, da ich ein Ruhestrom von 300-400W in der Stunde habe.
Ich traue mich meinen SMA Tripower zu updaten , dann könnte ich alles über Modbus auslesen.
Soweit ich weiß zeigt dir der SMA-EM lediglich die aktuellen Werte an. Also entweder was wird eingespeist (Wirkleistung -) oder was wird aus dem Netz bezogen (Wirkleistung +).
Der Speedwire Adapter sollte dir aber zur gleichen Zeit doch den produzierten Strom anzeigen.Mit diesen Werten kannst du dir doch per Blockly den aktuellen Verbrauch ausrechnen, in einen DP schreiben und den in die influxdb schieben.
So sieht es jetzt bei mir gerade aus:
Heißt also 669 W Verbrauch insgesamt, da zur gleichen Zeit die PV-Erzeugung 0 ist.
Erzeugt deine PV bspw. 1000 Watt, aber laut SMA-EM werden nur 500 Watt eingespeist, so verbrauchst du 500 Watt, etc.Oder denke ich hier zu einfach?
btw. über Modbus bekommst du auch nur den aktuell produzierten Strom. Der WR weiß nichts vom verbrauchten Strom:
-
Kannst du mir bitte den Blockly zur Verfügung stellen, muss ja auch irgendwie ein DP erzeugt werden. Hast du das auch von dem bis jetzt verbrauchten Strom aus Netz?
Aktuellen Netzbezug habe ich
-
@slowman Ich nutze influxdb und grafana nicht. Meine Anzeigen sind aus lovelace und zeigen nur die momentanen Werte an. Deswegen habe ich auch kein Blockly für deinen Anwendungsfall.
Die Frage ist ja, wie genau du das haben möchtest. Der SMA-EM zeigt dir den aktuellen Verbrauch pro Stunde an. Möchtest du den genauen verbrauchten Strom haben, so musst du den Wert nicht nur bei jeder Änderung, sondern periodisch sichern.Wie gesagt, ist aber nur der momentane Verbrauch.
Über Blockly (keine Ahung ob und wie das mit influxdb geht) würde ich periodisch den Gesamtverbrauch pro Minute in eine Liste mit 60 Einträgen schreiben. Danach die Summe bilden und durch 60 teilen. Den Wert dann initial in einen manuell angelegten DP.
Beim nächsten Durchlauf jeweils das Ergebnis auf den bereits im DP vorhanden Wert addieren.Evtl. lässt sich das auch über den History Adapter einfacher lösen.
Evtl. hilft auch das Skript: https://www.smarthomejetzt.de/script-fuer-die-berechnung-von-stunden-tages-wochen-monats-und-jahresverbraeuchen/
-
@slowman Hi, hab es jetzt doch mal im Ansatz umgesetzt.
So sieht es jetzt bei mir zur Zeit aus:
Ich erzeuge jeweils eine Liste mit 60 Einträgen und errechne dann den Durchschnitt pro Minute; einmal für den aktuellen Verbrauch und einmal für den aktuellen Bezug bzw. Überschuss.
Für dich sollte ja nur die erste Liste interessant sein.
Die Idee dahinter ist die Werte zu glätten, da ständig Ausreißer dabei sind; zumindest bei mir.Und dann sollte das hier doch eigentlich passen: https://www.smarthome-tricks.de/grafana/5-2-grafana-dashboard-fuer-den-stromzaehler/
Willst du eigentlich den reinen Verbrauch (unabhängig von erzeugter bzw. selbst verbrauchter Energie) sehen oder nur den Netzbezug?
-
Schön wäre es, wenn man einmal für PV Bezug und einmal für Netzbezug hätte. Aber da habe ich keinen Schimmer, wie und was.
-
@slowman said in Grafana - Auswertung Strom aus Netz gezogen:
Schön wäre es, wenn man einmal für PV Bezug und einmal für Netzbezug hätte. Aber da habe ich keinen Schimmer, wie und was.
Na dann lass uns doch mal Stück für Stück an die Sache rangehen.
Da du mich jetzt angefixt hast, sieht es momentan bei mir so aus:
Allerdings funktioniert es bei mir noch nicht, dass der Strom addiert wird.
Aber zurück zu deinem Ansatz.
Netzbezug und PV-Bezug ist ja recht simpel.
Netzbezug hast du bereits im SMA-EM Datenpunkt Wirkleistung +. Der Wert dort zeigt stets was gerade aus dem Netz bezogen wird.
PV-Bezug, also wie viel du von der gerade produzierten Energie verbrauchst ist PV-Erzeugung - Überschuss (Datenpunkt Wirkleistung -).
Leg dir mal im Ordner "Userdata" einen Datenpunkt "PV_Bezug" an.In Blockly erstellst du ein neues Script:
<xml xmlns="https://developers.google.com/blockly/xml"> <block type="on" id="f4=OE04)cJmN$axmvu(`" x="113" y="113"> <field name="OID">modbus.0.inputRegisters.3.30775_PVLeistung</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="GS.C6n)$P]N0,rjKK:%p"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="*c:*IsE-`=@G0l/LWavi"> <field name="OP">GTE</field> <value name="A"> <block type="on_source" id="),f;{KiEs{7!f74H7E`A"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="l@8c|Ywq}#~R@3@D;)9y"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="A92HJ9sYhWb{OX^|GAV2"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="muLn=LvcJb3YQLhr5pP4"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="qlYhnVz9R#,s!)o2W2H3"> <field name="NUM">1</field> </shadow> <block type="on_source" id="i8r,Aey)l?j|J*C9/y:s"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <shadow type="math_number" id="~04/oHWc8o2cn(_|q])!"> <field name="NUM">1</field> </shadow> <block type="get_value" id="P/F~`c@+^X+8M55vbfYc"> <field name="ATTR">val</field> <field name="OID">sma-em.0.1901710792.psurplus</field> </block> </value> </block> </value> </block> </statement> <statement name="ELSE"> <block type="update" id="Exu@_0(Cbh-xz@Q]RF85"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="Dq.CW1#wQMC-LC^jf.CH"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </statement> </block> </xml>
Damit hast du schon einmal den PV-Bezug wenn ich dich richtig verstanden habe.
Beim Trigger musst du natürlich deinen Datenpunkt vom Wechselrichter auswählen, der dir die aktuelle Leistung zeigt.
Bei ObjectID den neu angelegten DP "PV_Bezug".Influxdb und Grafana laufen bereits?
Wenn ja, dann kannst du beide Datenpunkte, Wirkleistung + für den Netzbezug und PV_Bezug in influxdb schreiben lassen.