add comments
This commit is contained in:
@@ -237,6 +237,7 @@ variables:
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
# Temperatur-Berechnungen
|
# Temperatur-Berechnungen
|
||||||
|
# Priorität: 1. Alarm armed_away → away_temperature, 2. Aktiver Zeitplan → scheduled_temperature, 3. Fallback → away_temperature
|
||||||
target_temperature: >
|
target_temperature: >
|
||||||
{% if alarm_control_panel and is_state(alarm_control_panel, 'armed_away') %}
|
{% if alarm_control_panel and is_state(alarm_control_panel, 'armed_away') %}
|
||||||
{{ away_temperature }}
|
{{ away_temperature }}
|
||||||
@@ -245,6 +246,7 @@ variables:
|
|||||||
{% else %}
|
{% else %}
|
||||||
{{ away_temperature }}
|
{{ away_temperature }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
# Begrenzt target_temperature auf den Bereich [min_temperature, max_temperature] (Clamping)
|
||||||
safe_temperature: >
|
safe_temperature: >
|
||||||
{{ [min_temperature, [max_temperature, target_temperature | float(18)] | min] | max }}
|
{{ [min_temperature, [max_temperature, target_temperature | float(18)] | min] | max }}
|
||||||
|
|
||||||
@@ -253,6 +255,7 @@ variables:
|
|||||||
{{ safe_temperature is not none and safe_temperature | is_number }}
|
{{ safe_temperature is not none and safe_temperature | is_number }}
|
||||||
is_temperature_change_needed: >
|
is_temperature_change_needed: >
|
||||||
{{ (safe_temperature | float(0) - state_attr(trv, 'temperature') | float(0)) | abs >= temperature_change_tolerance }}
|
{{ (safe_temperature | float(0) - state_attr(trv, 'temperature') | float(0)) | abs >= temperature_change_tolerance }}
|
||||||
|
# Synchronisation nötig wenn: 1) Differenz > Schwelle, 2) Sensor kreuzt Soll-Temp von unten, 3) Sensor kreuzt Soll-Temp von oben
|
||||||
is_sensor_sync_needed: >
|
is_sensor_sync_needed: >
|
||||||
{% set new_sensor_temp = states(temperature_sensor) | float(0) %}
|
{% set new_sensor_temp = states(temperature_sensor) | float(0) %}
|
||||||
{% set target_temp = state_attr(trv, 'temperature') | float(0) %}
|
{% set target_temp = state_attr(trv, 'temperature') | float(0) %}
|
||||||
@@ -277,6 +280,7 @@ variables:
|
|||||||
{{ (state_attr(trv, 'temperature') | float(0) - safe_temperature | float(0)) | abs >= temperature_change_tolerance }}
|
{{ (state_attr(trv, 'temperature') | float(0) - safe_temperature | float(0)) | abs >= temperature_change_tolerance }}
|
||||||
|
|
||||||
# Override Reset Berechnungen
|
# Override Reset Berechnungen
|
||||||
|
# Konvertiert duration-Dictionary {hours, minutes, seconds} in Gesamtsekunden
|
||||||
override_reset_duration_seconds: >
|
override_reset_duration_seconds: >
|
||||||
{{ (override_reset_duration.hours | default(0) | int) * 3600 +
|
{{ (override_reset_duration.hours | default(0) | int) * 3600 +
|
||||||
(override_reset_duration.minutes | default(0) | int) * 60 +
|
(override_reset_duration.minutes | default(0) | int) * 60 +
|
||||||
@@ -285,6 +289,7 @@ variables:
|
|||||||
{{ states[setpoint_change_source_entity].last_updated if setpoint_change_source_entity_valid else none }}
|
{{ states[setpoint_change_source_entity].last_updated if setpoint_change_source_entity_valid else none }}
|
||||||
is_setpoint_manual: >
|
is_setpoint_manual: >
|
||||||
{{ setpoint_change_source_entity_valid and states(setpoint_change_source_entity) == 'manual' }}
|
{{ setpoint_change_source_entity_valid and states(setpoint_change_source_entity) == 'manual' }}
|
||||||
|
# Early exits: 1) Keine Änderung/Timeout=0 → false, 2) Nicht manuell → false, 3) Berechne Zeitdifferenz
|
||||||
override_duration_exceeded: >
|
override_duration_exceeded: >
|
||||||
{% if override_last_change == none or override_reset_duration_seconds == 0 %}
|
{% if override_last_change == none or override_reset_duration_seconds == 0 %}
|
||||||
false
|
false
|
||||||
|
|||||||
Reference in New Issue
Block a user