How to prevent an automation to re-play?

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
2 Likes

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;

Screenshot 2022-10-07 at 12-02-42 new (Not Installed)

Screenshot 2022-10-07 at 12-02-52 new (Not Installed)

Download the Hubitat app