Keep Heat On If Someone Is Home?

I am trying to set up a routine where during a certain time period I’d like to keep the heat at a specific temperature if either my wife or I are home. I want the automation to be set up so if either of us is in a ‘home’ status, the thermostats change to the specified temperatures, starting at a certain time. Now though, my thermostats will only set to the correct temperatures if someone leaves the specific geo-area and returns. Admittedly I have a lot to learn about Smartthings automation, and any help is appreciated in getting Smartthings to take action on a ‘home’ status, and not a transition from an ‘away’ status to a ‘home’ status. Thanks!


1 Like

ST Routines work based on state change, i.e. Location mode changes from Home to Away or Light Switch goes from off to on. Preconditions are used as boundary conditions when an event occurs where state changes, i.e. When the Light Switch goes from on to off and (pre-condition) the Location Mode is in Home then do something. So your Routine says:

Between the hours of 8:31am - 3:29pm (pre-condition)
If the Location Mode becomes Home
or
If Some arrives Home for 5 seconds
then
Set all those thermostats to heating temp x
and Notifiy Members with “your message”

So, for that Routine to work, Location mode must change state or Location of member must change state. Perhaps this is more what you had in mind:

If Location mode is Home (precondition)
and
Any member is Home (precondition)
If time is 8:31am
then
set thermostat temps, etc

Personally, I’d get rid of the member location in general and instead set your Location mode based on member location to simplify things. Also, you are probably going to need multiple Routines to deal with all the various use cases such as a Location mode goes to Home after being Away, lowering temps when Location mode goes to Away, etc.

Now, if you’d like to continually check the state of Location mode during the specific time period, you could use the Edge Counter Utility in a few Routines to set up a looping action. Once you create a counter device, set up a Routine like:

If 8:15am
then
Turn on counter device

Then create a Routine for managing the temps during the interval:

Between the hours of 8:31am - 3:29pm (pre-condition)
Location Mode is Home (precondition)
If Counter duration is Equal to or above 15 mins (as an example)
then
set all the temps
Turn on the counter device (which resets it to zero)

If 3:29pm
then
Turn off the counter device

There are probably various combinations of Routines that can achieve what you are looking for. Just keep in mind whether your particular iteration needs to check the state of “things” vs a change in state.

3 Likes

Thanks very much for the great information and advice! I misunderstood how home mode works. I set up a routine for both of us that puts Smartthings in home mode if either of us arrives. So in your correction to my routine, that would mean that if the time is 8:31am, and if either member is in home mode, the thermostats will set to desired temps. Makes sense.

I like the idea of a continual monitor of the location, and I might implement it.

Again thanks a ton!

If you are already setting Location mode to Home when either of you arrives, then I would make it simply:

Location mode is Home (precondition)
If time is 8:31am

So if either of you are home, Location mode will already be in the Home state and at 8:31am your temperature Actions will be executed.

Yep, that is what I was thinking. Thanks again.