From e72365df0a32a4d443fe66018cfcf99c5c5e29e4 Mon Sep 17 00:00:00 2001 From: Pierre Eisenbrandt Date: Wed, 7 Jan 2026 19:32:08 +0100 Subject: [PATCH] fix again --- Climate/bosch_bth-ra_control.yaml | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/Climate/bosch_bth-ra_control.yaml b/Climate/bosch_bth-ra_control.yaml index c74ed84..f34d583 100644 --- a/Climate/bosch_bth-ra_control.yaml +++ b/Climate/bosch_bth-ra_control.yaml @@ -203,7 +203,7 @@ variables: {{ 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: > - {{ as_datetime(states[remote_temperature_entity].last_changed) if remote_temperature_entity and + {{ 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: > {{ device_entities(device_id(trv)) | select('search', 'window_detection') | list | first | default('') }} @@ -247,8 +247,17 @@ variables: {% endif %} scheduler_mismatch: > {% set selected = states(active_scheduler_selector) %} - {{ selected not in ['unknown', '', none] and - selected not in radiator_schedules | map(attribute='attributes.friendly_name') | list }} + {% if selected not in ['unknown', '', none] %} + {% set found = namespace(value=false) %} + {% for schedule in radiator_schedules %} + {% if state_attr(schedule, 'friendly_name') == selected %} + {% set found.value = true %} + {% endif %} + {% endfor %} + {{ not found.value }} + {% else %} + false + {% endif %} is_manual_override: > {{ (state_attr(trv, 'temperature') | float(0) - safe_temperature | float(0)) | abs >= 0.4 }} override_reset_duration_seconds: > @@ -442,10 +451,12 @@ actions: {{ temperature_sensor is defined and states(temperature_sensor) | is_number }} - condition: template value_template: > - {{ remote_temperature_last_change != none and remote_temperature_last_change is not string }} - - condition: template - value_template: > - {{ (now() - remote_temperature_last_change).total_seconds() > 1499 }} + {% if remote_temperature_last_change != none %} + {% set last_change = as_datetime(remote_temperature_last_change) %} + {{ last_change != none and (now() - last_change).total_seconds() > 1499 }} + {% else %} + false + {% endif %} sequence: - service: number.set_value data: