Wait Timeout or Timein?

What happens if a rule hits the end of a timeout period connected to a Wait for Condition? I imagine two possible answers:

  1. the rule stops processing (a true "timeout"): it hits the timeout period without the condition being satisfied, so the condition is judged to have failed; further processing within the rule stops.

  2. the rule continues processing whatever is next (sorta "timein"): it hits the timeout without the condition being satisfied, so the rule moves on to whatever logic follows.

I searched around but couldn't find the answer anywhere. Also, is the answer different for WFE vs. WFC?

If you have a wait with a timeout specified, the rule will continue when either the timeout expires or, if you have wait for event or condition, when the event happens or the condition is met. In no case does it just stop running after the event/condition or timeout, though there is something to note about waits in general below.

The difference between those two is the difference between events and conditions themselves: events are things that happen, like a contact sensor opening. Conditions are states, like a contact sensor being open--things that can evaluate to true or false. If "Contact 1" is open and you have "Wait for Event: Contact 1 opened," it will pause until another "opened" event is received. If you use "Wait for condition: Contact 1 open," it is already open (so the condition is true), and the rule will proceed. Also, note that "Waits" are reset any time a trigger happens, so if you're stuck at a wait but one of your rule's triggers fires again, your actions start over. This is different from "delays" that are only cancelled if you explicitly say so.

3 Likes

So I have a rule set to open my second garage door when my presence rules dictate that I have arrived home, furthermore, I then have that same rule wait(with a timeout delay of 1 min) for my garage door contact sensor (entrance to the home) to change states to open. Then it will close the garage door. However, I would like the rule to stop processing if the garage door contact sensor (entrance to the home) is not opened before that timeout rule. How would I achieve this?