Hello.
I have a Basic Rule with a restriction of "Only when not disabled by Kitchen Sink Light off". This is a confusing triple negative, but I interpret this as run the rule only when the Kitchen Sink Light switch is on.
However, it works exactly the opposite way. The rule only runs when the kitchen sink light is off. And if I toggle it so it is "only when not disabled by Kitchen Sink Light on" it will only run when the kitchen sink light switch is on.
This seems like a bug?
@bravenel
I'm not seeing this -- but yeah, the triple negative is bad. What I'm seeing is the restriction works as stated:
It should be disabled by the switch being off, and it is.
If the rule is Restricted, it shows that on the Apps page, like this:
The Apps page is not updated dynamically, the page needs to be refreshed, When I turn that switch off, and refresh the Apps page, it looks like this:
With the disable switch off (which disables the rule), the logs look like this:
My suggestion: Import this Basic Rule into Rule Machine. You would get this rule, where the triple negative gets turned into a positively stated Required Expression, one that is False with the disable switch off:
Thank you for your response. For now, I opted for a set of basic rules because a collection of simple rules seemed easier to understand than fewer more complex ones.
In my current setup I do not see the inverted logic, but I am still seeing some weirdness in the restrictions:
I have a virtual switch Sv1 that turns on if any of a number of other switches turns on and turns off when all of those other switches are off.
I have a real switch S1 with the following rules:
R1: turn on S1 when Sv1 turns on.
R2: turn off S1 when Sv1 turns off and stays off for 5 minutes
R3: turn off S1 when S1 turns on and stays on for 10 minutes, except when Sv1 is on.
The purpose of R3 is to turn the switch off after 10 minutes if it has been turned on by anything outside the rule set, such as a timer or manually.
This morning I saw that S1 was turned off by R2, despite Sv1 having been turned back on before the five minutes expired. After this point S1 stayed off as long as Sv1 stayed on.
I'm able to reproduce this and it's consistent.
And if Sv1 stays off, R2 will also turn off, so there is no inversion: it appears the "stays off" part is ignored and the way R2 acts is that when Sv1 is turned off, it will turn off S1 after 5 minutes regardless of Sv1 staying off or being turned back on.
Questions:
- are basic rules less solid than rule engine rules?
- is there a better approach to what I'm doing?
No, both Basic Rules and Rule Machine are long term stable and reliable.
In order for anyone to help you, you would have to post rule screenshots, logs screenshots etc. However, perhaps you should import complex Basic Rules into Rule Machine, where the complexity is better handled by the UI, and there are more options available. Any Basic Rule can be imported in Rule Machine to create an equivalent automation. Basic Rules is intended as a bit of a beginners' app, training wheels, where Rule Machine is full featured and offers advanced automation capabilities.
1 Like