Home Automation "Modes"

It’s very frustrating — so many platforms that include “modes” to set day/night and presence (home/away), but still no cross-platform ability to control these modes, and even then only SmartThings allows setting its OWN modes via presence detection. I don’t wish to be bothered to manually change modes on three different platforms, every time I walk in/out of my own home (it’s not really about not wanting to be bothered, it’s that I will constantly forget to do it). I use three platforms that all want me to set modes, and two of them only allow to MANUALLY set the mode (no automation to set the mode). I use SmartThings, Alexa, and Ring. All three of these include some concept of “modes” that in turn control devices on their own platform, but ONLY on their own platform. All three claim to be compatible with the other two (i.e. “works with Alexa”, “works with SmartThings”, “works with Ring”), but these claims are mostly about device control only, so the APIs don’t expose methods that would set modes on the other platforms . My preference is to let it all be completely automated, detecting the correct mode to use based on presence sensors for both me and my wife (is our phone at home or not). Only SmartThings allowed me to construct routines that set its own internal modes, but it cannot also change modes of the other two. Ring has a geofencing ability, but oddly enough you cannot make its own geofence feature set its own modes! And it certainly doesn’t allow other platforms to do so. Alexa goes so far as to intentionally block me from doing what I want: attempting to create a routine that will change the “Guard” mode depending on a location, results in an error message “Secure Actions Aren’t Supported With Location-Based Routines”. Have I overlooked a way to simplify modes across these different platforms?

TWO TYPES OF MODES

There are commonly two different types of modes on many platforms:

location modes

Which are used to control actions for the house as a whole. In smartthings the default for these are “home,” “away,” and “night.” You can add others as you like. For example, at my own house, when the mode is night, a motion sensor in the hall, causes an overhead light to come on when motion is detected. But when the mode is home or away, the motion sensor is ignored.

We have a smartthings routine which automatically switches the house to “night“ at 30 minutes before sunset every day. And another which sets it back to “home“ at 7 AM every morning.

Security modes are different. These are generally used to control an alarm system. In smartthings there are three values for these: “disarmed“ “armed stay“ and “ armed away.“. A common use would be that if the security mode is set to either “armed stay“ or “armed away“ then cause a siren to go off if there is motion detected in the basement. If the security mode is set to armed stay, it means that people are home. You still want the siren to go off if there’s motion detected in the basement, but not if there’s motion upstairs.

Customers are not allowed to create additional security modes, but you can still set them with a routine.

Guard modes in Alexa are definitely security modes.

BASIC TRICK FOR SETTING SMARTTHINGS MODES

Because smartthings allows you to set the value of its modes with its own Routines, there’s a very basic trick for using information from another platform to set those modes. As long as you can get some integration, typically through Alexa routines, you can have a mode change on the other platform turn on a virtual switch in smartthings, and then you could have a smartthings routine which sets the smartthings mode However you want it to be. This is a common way of integrating smartthings with an external security system.

For example, if your ring system is set to “away,” you can use an Alexa routine (not a smartthings routine) to turn on a virtual switch in SmartThings, and then have the virtual switch coming on trigger a mode change in smartthings using a smartthings routine. It’s a little clunky to set up, but it will work.

However, it only works in One Direction. Ring, like many security systems, will not allow external systems to disarm it. You can arm it using the same basic method, but not disarm it. That’s just a decision that they’ve made, but it is quite common in the security industry.

Note that smartthings will also allow you to set its location mode this way, so quite a few people will use Alexa presence from the Alexa app to set a virtual switch, and then have a smartthings routine, which sets location based on that. But again you can’t go back the other way.

THE RUBE GOLDBERG TRICK

Because I myself am quadriparetic, I really need voice control of pretty much everything. Although a lot of security systems have a keypad or a fob to arm/disarm, I can’t use those. Fortunately, there exist some robot button pushers, essentially a robot finger, that work with smartthings, and also with Alexa.

There are a couple of different brands, but the one that I like is switchbot. So you set up the button pusher to literally physically press a button.

Obviously, this is pretty hacky, but it will work. To be honest, the biggest drawback of this method is the cost. The robot button pushers cost about $25 each and you will need a special hub to get integration with smartthings or Alexa. You can get a minihub for about $40 or if you want to spend about $70 you can get a hub which works with matter, which will give you local integration to smartthings.

This kind of method is worth it for people in a situation like mine, but probably not for most able-bodied people.

SUMMARY

