The “Any or All on” feature does not send A change to the hue hub, all it does is to determine when to call the send ever call.
In simple terms:
If(state.allOn) {
If (all lights are on) {
hub.sendEvent([name:”switch”, value:”on”])
} else if (all light are off) {
hub.sendEvent([name:”switch”, value:”off”])
}
If(state.anyOn) {
If (any light turns on) {
hub.sendEvent([name:”switch”, value:”on”])
} else if (all light are off) {
hub.sendEvent([name:”switch”, value:”off”])
}
This is not actual code, it depicts the logic.
hub.sendEvent() does not change the physical device, it updates the HE property for the device, so that rules can fire based on property change.
I will dig into the code again to make sure, but I do not have a C8 hub, I have two C7 hubs and a C3 hub. I use the C3 for development testing and one C7 for all my network controlled / insfrated devices, and the other C7 for rules, zigbee and z-wave devices only.
I wonder if there is something corrupted because of the migration from C7 to C8?
One thought — if you have hue device in an HE scene, and you activate scenes based on rules, or fire rules based on scene state, you can end up with weird behavior like this.
For example, I have a goodnight scene to turn off all my down stair lights, turn on hall and stairway light.
This works fine and when I turn off the stairwell, and hallway, the good night scene turns off, because the scene devices are in the wrong state. As such, it’s possible to end up thinking the scene is active when in reality it’s not, and reactiving it will turn lights off again.
Again, I will double check the code. I don’t think I will find anything that calls on/off events but if Indo, I will post the fix the the app’s thread.