manual override reset plus minor fixes #3

Merged
pierre merged 31 commits from dev into main 2026-01-15 14:23:00 +01:00
Showing only changes of commit 336f8e2e74 - Show all commits

View File

@@ -303,24 +303,22 @@ variables:
{% set target_temp = safe_temperature | float(0) %}
{% set diff = (current_temp - target_temp) | abs %}
{{ diff >= 0.4 }}
override_duration_exceeded: >
{% if setpoint_change_source_entity and override_reset_duration %}
override_reset_duration_seconds: >
{% 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) %}
{{ (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 %}
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 }}
override_last_change: >
{% if setpoint_change_source_entity and setpoint_change_source_entity in states %}
{{ states[setpoint_change_source_entity].last_updated }}
{% else %}
false
{% endif %}
{% else %}
false
{{ none }}
{% endif %}
override_duration_exceeded: >
{% 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