diff --git a/ha-smart-thermostat-control.yaml b/ha-smart-thermostat-control.yaml index f774883..b11ea39 100644 --- a/ha-smart-thermostat-control.yaml +++ b/ha-smart-thermostat-control.yaml @@ -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 \ No newline at end of file