From aee08c12cc6b9858efebb9e4e6d77dcbfb5dd915 Mon Sep 17 00:00:00 2001 From: Pierre Eisenbrandt Date: Wed, 7 Jan 2026 18:18:52 +0100 Subject: [PATCH] refactoring --- Climate/bosch_bth-ra_control.yaml | 43 ++++++++----------------------- 1 file changed, 11 insertions(+), 32 deletions(-) diff --git a/Climate/bosch_bth-ra_control.yaml b/Climate/bosch_bth-ra_control.yaml index 84fe7ec..a0edd26 100644 --- a/Climate/bosch_bth-ra_control.yaml +++ b/Climate/bosch_bth-ra_control.yaml @@ -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' %}