Ich habe da ein Problem, dem ich einfach nicht herr werde und ich analysiere und probiere hier schon seit fast 2 Wochen rum.
Vielleicht hat einer von Euch eine gute Idee.
Grundsätzlich geht es um folgendes:
ich habe eine Wärmepumpenkaskade bei mir Zuhause mit Photovoltaikanlage, die Messung erfolgt dabei über zwei Zähler. Der Zähler 1 misst den kompletten Stromverbrauch im ganzen Haus und der Zähler 2 misst nur den Stromverbrauch vom Haus ohne Wärmepumpen.
Um auf den Wert für die Wärmepumpen zu kommen heisst es also ganz einfach:
“Wärmepumpe Zähler Gesamt” = Zähler 1 - Zähler 2
Das funktioniert auch super und die Werte, die sehe passen genau, doch jetzt kommt es ich verwende den Sensor “Wärmepumpe Zähler Gesamt” dann für einen Verbrauchszähler “Wärmepumpen Verbrauch Gesamt täglich” und wenn ich mir die Werte dort ansehe, passt es einfach nicht. Ich sehe hier dann die Werte vom "Zähler 1, also vom kompletten Stromverbrauch des Hauses.
Ein Funfact ist noch und ich glaube hier liegt auch irgendwo das Problem. Wenn ich die Sensoren an einem Tag definiere passt alles, auch der Verbrauchszähler. Ab dem Zeitpunkt in der Nacht, wo der Verbrauchszähler für täglich zurückgesetzt wird (und auch die weiteren für wöchentlich, monatlich und jährlich), passen die Werte dann nicht mehr, ab da nimmt er die Werte vom Zähler 1, wie auch immer.
Ich habe hier schon sehr viel probiert und auch in den tiefen von HA nachgesehen ob die Definitionen vom Verbrauchszähler wirklich passen, sieht alles sehr gut aus. Ich habe schon alle Sensoren gelöscht und mit neuen Namen angelegt, am nächsten Morgen habe ich wieder den Effekt.
Ich habe geschaut, dass ich die Sensoren so definiere, dass auch berücksichtigt wird wenn mal keine sauberen Werte kommen (siehe Definition):
- name: "Wärmepumpe Zähler Gesamt"
unique_id: "warmepumpe_zahler_gesamt"
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
state: >
{% set s1 = states('sensor.tasmota_pos_wirk_tariflos') %}
{% set s2 = states('sensor.tasmota_pos_wirk_tariflos_2') %}
{% if s1 in ['unknown','unavailable','none'] or s2 in ['unknown','unavailable','none'] %}
{{ states('sensor.warmepumpe_zahler_gesamt') }}
{% else %}
{% set g = s1 | float(0) %}
{% set h = s2 | float(0) %}
{% set v = (g - h) | round(3) %}
{% if v < 0 %}
{{ states('sensor.warmepumpe_zahler_gesamt') }}
{% else %}
{{ v }}
{% endif %}
{% endif %}
Jetzt bin ich am Ende und mir fällt nicht mehr ein, was ich sonst noch anders machen kann.
Meine Hoffnung, einer von Euch hat noch eine gute Idee.
Danke schon mal im Voraus.