Add a warning - "Disabled conditions are not ignored conditions !"

I just logged a bug report, only to find out it was a actually a feature. A lot of people, myself included, probably assume that when you disable a condition, that means that the condition will be ignored.
However, that is not the case. As explained in the documentation, “disabled conditions always pass”.
I think it would be a good idea to pop up a warning when a condition is disabled, explaining this.
“disabled conditions are not ignored, but will always pass. If you want a condition to be completely ignored, please delete it instead” [ ] Do not show this again

Otherwise, if one is not aware of this it can lead to some unexpected, undesirable behaviour suhc as:

  • OR conditions A:WAYS PASS if they contain a disabled condition
  • NOT conditions ALWAYS FAIL if they contain a disabled condition.

in addition to that:
Maybe instead of a simple warning, an “ignore” could be implemented…
it could be helpful to set a condition to ignore, if you do some tests while you create the automation … ?

Please, don’t do this. Once you understand how it works, you understand it. Having to close a superfluous popup every time subsequent to that would be infuriating. Perhaps the docs could explain it better and highlight the specific examples you have given here, but the last thing we need is more clutter or unnecessary clicks in the UI.

3 Likes

You wouldnt have to close it each time, there would be a check button “do not show this again”.
I have been using HA for almost a year now, and only just discovered what “disabling” a condition actually meant.

The ideal IMO would be to have four options: check, ignore, always pass, always fail. The current “disabled” would become “always pass”. This requires backend changes though, in te meantime a dismissible warning in the front end would save a lot of confusing I would think.

Well as I said, they should make this Permanently dismissible, and and at the same time, maybe they could add an option to disable the really annoying “Are you absolutely sure you want to delete this” warning that always pops up as well. :grinning:

Another thing I realised recently, this really ought to be done, because Conditions work inconsistently with everything else. If you disable a trigger, the trigger no longer fires, it doesn’t mean the trigger fires constantly, it is simply ignored. If you Disable an Action, then the action is skipped over, it doesn’t mean “always do that action”, it is simply ignored. So extrapolating from that you would naturally expect that disabling a condition forces it to be ignored, just as with triggers and actions. It is this discrepancy which ought to be highlighted. It is not realistic to expect every user to read every part of the documentation prior to using HA. Good design means things should work by default in the most consistent way, and consulting the documentation ought to only be necessary when you want to do something in an inconsistent way. I.e. by default, conditions should work the same way as triggers and actions, and then if I want something different (always true / always false), then I should look to the documentation. Currently, it is the opposite way round, I am expected to read the documentation to learn that disabling conditions has a different effect from what one would naturally assume.

Maybe instead of a single “Disable” option, for nested conditions only, we could have 2 options

  1. “Disable (always True)”
  2. “Disable (always False)”

That would disambiguate the outcome, and would not need any sort of warnings/pop-ups.

Then instead of a “Disabled” header, there could be a “Disabled (always True/False)”.

In YAML, there should be an additional boolean
enabled: false
always: false

Just my 2 cents.