extract current_remote_temperature

This commit is contained in:
2026-01-06 19:00:42 +01:00
parent a170d7d0e2
commit 413eea13e0

View File

@@ -210,6 +210,12 @@ variables:
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{{ remote_temperature_entity_id.id }} {{ remote_temperature_entity_id.id }}
current_remote_temperature: >
{% if remote_temperature_entity and remote_temperature_entity in states %}
{{ states(remote_temperature_entity) | float(0) }}
{% else %}
{{ 0 }}
{% 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='') %}
@@ -272,15 +278,14 @@ variables:
false false
{% endif %} {% endif %}
is_sensor_sync_needed: > is_sensor_sync_needed: >
{% set current_remote_temp = states(remote_temperature_entity) | float(0) %}
{% 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) %}
{% set diff = (new_sensor_temp - current_remote_temp) | abs %} {% set diff = (new_sensor_temp - current_remote_temperature) | abs %}
{% if diff >= sensor_sync_threshold %} {% if diff >= sensor_sync_threshold %}
true true
{% elif new_sensor_temp < target_temp and current_remote_temp >= target_temp %} {% elif new_sensor_temp < target_temp and current_remote_temperature >= target_temp %}
true true
{% elif new_sensor_temp > target_temp and current_remote_temp <= target_temp %} {% elif new_sensor_temp > target_temp and current_remote_temperature <= target_temp %}
true true
{% else %} {% else %}
false false