Hallo zusammen,
Da dies mein erster Beitrag ist, habt bitte Nachsicht, sollte ich Info vergessen.
Ich bin schon ca. 2 Jahre im HA-Game, habe aber bisher viele Boardmittel verwenden können, da alle (interessanten) Entities vorhanden waren.
Nach Anschaffung eines BKW möchte ich mir die Werte gerne anzeigen und bspw. den genutzten Ertrag berechnen lassen. Hierfür muss ich jetzt tiefer einsteigen.
Der Shelly 1pm gibt an, wieviel kWh das BKW ins Hausnetz einspeist, der Shelly pro, wieviel kWh ins Grundnetz wandern. Die Differenz davon hätte ich gerne als kWh-Angabe auf dem Dashboard ausgewiesen, als Statistik o.ä.
Mit dem Template funktioniert dies allerdings überhaupt nicht. Als Wert wird mir quasi immer der Wert des Shelly 1pm ausgegeben, was ja falsch ist.
Wo liegt hier der Fehler?
Vielen Dank für eure Tipps und Hinweise.
Grüße, Jan
@Hette78 Diese Übersicht ist mein erklärtes Ziel - echt klasse
Was mich beim Energiedashboard nicht zufriedenstellt ist die Tatsache, dass er mir einen falschen “Netz gesamt” ausgibt, da mir ein “Gesamtverbrauch” fehlt.
Beispiel: Ich beziehe 3kwh aus dem Netz, das BKW generiert 2kwh und ich speise 1 kWh ein, habe ich effektiv 4 kWh verbraucht.
Wie hast du den täglichen Eigenverbrauch vom BKW berechnet?
Ok, wenn ich dir helfen kann, versuchen wir es mal, aber ich gehe etwas anders vor.
Ich habe die yaml Dateien noch vom Shelly 3EM (hat die Werte nicht saldiert) zum Pro 3EM übernommen, deshalb ist es ein Template mehr in der .yaml aber es läuft super.
Ich berechne alle Werte in der config.yaml in Watt und rechne dann mit Helfern in KWh um, die ich im Dashboard verwende.
Ich teile mal meine Code vielleicht kommst du damit zurecht, sonst melde ich einfach wieder.
template:
- sensor:
- name: "Power Total"
unique_id: power_total
state: >
{{ states('sensor.shelly_phase_a_active_power')|float(0) +
states('sensor.shelly_phase_b_active_power')|float(0) +
states('sensor.shelly_phase_c_active_power')|float(0) }}
unit_of_measurement: W
device_class: power
state_class: measurement
availability: >
{{
[ states('sensor.shelly_phase_a_active_power'),
states('sensor.shelly_phase_b_active_power'),
states('sensor.shelly_phase_c_active_power') ] | map('is_number') | min }}
- sensor:
- name: "Power vom Netz (Watt)"
unique_id: power_vom_netz
state: >
{% if states('sensor.power_total') | float(0) >= 0 %}
{{states('sensor.power_total') | float(0) | round (3) }}
{% else %}
{{(states ('0.0') | float(0)) |round(3) }}
{% endif %}
unit_of_measurement: W
device_class: power
state_class: measurement
availability: >
{{
[ states('sensor.power_total') ] | map('is_number') | min }}
- sensor:
- name: "Power ins Netz (Watt)"
unique_id: power_ins_netz
state: >
{% if states('sensor.power_total') | float(0) < 0 %}
{{(states('sensor.power_total') | float(0))*-1 | round (3) }}
{% else %}
{{(states ('0.0') | float(0)) |round(3) }}
{% endif %}
unit_of_measurement: W
device_class: power
state_class: measurement
availability: >
{{
[ states('sensor.power_total') ] | map('is_number') | min }}
- sensor:
# Berechnet anhand des Stromzählers und der Solarerzeugung in Watt den Eigenverbrauch
- name: Solar Eigenverbrauch (Watt)
unique_id: "BalkonsolarEigenverbrauchWatts"
state_class: measurement
icon: mdi:transmission-tower
unit_of_measurement: W
device_class: power
state: >
{% if is_number(states('sensor.power_total')) and states('sensor.power_total') | float(0) < 0 %}
{{ ( (states('sensor.power_total') | float(0) ) + (states('sensor.smart_switch_2307064063274151080248e1e9cea420_power') | float(0) ) ) | round (3) }}
{% else %}
{{ states('sensor.smart_switch_2307064063274151080248e1e9cea420_power') | round (3) }}
{% endif %}
# Zweiter Sensor für Ersparnis in Euro pro Stunde, basiert auf dem obigen Sensor (Solar Eigenverbrauch (Watt) v2) und dem aktuellen Strompreis in EUR/kWh
- name: Balkonsolar Vorteil
unique_id: "BalkonsolarVorteil"
unit_of_measurement: EUR/h
state: >
{{ states('sensor.solar_eigenverbrauch_watt')|float(0) * states('input_number.aktueller_strompreis')|float(0)/1000 }}
- sensor:
# Strom aktuell ohne BLK
- name: Stromverbrauch aktuell
unique_id: "strom_aktuell_haus"
unit_of_measurement: W
device_class: power
state_class: measurement
state: >
{{ (states('sensor.power_total') | float(0)) + (states('sensor.smart_switch_2307064063274151080248e1e9cea420_power') | float(0)) | round (2) }}
Die Shelly müssten bei dir so passen, du müsstest nur den senor.smart_switch… austauschen gegen dein Sensor vom BLK.
Dann legst du die Helfer (Riemann) an zur Umrechnung in KWh an, dann kannst du die Helfer ins Dashboard und ins Energy Dashboard einbinden.
Ja, dein Code passt auch nicht zu dem, was du möchtest, er besagt im groben:
Wenn dein Tagesertrag <0, dann rechne tagesertrag - tageseinspeisung, sonst gib den tagesertrag aus.