I currently have an automation which sets my three Ecobee thermostats to Away
mode when everyone leaves the house, and then resumes their schedules once anyone returns home.
This mostly works fine, except for when the Ecobee’s are set to Away
, they only are set to be Away
until the next scheduled change happens, and then they resume their schedule, even when HA as a whole is still in the Away
mode (based on our location).
Outside of the automations, when I manually change the modes via the thermostat or the Ecobee app, each time it asks me how long I want to change the mode for: 2 hours, 4 hours, until the next schedule change, or indefinitely.
It seems that with my HA automation, it’s automatically choosing “Until the next schedule change”, when I want it to choose "Indefinitely’.
For instance, I go pick up my kids at 3:45, and I have a scheduled temperature change at 4pm to turn the kids rooms heat on for when we get home.
The automations set to “Away” when I leave the house at 3:45, however at 4pm the temperature is already turned back on to the “Home from school” schedule, even though I don’t get back home until 4:15. This 15 minutes isn’t a big deal, but sometimes we don’t go directly home from school, we go out to eat or something for a few hours, and in those cases I wouldn’t want it to turn back on until we returned home.
So I guess the question is is there any way to make the “Set to away” automation set to “Away - Indefinitely”, and ignore the schedule until I return home?
I’ve tinkered with turning the system “Off” instead of just to away, and while this does obey the rules and work as I expect it, I have pets at home and I need it to actually turn to “Away”, instead of fully off, so there is a minimum temperature maintained for the pets.
This is my leaving home automation, which works as expected aside from holding “Away” mode:
alias: Leave Home
sequence:
- service: scene.turn_on
target:
entity_id: scene.leaving_home
metadata: {}
alias: Activate lights scene Leaving Home
- device_id: 123xxx
domain: climate
entity_id: climate.upstairs_thermostat
type: set_preset_mode
preset_mode: Away
alias: Set Upstairs Thermostat to Away
- device_id: 456xxx
domain: climate
entity_id: climate.downstairs_thermostat
type: set_preset_mode
preset_mode: Away
alias: Set Downstairs Thermostat to Away
- device_id: 789xxx
domain: climate
entity_id: climate.basement_thermostat
type: set_preset_mode
preset_mode: Away
alias: Set Basement Thermostat to Away
- service: cover.close_cover
data: {}
target:
area_id: garage
alias: Close garage doors
- service: notify.notify
data:
message: >-
All lights have been turned off, and the climate control has been set to
“Away”
title: Everyone has left home
alias: "Notifications: Everyone has left home"
mode: single
icon: mdi:home-export-outline
And my returning home automation (which works fine):
alias: Arrive Home
sequence:
- service: scene.turn_on
target:
entity_id: scene.arriving_home
metadata: {}
alias: Activate lights scene Arriving Home
- service: ecobee.resume_program
data:
entity_id: climate.upstairs_thermostat
resume_all: true
alias: Resume schedule on Upstairs Thermostat
- service: ecobee.resume_program
data:
entity_id: climate.downstairs_thermostat
resume_all: true
alias: Resume schedule on Downstairs Thermostat
- service: ecobee.resume_program
data:
entity_id: climate.basement_thermostat
alias: Resume schedule on Basement Thermostat
- service: notify.notify
data:
title: Someone has arrived home
message: >-
A few lights have been turned on, and the climate control has resumed
its schedule
alias: "Notifications: Someone has arrived home"
mode: single
icon: mdi:home-import-outline