How do I run a rule from another rule in RM4.0?


#1

First, this is what I need to accomplish:
I have a rule to turn on the stairs light when motion sensor is activated.
I need to have another rule that will stop the motion rule for 15 minutes and then resume it.

Pausing the motion rule works, but once it is resumed, it will not run the first time motion is activated. I got around this quirk in RM2.5 by also adding an action to run the first rule.

I can't find the equivalent option in RM4.0. How can I accomplish this?


#2

I'm not sure I understand this statement. If the rule is resumed, it should run again no problem unless you have some type of private boolean built into the rule. Can you show a copy of your rule?


#3

Here is the stairs motion rule. But this is how all my 2.5 rules work when paused and resumed so it's just part of how rule machine works. Lets get passed the rule as this is not the issue. I just want to know if there is a way to force run/evaluate of the rule from RM4.0. If not, I'll just have to keep the motion rules and all rules that pause them on RM2.5.


#4

How many motion sensors do you have in this rule?


#5

Just one, but again, this is irrelevant to the issue here.

I'm going to try remaking this motion rule as a 4.0 and see where it goes.


#6

I don't believe it is irrelevant. Because the rule says "all active" which is usually gets selected when you have more than one motion sensor in a rule. When there is only one, it says "active". So, did you have another sensor in this rule at some point?


#7

Yes I believe there is a run rule actions on this X rule. It's in the private Boolean drop-down.


#8

I tried that one but it's not what I need. That option seems to run the rule actions without checking the conditions first. So in my situation it just turns on the light.

I need the rule to run and evaluate if there is motion or not to determine if the light even needs to be turned on after the 15 minutes are up. Basically, I just need the rule to run after the 15 minutes are up and it is re-enabled.
This isn't happening and I can find no function that does this.


#9

Can you fake it somehow? Like turn on a virtual momentary switch that acts as trigger for the rule you need called?


#10

If the conditions are in your action, they will definitely be checked. The only thing that is not necessary when you run a RM 4.0 rule from another is the trigger events. So, your conditions in RM 4.0 will be evaluated just like they would if the trigger event took place. I use this all the time.


#11

@Ryan780 is correct I do the same and it evaluates the rule just the same as a trigger would. But it needs to be a 4.0 rule with your conditions set up, I have no idea how it would work on a 3.0 as what actions would it run true or false or both?


#12

Thanks for clarifying how the "Run Actions" works, in that is really means run that rule.
I got it working last night after first recreating the motion rule as a 4.0 rule, and then adding the "Rule Boolean True" just before running it as it appears the rule boolean is left at false when it is paused, causing the rule not to work once it was run again.

The pause rule:
image

The motion rule: