How to Force a Rule to run


#1

Let say I have something like this:

Condition: Garage Door Open
Action: If this then that...

Is there a way to force this Rule to run the Action even though the Garage Door did not open?
Maybe something like Turn On Private Boolean for this rule, I don't know.

I'm still not sure about the meaning of Private Boolean

Thanks


#2

You could create a Virtual Button and modify the condition to say Garage Door Open Or Virtual Button 1 Pushed, there are other way too depending on what your trying to accomplish and if you wanted to be able to do it from the dashboard or from another automation.


#3

Or you can group all of the actions that the rule normally runs into a custom action. Then you can choose the custom action as the container of all of the stuff that you want the rule to do. In other places that you need the rule to run you can just choose the container custom action.

The custom actions are sort of meant to be used this way I think. They are containers for common actions that are to be reused in multiple places.

For example... you have a rule that looks like this:

condition/rule: switch 1 turns on
true conditions: do x, do y, do z, turn off switch 1
false conditions: do a

You can create a custom action that looks like this:

custom action 1: do x, do y, do z, turn off switch 1

Then you can modify the rule to do this:

condition/rule: switch 1 turns on
true conditions: do custom action 1
false conditions: do a

Then if you want to in rule 2 (a different rule) you can reuse custom action 1 as well. Obviously, the pseudo rules are very simplified but hopefully you get the point.

Also, I feel like I even saw somewhere in RM that you could run the actions of a given rule somewhere. I didn't look for it but it might still be there or maybe it was an earlier version of RM.


#4

Correct. You can run actions of one rule from the actions on anther rule


#5

Maybe a better question would be, "why do you want the rule to "run" again?" Are you trying to re-evaluate if the door is still open? Because the rule will subscribe to that event and already "know" it, you don't have to run the rule again.

What functionality are you trying to achieve?