diff --git a/Climate/bosch_bth-ra_control.yaml b/Climate/bosch_bth-ra_control.yaml index 7ab8500..3a9eb71 100644 --- a/Climate/bosch_bth-ra_control.yaml +++ b/Climate/bosch_bth-ra_control.yaml @@ -303,24 +303,22 @@ variables: {% set target_temp = safe_temperature | float(0) %} {% set diff = (current_temp - target_temp) | abs %} {{ diff >= 0.4 }} + override_reset_duration_seconds: > + {% if override_reset_duration is mapping %} + {{ (override_reset_duration.hours | default(0) | int) * 3600 + (override_reset_duration.minutes | default(0) | int) * 60 + (override_reset_duration.seconds | default(0) | int) }} + {% else %} + 0 + {% endif %} + override_last_change: > + {% if setpoint_change_source_entity and setpoint_change_source_entity in states %} + {{ states[setpoint_change_source_entity].last_updated }} + {% else %} + {{ none }} + {% endif %} override_duration_exceeded: > - {% if setpoint_change_source_entity and override_reset_duration %} - {% if override_reset_duration is mapping %} - {% set duration_seconds = (override_reset_duration.hours | default(0) | int) * 3600 + (override_reset_duration.minutes | default(0) | int) * 60 + (override_reset_duration.seconds | default(0) | int) %} - {% else %} - {% set duration_seconds = 0 %} - {% endif %} - {% if duration_seconds > 0 and setpoint_change_source_entity in states %} - {% if states(setpoint_change_source_entity) == 'manual' %} - {% set last_update = states[setpoint_change_source_entity].last_updated %} - {% set elapsed = (now() - last_update).total_seconds() %} - {{ elapsed > duration_seconds }} - {% else %} - false - {% endif %} - {% else %} - false - {% endif %} + {% if override_last_change and override_reset_duration_seconds > 0 and setpoint_change_source_entity and states(setpoint_change_source_entity) == 'manual' %} + {% set elapsed = (now() - override_last_change).total_seconds() %} + {{ elapsed > override_reset_duration_seconds }} {% else %} false {% endif %} @@ -515,13 +513,7 @@ actions: id: - PERIODIC_CHECK - condition: template - value_template: > - {% if override_reset_duration is mapping %} - {% set duration_seconds = (override_reset_duration.hours | default(0) | int) * 3600 + (override_reset_duration.minutes | default(0) | int) * 60 + (override_reset_duration.seconds | default(0) | int) %} - {% else %} - {% set duration_seconds = 0 %} - {% endif %} - {{ duration_seconds > 0 }} + value_template: "{{ override_reset_duration_seconds > 0 }}" - condition: template value_template: "{{ is_manual_override }}" - condition: template