Remind me about the subtle differences in different kinds of waits

That should work! "Wait for event" waits for the specified event to happen (I know, I know, circular definition--but hang on), whereas "Wait for expression" waits for the specified expression (condition or combination of them--it used to be called "Wait for condition(s)," if you remember that) to become true. In some cases, they can achieve the same outcome, but they are looking for different things; a "Wait for expression" will proceed if the specified expression evaluates to true at the moment when it is reached or any time in the future if it is still waiting (usually as the result of an event that makes it true), but "Wait for event" is looking for the actual event to happen and does not care about any current states. I normally suggest "event" unless you have a reason not to use it.

You can achieve a similar effect with "Delay," though you'd have a harder time making that happen at 11:59 PM (you can only specify some quantity of time, not a specific time to delay until; it's really similar to "Wait for event: elapsed time"). The biggest difference besides that is that trigger events cancel all waits, whereas delays must be explicitly cancelled if that is the behavior you want. That much likely doesn't matter for your rule, which should only trigger once a day and be done with any waits or delays long before it triggers again. I also think "Wait for event: elapsed time" fits what most people want most of the time better than "Delay," but "Delay" has been around (or at least easier to get to) for longer, lots of examples still use it, and in some cases you can use them interchangeably, though in most you probably need to pay attention to the differences in cancellation (and I normally recommend "Waits" because, again, they tend to be what people want--cancellation on re-trigger--without extra effort).

4 Likes