refactoring

This commit is contained in:
2026-01-07 18:18:52 +01:00
parent 2fdf78ac75
commit aee08c12cc

View File

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