Help with Vacation Rule

Looking for some help with my rule for vacation lighting. The rule seems to function just fine up to the wait until 9:40pm command. After that no other actions run. Any suggestions?

For information purposes:
"Breakfast Physical SW" is a ZooZ Zen 32 scene controller.
"DEN TV TIME SW" & "Go Upstairs SW" are virtual switches used to set scenes and triggered with Zen 32 button 3.

What do Logs say? If they are not enabled, enable them and take a look afterwards. This is a good first step towards troubleshooting any suspect app (or device). You could also take a look at App Status, specifically "Scheduled Jobs," for this app while that 9:40 PM wait is pending, but that would be more of a curiosity thing to see if things look right at that moment rather than something you could directly fix.

Off hand, the only odd thing I see is the "timeout" on your "Wait for event: 9:40 PM." This is unlikely to cause problems, barring some bug or design limitation, but it's a bit wonky since it's "proceed either at this time or after this much time has elapsed," and I could understand if that were a little-used/little-tested feature due to the fact that most people probably do only one or the other. If your rule is always triggered at a specific time, you'd know when this would happen already and wouldn't need both, for example.

And on that note, it's normally best to share your whole rule, including trigger events and (if used) required expression, so people can get the best picture of what might be happening. But for now...logs are your friend. :slight_smile:

This app was converted from Smarthings to run on HE - Vacation Lighting Director. Might be worth a look if you want to consider using an app. It's in HPM for an easy install.

A not too distant post on it regarding multiple instances:

2 Likes

Unfortunately I haven't had logs enabled for the past few days (I just turned that on today). I added the "timeout" today too just to see what would happen. I have posted the entire rule as suggested.

I just made a test rule of this and it worked fine for both when the time is met or when the timeout is met. Basically, my test rule shows that your rule should not stop here.

If either of the random delays would make you miss the 9:40 PM time then I could see the timeout being useful, though a 3 hour timeout seems too long.

The only part of the "timeout" function I don't understand is if it is based off of the previous actions, starting at "wait until 6pm" or if it is a 3 hr timeout from 9:40pm.

Thanks for testing my rule.
I'm hoping the logs reveal something.

The timeout will be on the action when it occurs, so the Wait for 9:40 PM action will be run a little after 6:00 PM so the timeout will happen ~ 9:00 PM.

By my count, that would really be 10:45 AM (but maybe I'm missing something). Note that the "--> delayed" option on an action schedules that action for the specified time in the future, then moves on to the next action. Those are all I see in this rule. So, the "Wait for event: When time is 9:40 PM --> timeout 3:00:00" action will be reached within milliseconds of the rule starting. The timeout seems like it would be undesirable in this case, but it sounds like it wasn't there before, and the rule still should have worked--again, unless I'm missing something. I suspect "Logs" may reveal something else that isn't apparent.

As a side note, if you want the "pause here until it's time" behavior with a delay, the standalone "Delay" action can do that; that is a difference between it and the "delay" option on an action itself.

On account of the above, I'd probably remove that timeout before you test again. Also, keep in mind that hitting Done or Update Rule will cancel any event subscriptions or scheduled jobs created by your actions, so if you do that while some actions are still pending, you'll need to start the rule over to see how it would really work. (But you don't need to hit either of those buttons after you've just edited an action unless you want things to "re-initialize" like that. You do need it if you edit, for example, a trigger event, in order to get the new subscription.)

Yeah, I was thinking about a Delay action, not a delay on an action. I'm not sure about the 10:45 AM though

Logs from yesterday. I clicked on the "Show more" button but it didn't work so this is all I got.

Did something actually go wrong? From your logs, it looks like the entire set of rule actions ran as expected (aside from the fact that you can't go far back enough to see the beginning, but you wouldn't have gotten that far if they didn't also run; I suspect "Show more..." was really "working" and there just wasn't any more, as past logs have a size-based cutoff, so your other apps/drivers may have been logging enough in the meantime that you don't have any more for this one).

Sorry y'all I was too busy to check back yesterday.

For some reason, everything is working now. I made a couple more tweaks to timing but it is functioning now. There is definitely room for improvement on this rule.

Thank you y'all for the help.

Yeah I figured the "Show more" was working but the log "rolled over".