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