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 aee08c12cc - Show all commits

View File

@@ -211,17 +211,11 @@ variables:
{% endfor %} {% endfor %}
{{ remote_temperature_entity_id.id }} {{ remote_temperature_entity_id.id }}
current_remote_temperature: > current_remote_temperature: >
{% if remote_temperature_entity and states(remote_temperature_entity) not in ['unknown', 'unavailable', none]%} {{ states(remote_temperature_entity) | float(0) if remote_temperature_entity and
{{ states(remote_temperature_entity) | float(0) }} states(remote_temperature_entity) not in ['unknown', 'unavailable', none] else 0 }}
{% else %}
{{ 0 }}
{% endif %}
remote_temperature_last_change: > remote_temperature_last_change: >
{% if remote_temperature_entity and states(remote_temperature_entity) not in ['unknown', 'unavailable', none] %} {{ as_datetime(states[remote_temperature_entity].last_changed) if remote_temperature_entity and
{{ as_datetime(states[remote_temperature_entity].last_changed) }} states(remote_temperature_entity) not in ['unknown', 'unavailable', none] else none }}
{% else %}
{{ none }}
{% endif %}
window_detection_entity: > window_detection_entity: >
{% set entities = device_entities(device_id(trv)) %} {% set entities = device_entities(device_id(trv)) %}
{% set window_detection_entity_id = namespace(id='') %} {% set window_detection_entity_id = namespace(id='') %}
@@ -275,14 +269,7 @@ variables:
is_valid_temperature: > is_valid_temperature: >
{{ 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: >
{% set current = state_attr(trv, 'temperature') | float(0) %} {{ (safe_temperature | float(0) - state_attr(trv, 'temperature') | float(0)) | abs >= 0.4 }}
{% set new = safe_temperature | float(0) %}
{% set diff = new - current %}
{% if diff | abs >= 0.4 %}
true
{% else %}
false
{% endif %}
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) %}
@@ -310,22 +297,14 @@ variables:
false false
{% endif %} {% endif %}
is_manual_override: > is_manual_override: >
{% set current_temp = state_attr(trv, 'temperature') | float(0) %} {{ (state_attr(trv, 'temperature') | float(0) - safe_temperature | float(0)) | abs >= 0.4 }}
{% set target_temp = safe_temperature | float(0) %}
{% set diff = (current_temp - target_temp) | abs %}
{{ diff >= 0.4 }}
override_reset_duration_seconds: > override_reset_duration_seconds: >
{% if override_reset_duration is mapping %} {{ (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.seconds | default(0) | int) }} (override_reset_duration.minutes | default(0) | int) * 60 +
{% else %} (override_reset_duration.seconds | default(0) | int) if override_reset_duration is mapping else 0 }}
0
{% endif %}
override_last_change: > override_last_change: >
{% if setpoint_change_source_entity and states(setpoint_change_source_entity) not in ['unknown', 'unavailable', none] %} {{ as_datetime(states[setpoint_change_source_entity].last_updated) if setpoint_change_source_entity and
{{ as_datetime(states[setpoint_change_source_entity].last_updated) }} states(setpoint_change_source_entity) not in ['unknown', 'unavailable', none] else none }}
{% else %}
{{ none }}
{% endif %}
override_duration_exceeded: > override_duration_exceeded: >
{% set last_change = override_last_change %} {% set last_change = override_last_change %}
{% if last_change != none and last_change is not string and override_reset_duration_seconds > 0 and setpoint_change_source_entity and states(setpoint_change_source_entity) == 'manual' %} {% if last_change != none and last_change is not string and override_reset_duration_seconds > 0 and setpoint_change_source_entity and states(setpoint_change_source_entity) == 'manual' %}