Update ha-smart-thermostat-control.yaml

adjusting the logic
This commit is contained in:
Andreas Gammelgaard Damsbo 2025-12-05 11:12:40 +01:00
parent 67e77c80c8
commit 182e93b5a4

View file

@ -69,7 +69,7 @@ blueprint:
min: 10.0
max: 25.0
unit_of_measurement: °C or °F
mode: box
mode: slider
wintermode_delay:
name: Winter Mode Delay
description: 'Time the outside temperature needs to stay above the winter mode temperature to turn the heating off.'
@ -98,7 +98,7 @@ blueprint:
min: 10.0
max: 30.0
unit_of_measurement: °C or °F
mode: box
mode: slider
night_temp:
name: Night Time Temperature Target
default: 18
@ -108,7 +108,7 @@ blueprint:
min: 10.0
max: 30.0
unit_of_measurement: °C or °F
mode: box
mode: slider
away_temp:
name: Away Temperature Target
description: Temperature when away/on holiday.
@ -119,7 +119,7 @@ blueprint:
min: 10.0
max: 30.0
unit_of_measurement: °C or °F
mode: box
mode: slider
away_calendar:
name: Holiday or Away Calendar
description: Calendar entity that indicates away/holiday periods.
@ -219,11 +219,11 @@ action:
{{ (new_temperature - night_temp_input) | abs > 0.1 }}
{% endif %}
sequence:
# Enable manual override mode
- service: input_boolean.turn_on
target:
entity_id: !input manual_override_helper
# Sync temperature to all other thermostats
- service: logbook.log
data:
name: Smart Thermostat
message: 'Manual Override: Temperature set to {{ new_temperature }}° by {{ triggered_thermostat }}'
# Sync temperature to all other thermostats FIRST
- repeat:
for_each: "{{ thermostat_entities | reject('eq', triggered_thermostat) | list }}"
sequence:
@ -232,16 +232,21 @@ action:
entity_id: "{{ repeat.item }}"
data:
temperature: "{{ new_temperature }}"
# Set timer to automatically disable override
# Enable manual override mode AFTER syncing
- service: input_boolean.turn_on
target:
entity_id: !input manual_override_helper
# Simple delay timer - will complete even if automation is triggered again
- delay:
minutes: !input override_duration
# Disable override after timeout
- service: input_boolean.turn_off
target:
entity_id: !input manual_override_helper
- service: logbook.log
data:
name: Smart Thermostat
message: 'Manual Override: Temperature set to {{ new_temperature }}° for {{ input_override_duration }} minutes'
message: 'Manual Override: Expired after {{ input_override_duration }} minutes'
# Priority 1: Windows/Doors Open - Turn OFF heating (overrides manual)
- conditions:
@ -377,5 +382,6 @@ action:
name: Smart Thermostat
message: 'Heating OFF: No active heating conditions met'
mode: restart
mode: queued
max: 5
max_exceeded: silent