So, as long as there is any integration between the two platforms which allows you to turn on a switch in smartthings when something happens on the other system, you can use the virtual switch trick quite easily to synchronize smartthings mode with the other system. But you can’t typically go back the other way.

To do that, if it’s really important to you, you might have to use a physical button pusher. It can work, but it does cost more, and it is more complex.

IMG_7871

3 Likes

Hear are my Alexa routines to start and stop Alexa Guard using an Alexa Switch created in ST.

The following are my ST routines to turn the Alexa switch on and off.

I used to do something simpler for Ring but they put it behind a paywall a few months backs.

3 Likes

Paul makes a very good point: I forgot that Alexa also offers “custom skills” in their routines now in some regions, which allow you to have an Alexa routine (not a smartthings routine) which can do anything that you could do by speaking to an echo device. So that’s yet another option and would probably be easier, and definitely cheaper, than the robot button pusher for a lot of use cases. :sunglasses:

Or you can even have one Alexa device physically speak the command to another.

It all takes a bit of plotting to figure out what method will work best for you, but there probably is a method that will work. :thinking:

3 Likes

I use virtual switches to switch modes. I have a routine that if the switch is on it is a particular mode and if off another mode. This helps as all other platforms are able to control switches.

2 Likes

BTW, we’ve all shared your frustration at some point. Even when two platforms say they are compatible, that doesn’t necessarily mean all models or all features. That’s why we often say the first rule of home automation is “the model number matters.“ it can be really tricky to figure out exactly what works with what.

This year at our house we had to get a new home heating system because our 40 year old furnace finally gave out. We got a Mitsubishi mini split system which we really like, and because I’m quadriparetic we needed one with Voice Control, and, indeed, it does mostly work with Alexa. But at the time of this posting, there’s no way to set it up in “auto mode“ (which will automatically switch from heating to cooling based on the indoor temperature) and also use it with Alexa. So we have to manually make that shift. Or set up an external system with logic to then change between modes using alexa routines as an intermediary. I’m one of those people who read the user manuals before I buy a device, but nothing in the support articles or the user manuals pointed out this issue.

We probably still would’ve gotten the same system, we like it for a lot of other reasons, but it’s still annoying. :rage:

2 Likes

I do appreciate everybody’s input here, thank you all. I have created 7 virtual switches in ST, but still working on (and properly testing) that these switches get set according to a combination of location and sunrise/sunset. I know that preconditions are the key here, still testing.

Looking forward to then taking actions based on these switches. One problem I’ve already run into is that from my Alexa app I can see all 7 of my new virtual switches in the “Devices” tab, but when I try to create a routine these virtual switches are missing from the “choose device” list. Is there some trick to getting my ST virtual switches made available for use in Alexa routines?

Yep.

At the time of this posting, Alexa Routines cannot be triggered from most Switches, and that includes the ones connected to smartthings.

It can be triggered from a Contact Sensor, a motion sensor, or a lock. Physical or virtual.

So the trick is to have a virtual device of a kind that Alexa will use to trigger a routine and then have your virtual switch change the state of the virtual sensor/lock.

Your options will be somewhat different, depending on whether you have a Smartthings/Aeotec hub, but the basic idea is the same.

See the community FAQ:

FAQ: Can I trigger an Echo Action without Speaking to It?

1 Like

Hi Paul. I used your solutions, along with the virtual switches idea from JDRoberts to use edge switches, and now I have a (mostly) working system! Thank you both.

Now I want to complete my automations by including the setting of Ring Modes. You said that you did this before, but Ring’s paywall stopped it. So what level of membership would I need to to make this work? Please explain the API calls that would be exposed to me that currently are not.

1 Like

Tim, I don’t know what level you would need. I am using the free level. I currently use a smart plug to turn the camera on/off as needed. Obviously that won’t work for battery operated models.

EDIT: Forgot the words “currently use a smart plug” to turn the camera on and off. In the above post.

You said that you had it working before they put Ring behind a paywall. So what API calls/methods did you access when it last worked?

You need to subscribe to a ring protect plan, and, as of a few weeks ago, you also need to have the paid level of the Alexa guard feature. At that point, you can use the following instructions to disarm and change some ring modes (but not to arm).

I don’t know if you can disarm using a “custom“ command in an Alexa routine or not. :thinking:

In the past I was able use simple Alexa routines to arm and disarm my Ring Camera. The Ring routines were triggered by a ST virtual Alexa Switch.

I did not deal with the API.

2 Likes