Prevent Multiple Instances of a Rule from Running

Is there a way to restrict a rule so only a single instance of it is running. I recently had an issue where a rule was supposed to run every ten minutes, but an error in a separate dependent rule caused it to fire every minute. As the rule is a timer, I don’t want more than one instance of it running.

Hi Ken-
The context of your original post and the rule design is really critical here.

Rules and Expressions with Open Weather API - #66 by Ken_Weise

Typical event driven rules won’t run into this problem. This is only an issue when the rule acts upon the variable/device which triggered that rule itself, causing it to loop – and specifically in a way where parallel loop executions could occur.

Example: a rule that triggers when a variable changes to true, then the rule toggles the variable to false, waits, then toggles it true again.

If the variable is set to true, that would start the ‘loop’ running. Then if you manually set the variable to true again, that would start another instance of the ‘loop’ running in parallel.

Make sure to check out the guidance I shared in my reply to your other post. In particular, using state stays as the trigger is a critical step here as it will effectively ‘deduplicate’ those parallel events.

1 Like