I disabled the original rule and created a new rule from scratch. In the spirit of retracing my steps, I did not use a hub variable to start. However I picked a CO2 threshold that guarantees the rule is triggered at the next event.
The rule was initialized while the switch was on, so the required expression was initially true. The rule was soon triggered. I started getting the repetitive "Required expression false" messages:
This is the event subscription section of the app status page after the required expression became false (the list looks the same as when the required expression was true) :
This is the rule definition:
I flipped the switch on again, the required expression became true and the rule soon triggered again, so the required expression went back to false. This time, no repetitive "Required Expression false" logs (actually, not a single instance of that message).
The app status page now looks like this (looks right to me):
I flipped the switch on, one more time. Rule triggers normally, no "Required Expression false" logs, event subscription only includes the switch.
I disabled this new rule and created yet another (identical) one but this time I installed it while the switch was off, therefore the required expression was initially false. I got the same result - repeat logs of "Required Expression false" and three event subscriptions in app status, etc.
Hope this helps.