I am trying to decide what would be the best and most effective way to stop one or more rules from running temporarily.
Halloween is coming up and we are not home on Halloween. I do not want my porch lights coming on at sunset that day along with stopping a few other rules as well.
In the past I just made a virtual switch that when turned on would pause all of the rules I selected to be paused, then when the virtual switch is turned off, the rules resumed. That works just fine except when I create a new rule that I also want paused and forget to add it to the “pause” rule with the virtual switch.
So, I thought if I disabled the devices that trigger the rules that I want paused then when i make a new rule that uses the same trigger device, it would be apart of the “pause” rule that temporarily pause certain rules.
I’ve also thought of instead of pausing rules or disabling devices that I would just use a condition in the rules that I want paused that if the private Boolean is false to not run the rule. So I would set the booleans of the rules I want paused to false using the “pause” rule I’ve created.
I hope that isn’t confusing , I’m basically trying to figure out which way ( Boolean, pausing rule or disabling devices) would be the most effective.
Personally, I'd set up a virtual switch called "Halloween", and then use a Required Expression of "Halloween is off" for all the rules I didn't want to trigger on that day.
As a bonus, you could have a Rule (or Basic Rule) that would turn the virtual switch ON on a particular day, and turn it back OFF 24 hours later, so you didn't forget to turn it on before you left the house.
That is a good idea and I may use that. I was just using that one rule for example. There are others like motion rules that I have to pause intermittently.
It really depends on whether it only matters for Halloween or if there are other times/days/conditions that you will want to pause that (or other rules). If it is ONLY halloween, then a required expression could be used so that it just doesn't run on Halloween.
If there are other rules and/or, a boolean or a virtual switch would be my method. Another option, one I use for turning off my open/unlocked doors alerts, could be to use a mode as a conditional or required expression. I have alerts if any of my doors are left open or unlocked for more than ten minutes (holdover from when my kids would leave the doors, particularly the garage, standing wide open or unlocked when they left). However, when I am working in my yard, I have a "yardwork" mode that prevents the alerts from repeating through the house. I just set a required expression that the rule not run when yardwork mode is on.
I think the virtual switch is the best idea. I can't really think of a way to have rules automatically added you just have to remember when ever you create anything new.
I guess another option would be to create a mode. I have a vacation mode, that stops many automations. I only can manually enable and disable that mode. It will not change to or from that mode on it's on.
I feel like I’m reading that it doesn’t really matter which way it’s completed, they all can do the same thing depending on how you want to set them up.
The rules I typically will be putting on hold are motion sensor rules and location rules. I figure I could use hub variables, create one for the location rules I want held and the motion rules I want held. Create two virtual switches for their respective purpose and use the virtual switches to set the variable to true or false then use a required expression in the respective rules. I was just looking for the most express method but none of the methods are hard so it’s six of one half dozen of the other i suppose.