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.

2 Likes