PV Direktverbrauch - Probleme mit template

Hallo zusammen,
lange Zeit habe ich hier “nur” zugeschaut und mir meine Ideen/Inspirationen hergeholt und weiß, dass hier jedem geholfen wird - daher versuche ich auch mal mein Glück :wink:
ich versuche schon längerer Zeit die Rentabilität/Armotisation meiner PV-Anlage zu berechnen, habe dazu schon diverse Foren durchsucht, einige Anleitungen versucht und diverse Sensoren/Templates usw. (vergebens) erstellt.
Problem war eigentlich immer, dass sich die Anleitungen auf Balkonkraftwerke ohne Akku beziehen - wir aber eine “ausgewachsene” PV-Anlage mit Speicher haben.

Mein Ziel ist, dass ich einen Tageswert an gesparten Strom (=nicht netzbezogen) habe, den ich zusätzlich zum eingespeisten Strom mit dem aktuellen Strompreis zusammenrechne und einen Betrag x rausbekomme.

Unser Wechselrichter/Speicher/Hauskraftwerk liefert folgende (m.E. relevante) Daten:
Solarstrom, Batterieladung, Batterieentladung, Netzbezug, Netzeinspeisung, Hausverbrauch und noch diverse mehr.
Was mir aber fehlt, ist wie oben beschrieben, ein Wert / eine Menge an kWh, die direkt aus der erzeugten Energie (Solar und Batterie) stammt.

Ich bin der Anleitung von Simon gefolgt (https://youtu.be/t7RhAcrvayk) und habe gemeint, das bisschen Akku kannst Du schon mit integrieren und ausrechnen lassen - aber so einfach isses dann wohl doch nicht (evtl. habe ich auch nur einen Denk-/Tippfehler).

das steht in der template.yaml:

Template:
  - name: Solar_Eigenverbrauch (Watt) v2
    unique_id: "PV_Eigenverbrauch_Watt"
    state_class: measurement
    icon: mdi:transmission-tower
    unit_of_measurement: W
    device_class: power
    state: >
      {% if is_number(states('sensor.e3dc_power_consumption_house')) and states('sensor.e3dc_power_consumption_house') | float(0) < 0 %}
          {{ ( (states('sensor.e3dc_solar_power') | float(0) ) - ((states('sensor.e3dc_power_consumption_house') | float(0) ) ) + (states('sensor.e3dc_battery_discharge_power')) | float(0) ) )| round (3) }}
      {% else %}
          {{ states('sensor.e3dc_solar_power') | round (3) }}
      {% endif %}

  - name: PV_Vorteil
    unique_id: "PV_Vorteil"
    unit_of_measurement: EUR/h
    state: >
      {{ states('sensor.PV_Eigenverbrauch_Watt')|float(0) * states('input_number.strompreis')|float(0)/1000 }}

die Logs kann ich dann gerne auch komplett posten, in der letzten Zeile steht aber:
ValueError: Sensor sensor.e3dc_battery_discharge_power has device class 'power', state class 'None' unit 'W' and suggested precision 'None' thus indicating it has a numeric value; however, it has the non-numeric value: '' (<class 'str'>)

Kann da bitte mal jemand drüberschauen, ob ich hier entweder komplett auf dem Schlauch stehe, was meine Berechnung angeht, oder ich evtl. doch “nur” einen Tippfehler habe.

Vielleicht bin ich noch nicht wach genug, aber ist nicht einfach Hausverbrauch minus Netzbezug der Wert, der angibt, was du durch die PV-Anlage einsparst? Wenn du diesen Wert (der dann kWh sein sollte) mit dem Preis einer kWh multiplizierst, sollte die Ersparnis herauskommen.
Das kann über ein Template berechnet werden.
Oder bin ich doch noch nicht wach genug?

Edit: Voraussetzungen ist natürlich, dass die Sensoren Hausverbrauch und Netzbezug bereits kWh ausgeben.

Bei mir sieht dieser Sensor so aus:

{% set strompreis = states('input_number.strompreis_bezug_og') | float(0) %}
{% set wirkleistung_wr = states('sensor.inverter_og_wirkleistung') | float(0) %}
{% set wirkleistung_pm = states('sensor.power_meter_og_wirkleistung') | float(0) %}
{% set wirkleistung_battery = states('sensor.battery_og_lade_entladeleistung') | float(0) %}

{% if wirkleistung_battery > 0 %}
{{ wirkleistung_wr * strompreis/1000 }}
{% else %}
{{ (wirkleistung_wr - wirkleistung_pm) * strompreis/1000 }}
{% endif %}

Wenn die Batterie entladen wird, ist der Wert negativ und die Wirkleistung des WR entspricht der Summe aus Solarleistung und Batterieleistung.
Sobald die Batterie voll ist oder geladen wird oder ins Netz eingespeist wird muss ich die eingespeiste Leistung von der Wirkleistung abziehen.

Ob die Rechnung bei dir auch so stimmt, musst du schauen.
Bei mir taucht die Ladeleistung der Batterie nicht in der Wirkleistung auf, die Entladeleistung schon. Daher muss ich nur die Einspeiseleistung abziehen.

Hi 73ymw,
da war ich scheinbar sehr lange Zeit nicht richtig wach - ich bin zumindest beim Rumhirnen nicht auf diese Rechnung gekommen… Danke Dir :wink:
ich habe jetzt meine Aufstellungen gemacht - scheint auch ganz ordentliche (plausible) Werte zu liefern
Jetzt gehts dann “nur” noch ans Aufhübschen im Dashboard und dann ist endlich dieses leidige Thema für mich auch abgehakt.
DANKE, DANKE, DANKE :grinning:

1 „Gefällt mir“

Guten Morgen zusammen,
Ich habe die Werte jetzt weiter beobachtet und musste feststellen, dass sowohl bei meinen bestehenden als auch bei den neuen Sensoren (Verbrauchszähler) kein Reset gemacht wurde… Die Zähler zahlen einfach munter weiter.
Hat jemand eine Idee? Home Assistant wurde komplett neu gestartet. Ich würde jetzt einfach heute noch abwarten und morgen nochmal schauen, aber komisch finde ich es schon.
Danke euch schon einmal🤘

Das kommt jetzt darauf an, wie dein Verbrauchszähler konfiguriert ist. Zeig den uns mal.


Hier der Zähler, soweit man das noch was erkennen kann… Habe die gestern Abend genauso erstellt, wie die anderen vor einem Jahr… Komisch ist halt, dass die bestehenden Zähler ebenso nicht zurück gesetzt wurden, die jetzt über ein Jahr ohne Murren vor sich hin gezählt haben😜

so, also Entwarnung … habe jetzt extra noch bis zum neuen Tag gewartet und die Werte wurden alle auf 0 zurückgesetzt!! War also doch “nur” eine Überschneidung, dass HA den Reset nicht durchgeführt hat und (dieses Mal) nicht eine Fettfinger-Aktion meinerseits :stuck_out_tongue_closed_eyes:
Schönen Abend Euch :sleeping: