Rule 3.0: Wait for Event

Definitely possible! And I rely on that function extensively for most of my IF-THEN rules.

I'm also looking for something a bit similar:

...
Wait for condition: Garage Door closed TRUE. Timeout 5 min
IF Garage Door closed then
Do something (Garage door is closed)
else
Do something else (Timeout)
endif
...

Or maybe there is another way to achieve the same thing?

I'm curious if now with RM4.0 there's a way to get a timeout on wait in a roundabout way. I don't see an explicit option, but perhaps there's a trick.

I see "cancel wait," but I don't see how that can be used if the logic is held up waiting. I guess the process forks out to other areas at the same time. I always get tripped up on the order of operations in RM.

There is an explicit way to do this. Look for Elapsed Time in the list of available events for Wait for Event. You can have multiple events for Wait for Events, one of which could be Elapsed Time. Any of the multiple events happening would end the wait.

Holy smokes -- I'll take a look, thanks!

Is it on the roadmap for the Elapsed Time to get added to the Wait for Condition as well? Looks like right now it is limited to Wait for Events.

Elapsed time is an event, not a condition. It's an instant in time. So how could you describe it as a Condition? The main functional difference between Wait for Events and Wait for Condition is that the latter will not wait if the condition is true. But how could a condition of Elapsed Time 1 minute be true? It couldn't be, so if you need Elapsed Time, it has to be part of Wait for Events. The other issue is that it is Wait for Events, where there can be more than one. But, it is Wait for Condition, in the singular. To make use of Elapsed Time there would need to be some other event being waited for, and the Elapsed Time is a bail out. If all you need is to wait for some amount of time, just use a Delay Actions.

I get what you are saying that elapsed time is an instant in time and so doesn't truly fit the Wait for Condition situation, but your description of elapsed time being used as a bail out of a Wait for Condition is exactly what I would be looking for. My current example is Wait for Condition {list of several garage doors} closed, if 15 minutes elapses before that occurs stop execution of the rule.

Use a Cancel Wait with a delay of 15:00. Put that before the Wait for Condition.

This is more complex than that. It's doable, but messy. I'm going to look at possibly adding a timeout for Wait for Condition.