How do I prevent an automation to replay if it has run in the last 45 minutes, for example. I have a pump that runs on detecting motion, but I don't need to run again within 45-60 minutes of the next detection.
Thank you.
What app are you using to create the automation (e.g., Rule Machine, Room Lighting, etc.)?
There are a number of ways to do it in Rule Machine. I'd probably use private boolean.
If Private Boolean False
Set Private Boolean True
do stuff here...
Wait for Event --> elapsed time 00:45:00
Set Private Boolean False
End-If
I am currently using Motion and Mode Lighting App but figure it's not what I should use...
Yeah, you'll have a hard time doing this there. (Not impossible; you could create a virtual switch or something and use it as a restriction for turning on, coupled with a rule that manipulates the state of this switch depending on motion...but it would probably be easier to just use a rule for the whole thing.)
For Rule Machine, one option is:
Required expression: Private Boolean true
Trigger events: Motion active
Actions to run:
Set Private Boolean false
On: Pump
// Do whatever else (turn off? do something when motion inactive?)
Delay 0:45:00
Set Private Boolean true
(You could also use a conditional in the actions, like above, though Private Boolean defaults to true and I'd probably switch up what is being checked for that reason.)
In Rule Machine;
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.