How does Repeat Actions work

In the simplified example, it would be. But what I'm talking about in the broader context is a sequence of event driven actions. The sequence starts, does A, B, and C then stops until X happens, then does D, C and E then stops until Y happens and then does F, G.... Doing all of that with separate rules enabled and disabled with PB is going to get VERY messy if the sequence is interrupted. If it's all in one rule, you have the escape based on Truth Change to the triggered rule at the top.
To me THAT is complex automation.

1 Like

Ok. I see. Well, we are just at the beginning stages of this capability. Given time I have no doubt @bravenel will be able to optimize how that function works.

You are wanting a WAIT for event action. I understand that. My advice is don't try to make Repeat serve that purpose.

1 Like

So much capability in RM 3.0, it’s easy to overthink things and make your rules contradict themselves. Did it to myself this morning.

We need an inference engine to watch what we’re doing and tell us it doesn’t make sense before we make those mistakes. We could call it B.R.U.C.E (Bring Rules Under Control Engine) :wink:


No, not for every action. That doesn't make sense either. But one of the things that I am struggling with now that I have a lot more rules is that when I want to change something, I have to go into 20 rules to change it. That's really tough to manage. But if we were able to keep things within the same rule, then you only have one to go into. My example with the light for example, if the contact sensor for the front door changed, that would be 3 rules I have to go into to update rather than one. If it accomplishes the same thing and doesn't cause a lockup, I don't see the harm in doing it differently. After all, options are good, right?

Another thing that would help with the number of places to make a change would be Time Variables. For example, if i had a time variable set to Sunrise plus 20 minutes and then could write rules using that variable, if at some point I decided I wanted to change that to sunrise plus 30 minutes, I would only have to do it once vs in a dozen or so rules.

These would be extremely difficult to do. Times are just a super messy thing to deal with.

Yeah...i know. But i can dream can't I? :smiley: Maybe in RM 9.0. :wink:

rather than a WAIT WC had a condition of if WAS. So in @Ryan780 example it could be if mode WAS away or presence device WAS away and door closes turn off the light. That way its event triggered?

Oh, don't open the "was" box....we don't want Bruce to have an aneurysm!

1 Like

What's particuarly wrong with WAS. I was (he he!) thinking about this at my kids soccer match the other day, and came to the conclusion that WAS could be acheived in RM with cancel on truth change and at worst a virtual switch.


Well, first of all, in WebCoRE, the was is associated with a time period. Either the device was like this for such a period of time or was at this state at this point in the past. That requires that Rule Machine would have to keep track of the time between events for subscribed devices. I don't think it has anywhere close to the computing power to keep track of that for subscribed devices. So, you would need to create a rule with a virtual switch for EVERY one of your conditions. That is a HUGE undertaking and definitely making things more complicated than they have to be. You can get around using WAS pretty easily.

‘This is really good information to push out to everyone. As a reminder.
From reading the forums I believe I see many instances where people are thinking the Hub is
Computationally Active.
This is great for new comers to understand.

1 Like

OK, don't have a stroke, but I just added Wait for Event to RM actions.

This will work for most, but not all events that can be trigger events. For now, that excludes anything concerning time, rules, triggers and global variables. I may add in the rules, triggers and variables, but probably not time related events. As I mentioned earlier, time is a very messy thing to deal with in general.

This is a nice feature. No doubt you can come up with all sorts of crazy things to use it for. It doesn't support being delayed, or being conditional (Simple Conditional Action).


@bravenel gracias, danke, tacka, merci and THANK YOU!!! That is great!!

And I assume the waits are canceled along with all other rule actions, correct?

What do you mean by that? They don't have Cancel on Truth Change. What circumstance cancels "all other rule actions"?

"Stop actions of rule X". If this was executed from another rule, i'm assuming the wait will be canceled as well.

Haven't done that yet. Makes sense though.

1 Like

Sweet! Yeah, that's always the catch-all in case the "sequence" gets interrupted.
Thank you Bruce. This is really, REALLY helpful. Makes things much easier to build, even if they could be accomplished in other ways.

1 Like