Hallo zusammen,
möchte euch kurz die Situation beschreiben: seit ein paar Tagen läuft die PV-Anlage, soweit sogut.
Der Wechselrichter stellt eine ganze Menge an Daten (per Modbus --- danke an die Kollegen, für das modpus-plugin) zur Verfügung. Unter anderem seine aktuelle Leistung
Der Stromzähler (EMH - auch hier ein Danke an die Plugin Ersteller) liefert ebenfalls seine Leistung (Bei "Kauf vom EVU" mit Vorzeichen "Plus" --- bei "ich verkaufe an EVU" mit Vorzeichen "Minus" ---- die Vorzeichen erscheinen im SHNG - der Zähler selbst zeigt einen Pfeil in die eine oder andere Richtung)
Vor der PV-Anlage. Zeigte die Leistung vom Stromzähler natürlich den "aktuellen Verbrauch" in Watt, des Hauses an
Jetzt wollte ich gerne die "Momentan im Haus gebrauchte Leistung" anzeigen. Das klappt auch einigermaßen allerdings wird der Wert manchmal negativ.
Was meiner Meinung nach nur daran liegen kann, dass
WR und SZ nicht immer gleichzeitig ihre Werte liefern. Ich vermute dass der WR nur einen neuen Wert sendet wenn sich dieser "deutlich" vom Vorgänger verändert. Wissen tue ich es allerdings nicht.
Beispiel:
WR-Leistung 10.000
SZ-Anzeige - 8.000
---> Momentan verbrauch des Hauses 2.000 Watt --> 10.000 - 8.000 --> einfache Rechnung
WR 1.000
SZ 2.000
Haus braucht 3.000 Watt --> 1.000 - 2.000 = -1.000 Rechnung falsch
Deshalb ist die Rechnung folgende:
WR - SZ * (-1)
bzw. im Item so:
eval: round(sh.Photovoltaik.AC_Leistung() - (sh.verbrauch_strom.verbrauch.leistung() * - 1), 2)
Hat jemand eine Idee wie das in den Griff zu bekommen ist - Danke
möchte euch kurz die Situation beschreiben: seit ein paar Tagen läuft die PV-Anlage, soweit sogut.
Der Wechselrichter stellt eine ganze Menge an Daten (per Modbus --- danke an die Kollegen, für das modpus-plugin) zur Verfügung. Unter anderem seine aktuelle Leistung
Der Stromzähler (EMH - auch hier ein Danke an die Plugin Ersteller) liefert ebenfalls seine Leistung (Bei "Kauf vom EVU" mit Vorzeichen "Plus" --- bei "ich verkaufe an EVU" mit Vorzeichen "Minus" ---- die Vorzeichen erscheinen im SHNG - der Zähler selbst zeigt einen Pfeil in die eine oder andere Richtung)
Vor der PV-Anlage. Zeigte die Leistung vom Stromzähler natürlich den "aktuellen Verbrauch" in Watt, des Hauses an
Jetzt wollte ich gerne die "Momentan im Haus gebrauchte Leistung" anzeigen. Das klappt auch einigermaßen allerdings wird der Wert manchmal negativ.
Was meiner Meinung nach nur daran liegen kann, dass
WR und SZ nicht immer gleichzeitig ihre Werte liefern. Ich vermute dass der WR nur einen neuen Wert sendet wenn sich dieser "deutlich" vom Vorgänger verändert. Wissen tue ich es allerdings nicht.
Beispiel:
WR-Leistung 10.000
SZ-Anzeige - 8.000
---> Momentan verbrauch des Hauses 2.000 Watt --> 10.000 - 8.000 --> einfache Rechnung
WR 1.000
SZ 2.000
Haus braucht 3.000 Watt --> 1.000 - 2.000 = -1.000 Rechnung falsch
Deshalb ist die Rechnung folgende:
WR - SZ * (-1)
bzw. im Item so:
eval: round(sh.Photovoltaik.AC_Leistung() - (sh.verbrauch_strom.verbrauch.leistung() * - 1), 2)
Code:
verbrauch_strom: zaehlertotal: # Zaehlerstand Bezug vom Stromzaehler ohne Umwandlung Rundung etc. name: Zaehlerstand type: num database: init sml_obis: 1-0:1.8.0*255 zaehlerpv: # Zaehlerstand Einspeisung vom Stromzaehler ohne Umwandlung Rundung etc. type: num sml_obis: 1-0:2.8.0*255 moment_verbrauch: # aktueller Eigenverbrauch type: num eval: round(sh.Photovoltaik.AC_Leistung() - (sh.verbrauch_strom.verbrauch.leistung() * - 1), 2) eval_trigger: - verbrauch_strom.zaehlerpv - verbrauch_strom.verbrauch.leistung - Photovoltaik.AC_Leistung verbrauch: einspeiser: name: Einspeisezaehlerstand in kWh type: num database: init eval: round(sh.verbrauch_strom.zaehlerpv() / 1000, 2) eval_trigger: verbrauch_strom.zaehlerpv einnahme: name: Gesamteinnahme in € type: num eval: round(sh.verbrauch_strom.verbrauch.einspeiser() * 0.0633, 2) eval_trigger: verbrauch_strom.verbrauch.einspeiser leistung: type: num database: init sml_obis: 1-0:16.7.0*255 # Momentane Leistung (in W) enforce_updates: True eval: round(value, 2) eval_trigger: - verbrauch_strom.zaehlertotal - verbrauch_strom.zaehlerpv - Photovoltaik.AC_Leistung eigenverbrauch: type: num eval: sh.Photovoltaik.Gesamt_Erzeugung() - sh.verbrauch_strom.verbrauch.einspeiser() eval_trigger: verbrauch_strom.verbrauch.einspeiser # in kwh zaehler: name: Stromzählerstand in kWh type: num database: init eval: round(sh.verbrauch_strom.zaehlertotal() / 1000, 2) eval_trigger: verbrauch_strom.zaehlertotal
Hat jemand eine Idee wie das in den Griff zu bekommen ist - Danke
Kommentar