Ja, das solltest Du immer tun aber hier ein Vorschlag. Ob das der optimale Ansatz ist, muß ich noch mal durchdenken aber es ist ein funktionierender erster Wurf.
Du brauchst
- Einen Helfer 1 input_number: zählt die Stunden und kannst den Verlauf per Diagramm anzeigen lassen. Er wird nie genullt außer Du machst es manuell oder erweiterst die Automatisation. Ach, beimn Anlegen mußt Du eine Maximalgrenze angeben. Nimm genügend Puffer.
- Einen Helfer 2 input_datetime: speichert den Zeitpunkt des Starts des Verdichters (Aus → AN)
- Eine Automatisation, die bei AN-AUS die Zeitdifferenz in Sekunden von Jetzt zu Helfer 2 in Helfer 1 speichert.
In der Automatisation zähle/speichere ich die Zeit, wo die Sofalampe an war. Das mußt Du für den Verdichter noch anpassen und auch den Helfern solltest Du richtige Namen geben.
alias: 1 test forum zaehler
description: ""
triggers:
- entity_id:
- light.sofateufel_lichtfarbe
from: "off"
to: "on"
id: LichtANgeschaltet
trigger: state
- entity_id:
- light.sofateufel_lichtfarbe
from: "on"
to: "off"
id: LichtAUSgeschaltet
trigger: state
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id:
- LichtANgeschaltet
sequence:
- data:
datetime: "{{ now().isoformat() }}"
action: input_datetime.set_datetime
target:
entity_id: input_datetime.1_forum_test_stundenzaehler
- conditions:
- condition: trigger
id:
- LichtAUSgeschaltet
sequence:
- variables:
dauer_neu: >
{% set start =
as_datetime(states('input_datetime.1_forum_test_stundenzaehler'))
%} {% set jetzt = now().replace(tzinfo=None, microsecond=0) %}
{{ ((jetzt-start).total_seconds() / 3600) | round(4) }}
dauer_alt: >
{{ states('input_number.1_forum_test_stundenzaehler') | float(0)
}}
- target:
entity_id: input_number.1_forum_test_stundenzaehler
data:
value: "{{ (dauer_alt + dauer_neu) | round(4) }}"
action: input_number.set_value
mode: single
Versuche das einmal nachzubauen, zu verstehen und beobachte das Verhalten eine Woche…und dann schauen wir einmal
Helfer 1 wird im Gegensatz zum früheren Verbrauchszähler nie historische Werte vergessen, es sei denn Du setzt ihn zurück.