Das hier wäre z.B. eine Template Sensor, der dir anzeigt wie lange das Fenster schon geöffnet ist. Anzeige wäre hier in dem Fall in Minuten.
- name: "Fenster Badezimmer offen Zeit"
unique_id: "fenster_badezimmer_offen_zeit"
unit_of_measurement: "min"
state: >
{% if is_state('binary_sensor.fenster_sensor_badezimmer_contact', 'on') %}
{% set last_change = as_timestamp(states.binary_sensor.fenster_sensor_badezimmer_contact.last_changed) %}
{% set now = as_timestamp(now()) %}
{{ ((now - last_change) / 60) | round(0) }}
{% else %}
0
{% endif %}
Dieser hier gibt dir die Zeit in Stunden Minuten und Sekunden an
- name: "Fenster Offen Dauer"
unique_id: "fensteroffendauerbz"
state: >
{% if is_state('binary_sensor.fenster_sensor_badezimmer_contact', 'on') %}
{% set last_changed = states.binary_sensor.fenster_sensor_badezimmer_contact.last_changed %}
{% if last_changed %}
{% set time_diff = (now() - last_changed).total_seconds() %}
{% set hours = (time_diff // 3600) | int %}
{% set minutes = ((time_diff % 3600) // 60) | int %}
{% set seconds = (time_diff % 60) | int %}
{{ '%02d:%02d:%02d' | format(hours, minutes, seconds) }}
{% else %}
00:00:00
{% endif %}
{% else %}
00:00:00
{% endif %}