I am curious whether either of the above be terminated by either a CancelDelaysAction or another trigger? For example, a simple rule using the above may be as such:
Trigger - Door opens/closes
Trigger - Motion sensor is active
if Open turn on light
elseif Motion wait for condition: Motion Sensor inactive
elseif Close turn off light after n-Minutes
If the rule is "waiting for the condition" after which to door closes, is the "wait" terminated?
I noticed / want the same think.... I think. I wanted to trigger a rule on a battery sensor getting down to 25%, turn on a switch and then wait for the battery sensor to get to 75%, but wanted the option to cancel the wait if the switch was turned off by something else.
In your rule, yes; any trigger will cancel a "Wait," and the door closing is one of your triggers. (That being said, it looks like there is a typo near the "ELSE-IF" in your rule, so if this isn't what you intended to write, the answer might be different...)
Just edited the post. Did I fix what you noticed?
I think so (though the rule as written is a bit different from how Rule Machine would display it; only the condition displays on the same line as an ELSE-IF, and the actions would be nested inside...but I think it's clear what is what). Looks like that doesn't change the answer since your wait is still cancelled by a re-trigger, which in this case could be any open/close event on the door or the motion sensor becoming active (regardless of what triggered it in the first place or the fact that it's waiting on the motion sensor).
PS - Add an
END-IF after all of this if you want to be fully syntactically correct. Rule Machine will infer it just fine here since it's the very last thing, but it will matter if you ever want to add actions after this.