Delay the State of a Switch?

I currently use SHM for security and it is tied to the garage door. I have the alarm triggered to turn off when we get home. The problem is that there is a delay when ST picks up that we got home, so we open the garage door and the alarm triggers, only to turn off after a few seconds since it registers that we got home.

I tried expanding the geo-fence as much as possible, but I am limited to our work since it is somewhat close.

Has anyone created a device type or smart app that triggers a virtual switch after a certain time? I know Rules Machine could do that, but I did not if there was something else? Could you do this with a few routines?

I wrote a post explaining how to use a virtual switch sequence to add a delay to a routine, but I’ve just realized that you are asking about smart home monitor, which isn’t a routine and has its own logic.

What you’re asking for is an entrance delay, and smart home monitor does not provide one yet. Many people have asked for it, so hopefully they will add one in the future.

But at the present time it is not available with SHM.

You could use the community created smart app, smart alarm, instead, as it does have entrance and exit delays. But then you don’t get any of the official SHM features, including video display. You’ll find smart alarm in the marketplace section of the mobile app under security:

Sorry to be confusing the first time, I don’t know why I missed that it was SHM.

1 Like

I moved to Smart Alarm, but did not like the integrations into Smartthings, SHM fits in better. So I set up a virtual switch in Rule Machine to wait 30 seconds then turn on Siren. It was spotty and problematic.

To get around this I set up a rule when I key in my unlock code it turns off siren. I have only had 1 false alarm and the siren bleeped on for 1/3 of a second.

How do you open the garage door? May be able to trigger a disarm from that.


The delay is a combination of latency (time for command to travel across the internet) and processor lag in the SmartThings cloud. If it is over a few seconds, it is likely processor lag.

I don’t suppose you have that first post saved anywhere? I could use a method to have a virtual switch delay a routine. Specifically, I’d have my virtual guest switch turning on then have a delay before a routine turned it back off and updated my mode to home or away:

I’m trying to figure out an easy way to configure my Guest mode to end automatically after a set time. I use a virtual presence switch (virtual device type with both switch and presence capability) that acts as my ‘Guest’ presence. When it’s on, a lot of automations are inhibited and the alarm/security functions act as if I’m in Home mode. I turn guest on when I have company or a babysitter, but I have a tendency to forget to turn it back off. I’d like to turn it on and set a time for it to turn off again, whether a specific time or a delay period, ideally right on the device page but alternatively within a smartapp setup page.

I use the Skylark app for my Nest, it does geofencing for it and manages home/away based in my families iPhones. It has a Guest mode (where my idea came from), that you just turn on and tell it to run until a specific time you choose. While in guest mode, it ignores my families iPhones so the nest can stay in home mode. When the time arrives, it updates the Nest based on whatever the iPhone locations would dictate (all gone = away mode, some home = stay in home mode). I tried using virtual presence via skylark’s ifttt integration for my phones instead of smartthings presence (so the guest mode would control both the nest and smartthings), which worked great, but it turns out skylark’s guest mode only effects the nest, the geofence triggers still pass through ifttt to smartthings, hence my request for help.

For some reason, this question has come up six times in the last three weeks. That is how do you set something up to have a delayed on. Each time the use cases have been just enough different that I’ve ended up writing a different post as an answer instead of just writing an FAQ, but the main concept is the same every time.

I should also add, as i have in each previous post, that I’m sure there are much more elegant ways to do this with code, or possibly just with core (the new rules engine smart app that’s being developed, but it’s still in beta), so I’m not saying that this is the best way to do it.

This is just a really easy way to do it without needing any other custom code except for a virtual switch or two. :sunglasses:

The Daisy Chain approach: one switch comes on when another goes off

The idea is to build a daisy chain. You have a virtual switch which comes on with whatever your initial trigger was. In your case it might just be the guest mode turned it on.

You use the power allowance smart app in the marketplace to have that virtual switch turn itself off after X minutes.

Then you have smart light turn another virtual switch on when the first switch turns off.

And finally, you use the smart app in the marketplace that ties a switch to a routine to have a routine start when that second virtual switch comes on. “Hello home phrase” is the original term for “routine” but they mean the same thing.

( oh, we should also note that at some point you have to have the second switch turned off so it will be ready to turn on again the next time. you can have that routine turn the second virtual switch off again, or you can use power management with it, or whatever you want to do to get it ready for the next time. )

So that’s really all there is to it. The point is that you have one switch that operates as a timer and that switch turning off is what turns your delayed switch on.

( or in some cases you might just need power allowance, or just need one virtual switch – – it just depends on the specifics of what you trying to do. )

Again, this isn’t the most elegant approach, but it’s easy to set up. :sunglasses:

Here’s one discussion:

And for anyone who needs it, the FAQ on creating a virtual switch:


I think this might do it for me. I am going to try this out. Thanks for the details.

1 Like