Wie der Titel schon sagt würde ich gerne einen Verbrauchszähler (täglich) erstellen.
Ich habe einen Template Sensor als Ausgangswert erstellt:
{% set ns = namespace(states=[]) %}
{% set current_watt = namespace(states=[]) %}
{% for entity in states.sensor | selectattr('entity_id', 'match', 'sensor.*power$') | rejectattr('entity_id', 'match', 'sensor.*_device_power$') | rejectattr('state', 'in', ['unavailable', 'unknown', 'none']) | map(attribute='entity_id') | select('is_device_attr', 'manufacturer', 'Shelly') | list | sort %}
{% set sensor_state = states[entity].state %}
{% set current_watt.states = current_watt.states + [ sensor_state | float(0) ] %}
{% endfor %}
{{ current_watt.states | sum }}
Maßeinheit “Wh” und Zustandsklasse “Steigender Summenwert” oder “Messwert”.
Egal mit welchen der Zustandsklassen ich den Verbrauchszähler erstelle, es wird eine Summe berechnet die überhaupt nicht realistisch ist. O.a. Template gibt ca 30-40 Watt aus. Die Summe ist nach einer halben Stunde aber schon bei 400-500 Watt.
Wo ist mein Denkfehler und was muss ich anders machen, um realistische Werte zu erhalten?
Ich habe zwei Sensoren nicht in der Liste erfasst und eine Möglichkeit genutzt ohne einen Loop zurecht zukommen.
{{ integration_entities("shelly") | select("match", "^sensor.*(_power|_leistung)") | map('states') | reject('in', ['unknown', 'unavailable']) | map('float') | sum }}
Seit 90 Minuten, scheint die Kumulierung der Werte nicht mehr so rapide zu steigen und sehen valide aus.