How I'm going to track a previous mode to return to it later, such as vacation mode - would like thoughts from others

Here’s the scenario:

We are on vacation. I place the house in Vacation mode, which is different than just ordinary Away mode. A vacation Hello Home action activates a On/Off button tile (aka virtual switch) to On, representing that we are on vacation, and sets the mode to Vacation.

In the mean time, different friends come over to check on our cats while we are away. They enter their code on our Kwikset, which changes the house to Guest Mode. After they check on the cats, they lock the door on the way out. This would normally place the house in Away mode, since we are not regularly on vacation and friends may come over to house house for other reasons while we are around.

To get it back to the proper vacation mode, I’ll use @obycode’s awesome SmartRules app to do the following if/then…

If Away mode is activated
While virtual switch is On (representing we are on vacation)
Then set mode to Vacation

I have my “I’m Back” Hello Home phase set to always deactivate the vacation virtual switch since I only use that Hello Home phrase for us (meaning we are there and not on vacation). The Guests are Home phrase does not change the virtual switch state.

So, what do you think? Are there other ways I could ensure that the house is vacation mode even after other mode changes…meaning remember that previous state for future use? Basically doing a gut check with the community to lean on the collective intelligence out there.

2 Likes

Using a Virtual Device to store a state is an excellent idea (though ST could just give us more near-global variables…).

In fact, I just posted about this… Frankly, I think we could merge the threads (and start a new Capability definition…).

This is fairly simple to accomplish natively using the built-in mode restrictions for your apps and phrases. All you have to do is restrict the app/phrase you use to transition to Away mode so that it only runs while in Home mode. Next, create a new app/phrase that transitions to Vacation mode and restrict it to only run when in Guest mode.

2 Likes

This is a great answer!! Notice how simple and elegant a solution it is, not entailing virtual devices or special apps, but just the built-in capabilities of ST. Many times, the best answer is right in front of us, but we get caught making the problem harder than it needs to be.

Ah, the problem is that Guest mode does not necessary lead to Vacation mode. Guests come to our house and let themselves in via the Kwikset but if they leave, that does not mean we are in vacation mode. Hence the need to use a virtual switch to track that state.

Yeah “your use case is not my use case.” :blush:

It could still be done without custom code, but you’d probably have to increase the number of modes. Like make a duplicate set of hello home actions and have a vacation-occupied and a vacation-unoccupied mode to mirror home and away when you’re not on vacation. Whether that would be more or less work just depends on how much custom code you’re already using.

Given how modes work with SmartThings, it’s best to not have a single mode represent multiple states of your home. Adding a Vacation Guest mode should cover your use case. Guest mode would represent when your home is occupied only by guests and you aren’t on vacation while Vacation Guest mode should represent when your home is occupied only by guests while you are on vacation.

1 Like

Totally understand. However, in our case, Guest mode is actually the same whether we are on vacation or not. Sometimes friends come over to hang out with the cats for extended periods of time while we are away (to watch a movie, etc). And, a friend of ours who works from home sometimes comes over to our house for a change of pace during the day and hangs out with the cats (everyone seems to love the cats).

So, in our case, Guest Mode (whether we are on vacation or not) is exactly the same. The reason I’m using a Vacation mode is I’m running the Occupancy Light Simulator. If we are not on vacation, I don’t run it…although I’m now wondering why I made that decision! :smile:

You would solve the transition problem with Vacation Guest mode. Vacation Guest mode would be identical to Guest mode but for the transition to the next mode when the guest leaves.

1 Like

Except it’s not exactly the same if you want the installation in a different state when the guests leave. Which you do.

Not on vacation and guests leave: mode changes from guest to away.

On vacation and guests leave: mode changes from guest to away+vacation indicator

There are multiple ways to handle that, as you’ve mentioned, but the installation ends up in two different states.

Good point. I was looking at it purely from a mode when they are there, not mode it transitions to. However, this is where I may live with the current option so I don’t have to maintain two Vacation modes.

Sure, that makes sense. Both approaches are work, which one is more work depends on exactly how you have things set up. Local issues, including your interest in maintaining custom code. :wink:

I originally thought I wanted a vacation mode too, but I ended up deciding that it was best to have my house react the same regardless of whether I was away or on vacation. In theory, it’s one less clue that indicates the true occupancy status of my house to external observers. Since your use case is for Occupancy Light Simulator, not using it for away mode is an indicator to external observers that your home is not occupied. As you’re seeing, dealing with a vacation mode complicates mode change logic quite a bit with very little benefit in the end.

Good advice for something to consider, but again, “your use case is not my use case.”

Lots of people use vacation mode for stuff other than away mode, like much lower thermostat settings, very different lock schedules, etc. None of that would look any different to a potential burglar.

As for lights, if your normal Away is during daylight hours, then the light pattern won’t be visible.

The original timer lights weren’t variable on and off during an evening. They just simulated “come home” (lights on) and “bedtime” (lights off.).

Now with zone lighting more people are turning lights on and off while they’re home to save electricity, so you might want to simulate that while you’re on vacation. Or not, if your is the only automated home in the neighborhood.

One quick note- I use no custom code…well, in the traditional sense, shall we say. I’m using @obycode’s SmartRules app, which is awesome! I just tested this and it worked like a champ, as expected. Much easier than maintaining two mode sets and then trying to figure out how to handle the door codes activating two different modes.

2 Likes