Will a rule run more than once at a time?

Something like this perhaps?

Of course my devices don't match yours but it should get the idea across.

So cancel delayed actions:

Cancels delayed actions ONLY from THIS rule, but all instances of this rule?

Yes

1 Like

Multiple simultaneous instances all share the same state, subscriptions and scheduled events. As a general comment, avoid creating this circumstance.

Watch out for multiple triggers of rules with delays.

1 Like

Coming late to this party. Please describe what you are trying to accomplish, minus how you put it in a rule. A rule triggered by both a time and by a sensor event is a formula for problems.

Multiple triggers with an IF to sort out which one fired is not good either.

My only real question was...if I open my garage door twice in 10 minutes...but my rule has a delay of 20 minutes in the rule..."what's going on in Rule Manager".

I just wanted to understand how it works, so that as I add more Actions/Delays/Exception-Criteria, that I don't screw up the logic of what's actually happening.

I think I understand now:

As long as I start with "Cancel Delayed Actions", all previous instances that were being delayed are effectively destroyed. (I have to assume that means all actions after that delay)

1 Like

Good point. I originally was going to post the rule without the time trigger. I was just trying to match his original request. The above sample will work just fine without the time trigger. The extra trigger is just an edge case that really isn't needed to be covered.

How do I do it without the time trigger.

What if I opened my garage door at 8:30, and now it's 9:30? There was no event to trigger the rule.

How do you do what? You haven't explained your use case, what you want to happen.

Don't leave your garage door open. :wink:

2 Likes

I think it breaks down to this:

During the day if the door is left open don't do anything.
Between 9:30 and sunrise automatically close the door if it has been open for more than ten minutes.

  • Any time after 9:30pm if the garage door is open...notify me...give me 10minutes to override...if not, close the garage door.

OK, let's take it apart into pieces.

The trigger should simply be Garage door opens.

First to deal with the time, just make that a simple conditional action at the beginning of the rule:

IF(Time between sunrise and 9:30 PM) Exit rule

So, after that, we know it's time to act:

  • First we notify
  • Now we wait 10 minutes
  • Close the garage door

We could use a Wait to do this;

Wait for event: garage closed, timeout 10:00
IF(garage open) Close: garage

Been using this rule for a while now...I have one on all 3 garage doors. As you can see there is a virtual "kill switch" called garage door pause. Turn that on and it leaves them open as long as you want.

1 Like

This doesn't account for when I was doing yardwork all day with the garage open...then go inside and forget to close it. That's why i need the time trigger as well.

OK.

Consider this, which doesn't take into account that issue;

This is pretty close to what I have been thinking. Then I plan to make a rule that will flip my vSwitch and flip it back after 30 minutes or something (so when I inevitably forget to turn off my override, the garage doesnt stay open all night LOL)

But one big question. What is this rule created in? I've only used HE for a few months but I've never seen that UI with "Define Rule" and "Select Actions for True". Is that an older version of RuleManager or something?

That is now retired Rule 3.0.

2 Likes

I have most of my kill switches get reset at some point during the day. For me this is when "Night" mode turns on which for me is sleeping mode. So all doors should be shut at that point and if they are not there is an alert and they get shut at that point. So that might be a good option for you too. When mode = night if garage door open, then close it. We all have our ways of thinking.

Yeah that's an older Rule 3.0 which I don't ever want to get rid of. It makes things like this SUPER easy compared to 4.0.

Here is the modified version for that case:

This one will not have multiple instance problem. Wait is cancelled whenever a rule is triggered.