Is it possible for the SmartThings hub to catch up on events that occurred when a device was offline?

The background: I have Hue bulbs and a bridge setup and much to my frustration, using Hue as a stand alone system, if a bulb is turned off at the wall and a scheduled event is set to occur on that bulb then that event is ignored even if the bulb is turned on a minute after the schedule time. In otherwords, the bridge won’t play catch-up for delayed events that didn’t run on time. In the context of lights and moods I want to setup at different times of the day I find this highly frustrating.

What I’m wondering is if the situation of running events that are late is natively any better inside of SmartThings? If it is maybe I can delete all my schedules on my Hue bridge and just setup automations or use some app to assist with this in a way that isn’t possible just using Hue.

Anyone got an idea if SmartThings can come to my rescue here ?

You should be able to do so with webCoRE, it’s very powerful and once you set up you can basically do any rules you want:

webCoRE wiki

1 Like

The short answer is no: All home automation systems work pretty much the same way in this regard. You have a “trigger” event and if the device was not available to the system at the time that the trigger would have occurred, then the automation doesn’t run.

There are two ways around this, and more options for performing those ways with smartthings than there are with just the plain Hue bridge, so you can probably still get the end result that you want. It’s just not going to be done quite the way you describe. :wink:

OPTION A: AVOID THE PROBLEM ALTOGETHER

The first, of course, and the simplest, is to make sure the device doesn’t go off-line. With smart bulbs, there are three reasons for this.

  1. Extending the lifespan of the bulb. Most of these devices are intended to always be on power (see your user guide) and frequently cutting the power by using a switch on the wall will actually damage the bulb over time because of the inrush surge that occurs when power is restored. It’s OK if this just happens a couple of times a year because of power outages or home repairs. But if you are turning a hue bulb on and off with a light switch every day, you are probably going to shorten the life of the radio inside that all by about 25%, making an expensive bulb that much more expensive.

  2. Improving overall communications. When you cut power to a bulb, you remove it from the mesh that the device is used to communicate with each other. This can make other bulbs that are still on power seem unreliable because they can’t get their messages through.

  3. Make rule setup simpler. This is The one you mentioned: your automations can’t run if the bulb is not on power to receive network messages at the time they are triggered.

There are lots of alternatives to this practice these days, the simplest and most elegant being to use a battery powered switch cover which gives you a control on the wall that works just like a regular wall switch but it never actually cuts power to the bulb. :sunglasses:

My personal favorite for this is the Lutron Aurora dimmer, which works very well with the hue bridge, but there are a number of other options as well.

image

So if you do that, the problem is solved. :tada: The bulbs will be on power at the time that your trigger event occurs. You help preserve the battery life of the radio inside the bulbs. You improve mesh communication. And your automations can run when your triggers occur.

FAQ: Looking at a good Wall Switch for my Hue Bulbs (2018 Short FAQ) ( also applies to other brands of smart bulbs)

OPTION B: CHANGE YOUR TRIGGER DEFINITION

OK if for whatever reason you don’t want to just solve the problem by making sure that the power stays on, you can change the definition of the trigger. This may require having two (or more) automations where you previously had one.

Say your previous rule was “if it is 6 PM, dim the hall light to 50%.” Keep that rule.

Now add an additional rule that says “when the hall light is turned on, set it to 50% if the time is between 6 PM and 7 PM.“ That will catch the situations where someone had turn the light off at the switch and then turned it on again.

This method works, but it all depends on the details.

If you start getting stacked conditionals and a whole bunch of complicated additional factors adding into your rule, then you may have to go to Webcore as @pauly suggested so you can store values and check them later. It can probably still be done, but you should ask in the webcore forum for help to get it set up.

FAQ: What is WebCoRE? (And what was CoRE?)

So is it possible with SmartThings? Probably. Is it easy? Not in the way that you first imagined it, but it’s not too hard. The easiest way is just to add a device to prevent people from turning off the power at the wall. Once you’ve done that, everything else works exactly as you hoped.

But if, for whatever reason, that’s not an option for you, then you should still be able to do it by changing the definition of the trigger that you are using. But it will probably require multiple rules and some help to get it all set up right.

4 Likes

There is a SmartApp from @RBoy, which works with Routines. The concept is similar. Check that the Routine has finished correctly.

[RELEASE] Routines Backup - Verify/double check your routine execution, notify and take actions

(I have never tried it, and I don’t know is there any equivalent for Automations.)

1 Like