If a scene has only groups in it and the setting "ignore activate switch off" is turned on, the scene still behaves as if is has two states. If a single device is added to the scene (the same groups plus the device are included), it works properly.
In my case, I have a scene that is intended to turn off every single light. I added four groups of lights to the scene. The lights only go off every other time I activate the scene. I then add a light (that happens to be in one of the groups) and the scene begins to work as intended, turning the lights off every time the scene switch is activated. Note, my scene switch is being actuated from an ActionTiles dashboard
What is the configuration of thud scene app? Either a screenshot or description of the rest of your settings (beyond the one you mentioned) would be good to know.
Also, does the group work reliably on its own? Its configuration could also matter.
As far as I can tell, the groups are working fine (They have been in use and stable for months)
Note that the "Clock Light: is a device and the rest are groups
Hmm, so there shouldn't be anything peculiar about groups per se--the scene doesn't really care what kind of devices are it; it just sends the standard commands like setColor()
or setColorTemperature()
to get the device(s) into the desired states. But just for fun, I did test a scene that contained only a group, and the results were as I expected.
Maybe the scene is using a group in a way that exposes a problem that doesn't come up in regular use? Using on/off optimization comes to mind (you may need to disable it, unless you want it on to reduce certain network traffic--but probably not worth it if it causes this problem). If the bulbs are Z-Wave, Zigbee, or possibly Hue Bridge, you may want to also try enabling metering at either the scene or group level to see if it helps. This spaces out commands, which can help with networks or devices that are picky about receiving too many too fast.
I understand your points. The way you explain it is exactly how I expected things to work. But what really suggests a subtle bug is
- That the scene works with the groups exactly every other time and without delays that might otherwise indicate a network traffic issue
- That the addition of a device fixes the issue and the subsequent removal of the device reverts the scene to the same erroneous behavior.
For your experiment, you might try the following:
- Create a scene that turns off a group and is set to "ignore activate switch off". (Be sure that there are no devices directly included in the scene)
- Activate the scene
- Turn some of the lights on individually with the group remaining in the off position
- Activate the scene again. In my case this is when nothing happens, but activating the scene again will turn off the lights. Remember that this test will succeed every other time, so you may need to repeat steps 3 and 4 to achieve the erroneous state
All of my groups have "enable Zigbee groups messaging" turned on. This is the only setting that is activated in the groups. The groups do have different collections of Hue and Zigbee components, but are generally homogeneous within the group. I ran into on/off optimization issues a few months back and realized that it was logically impossible to use that setting in my configuration. It seemed that groups could not be turned off twice to turn off devices that had been activated individually. I would also note that one of the groups has nested groups within it
I do worry that somehow some setting is lingering around from when I was using a SmartThings hub, but I can't really see logically where that would occur. I currently use only the Hubitat and Hue hubs. I double checked the linkage in ActionTiles and the scene button references the Hubitat hub, as it should.
I just ran the problematic scene through the Hubitat dashboard. It's unclear, with this approach, how to properly replicate the problem, since there are still distinct on and off buttons. I could not replicate the problem by this approach.
I will try setting up a physical button to activate the scene in order to remove ActionTiles from the process.....
OK, so using a physical button and Basic Rules, the scene performs properly. This seems to indicate that the problem is a misalignment between the ActionTiles command and the Hubitat hub, specifically where scenes are concerned. I don't know how to analyze that interaction, Why would it suddenly work properly when the scene contains a device? Apologies if this is outside of the scope of your support....
I'm not Hubitat support at all, so it's definitely outside, but as (mostly) a regular user just trying to help another, there's still probably more we can look at.
I haven't used AT since the SmartThings days, so I'm not sure what might be going on there. My best guess is that it has something to do with the on/off state. Normally, Dashboard-type apps will read the current switch state and send an "off" if the device is on or an "on" if it is off. Maybe it's not seeing something correctly there? If you're using the button-style capabilities, the push()
command, to activate (not sure if there's a way to de-activate this way...), then this probably isn't it, but I forget what all AT offers--it's been a while and the button model ls slightly different between the two platforms. (But if it does offer it and all you want to do is activate and this works reliably from Hubitat, it might be a good workaround.)
In ActionTiles, we "Import" objects from a hub. These objects include both devices and virtual objects. Clearly ActionTiles does not know what these objects are, but there is some level of negotiation, since each object has a tile style associated with it. I don't know of any way to manually alter this association. In the case of a Hubitat scene, when added to the ActionTiles dashboard, the resulting tile is a switch tile. I can edit the tile cosmetically to remove the switch status, which is what I do to emulate a non-stateful scene like the one we've been discussing. Logically, I've always assumed that clicking this tile continues to send alternating on/off messages through a setSwitch()
interface (based on my experience with the SmartThings API). I recall that SmartThings scenes didn't have an on/off state, at least not one that was readily accessible through the SmartThings UI, so I hadn't thought about it until my Hubitat replaced my SmartThings. So I don't have a good sense of how the on/off message is interpreted as "activate" for both "on" and "off". It seems clear that this must happen in the Hubitat handler for a scene, according to the "ignore activate switch off" setting.
When the scene receives this message, it behaves differently if a device is part of the scene. This suggests that the scene code has some level of awareness between groups and devices.