It is confusing that Activator Device "On" does not do the same thing as "Activate" button in RL app. “Off” also doesn’t do what “Turn Off” does

Turning the room lighting activator device on does not do the same thing as hitting the activate button in the room lighting app.

I have a RL configured with several devices, specifically a mix of zigbee and zwave devices. When I click the "Activate" button inside the RL app, the lights are adjusted to match the configuration of the RL app. This is expected behavior.

When I turn on the activator device, the devices are set to a different state than what is configured. In the example I'm filing in this bug report, all of the lights get turned on even though some of them are configured to be off in the room lighting app.

I have attached several screenshots showing the configuration of the RL app, the activator device, the various other apps that are using the activator devices, log output of the activator device and then finally an annotated timeline of the room lighting app showing that it initially turns on all lights based on an even from the activator device and then it turns off "Chandelier" when there is a second activation event caused by hitting "activate" in the RL app.

This is how it works. You are using Zigbee Group Messaging. That means that the device activation settings in the table are not used, but rather what the Activation Device does is followed. RTFM.

When you hit Activate in the app, that does follow the table settings. This is also true for activating from RM. The Activation Device with a group such as you have it set up, is completely a different form of activation.

Your response is seriously "RTFM"?

It does not make sense that "on" via an activation device behaves differently than pushing activate on the room lighting app.

I understand that you have documented that it works differently, but can you see how that is confusing and not what users might expect?

If you want to leave this as "working as intended" then I'll just wait for the next release to be able to trigger room lighting activate via rule machine as per Activating Room Lighting app from RM - #10 by scelfo. I'll be curious to see how you decide to implement that.

1 Like

I'm no expert on the nuances of RL, but I'm pretty sure the main issue in your example is that you're trying to use ZGM - that option should only be used if the desired end-state status is there same for all devices in the setup (all on or off, or all at same level and color).

Deselect ZGM and see if things operate as you intend then too - I suspect they will.

I went back to RTFM (more closely) and noticed the following at the end of the "Command with Activator Device" section on Room Lighting | Hubitat Documentation.

"When this device is commanded, the Devices to Automate are given the same commands. These commands take precedence over any settings in the Devices to Automate Table, except for Act or Off columns."

If I understand the FM correctly, this has nothing to do with group messaging. The FM says that the activator device is more like a group device in that it doesn't actually "activate" the RL, it passes through commands directly to the devices in the RL app.

I think I'm going to agree to disagree with this implementation and just create my own virtual button which I'll wire up to trigger activation in the way that I would have expected the activation device to work.

There are two different types of functionality in Room Lights, and they behave differently and are fully documented. The distinction between a group where every device responds to an activation device's commands, and a scene where the devices are set to captured settings, is an essential aspect of Room Lights. These functionalities exists in other apps, Group-2.1 and Scenes-1.2, and those apps can be imported into Room Lighting to create an equivalent automation. So it's a given that those distinct functionalities would co-exist in Room Lights, and both have their uses.

Not quite right. There are two different paths to Activate the devices in Room Lights. Nothing is "passed through directly to the devices". One path is the Means to Activate (including the Activate button in the app). The other path is the Activation Device. How the Activation Device works depends on the commands given to it and two options:

With neither option selected, an On command to the Activation Device is just like any other Means to Activate. There is no need for some other virtual device to activate Room Lights per the table settings.

Other commands to the Activation Device, e.g. setLevel, command the Room Lights devices accordingly (instead of as set in the device table). As an example, suppose the device table settings for some dimmers are 90, but the Activation Device is commanded with "Alexa, set kitchen to 60". Those dimmers will be given setLevel(60) commands instead of setLevel(90), as you'd expect.


Is this documented somewhere in TFM? I tried re-RingTFM and I don't see where the "Activate as Group with Zigbee Group Commands" and "Activate as Group with ON commands from Activator On" are documented.

The "Activate" button works as expected for me in the RL app when I have "Activate as Group with Zigbee Group Commands", and I'd like to use group commands because it looks nice to have all the zigbee devices change state in sync.

That leaves me to wonder if my confusion is based on the behavior of "Activate as Group with ON commands for Activator On"... to be honest, I don't know what that does. Is "Activator On" talking about the on event from the activator device? If so, I think that's the source of my confusion and it sounds like I'll get what I want if I just uncheck that option. I'm also not entirely sure what "ON commands" means. I tried looking for "ON commands" and "activator on" in TFM but I don't see either mentioned. I'd love to make this work without a separate virtual device. It would be nice to read documentation of exactly what these two check boxes do.

There is where I'm looking in TFM:

No, that's referencing how the Activator Device is commanded. Commands to devices do generate events, but that's not relevant here, only the commands to the Activator Device themselves are relevant.

Any app turning On the device, or hitting the On button on its device page. Other commands would also turn it on, such as setLevel, setColor, etc., but this is specific to the On command itself.

Commanding the Activation Device with On has two possible uses. The default case is to Activate RL as if the Activation Device were any other Means to Activate (what you're looking for). Each device will be Activated according to the device table settings.

The option "Activate as Group with ON commands for Activator On" is the other possibility. With this option, you explicitly want the RL devices to be commanded as a group with an On command given to each, not their table settings. This is a somewhat esoteric use of RL. It would come up when the devices will be put into some state other than their device table settings intentionally (by other apps, for example), and what is desired is for those devices to be turned on -- not to have levels, colors, colorTemps set -- just turned on. This would preserve those separate settings they might have.

Commanding the Activation Device with other commands, such as setLevel, setColor, etc. causes the RL devices to follow suit, not to follow the device table. This is group functionality. Zigbee Group Messaging does the same thing for Zigbee devices with a single command for all of the devices. Group functionality ignores the device table, and only follows the Activation Device command -- with the exception explained above about the On command when neither Group option is selected.

1 Like

Thanks for all those descriptions.

I have some room lighting apps that just don’t work like you’ve described.

I had created them early after RL was released. Were there bug fixes in the past that require me to recreate the RL apps and activation devices?

Some of my room lighting apps work as you’ve described. Others don’t.

No, but there was the added option discussed above about treatment of the Group On command. That change was needed to deal with imported Group-2.1 apps correctly.

You'd have to provide more information than "Others don’t".

When pushing the “Turn Off” button in room lighting I can reliably turn off all lights in the room. This is true whether the lights were previously controlled via that room lighting or turned on independently.

When I turn off the Activator Device it does not reliably turn off all of my lights.

I have set up virtual buttons and used rule machine triggers to activate and turn off the room lighting and those work exactly how I would expect.

I’m just going to stop using activator devices. I can’t get them to work the way I want. I’ve tried toggling all of the advanced toggle options we’ve discussed above. I just can’t get activator devices to do what I expect.

I just came up with a trick that does exactly what I want. I created a virtual switch and added it to the room lighting app. Configured to be on in the table.

When RL is activated, the virtual switch turns on.
When RL is turned off, the virtual switch turns off.

I then added “switch turns on” as a “Means to Activate” and “switch turns off” as a “Means to Turn Off Lights”.

Turning that virtual switch on and off does exactly what I’m trying to do. It activates and turns off the RL. I can also put that virtual switch on a dashboard or just automate it normally like a switch.

1 Like

Download the Hubitat app