Best Practice for Multiple Lighting Groups

Hi. I'm wondering what's the best way to deal with multiple lighting groups that work in parallel. My scenario is the following: I have my fan, vanity, etc. lights that have multiple Sengled RGBW bulbs grouped together with their respective Meross smart switches. So if I turn on the "Living Room Light", the Switch and with it the three bulbs go on, and the activation sets them to their settings. The "Dining Room Light" does the same. There is also an RGBW bulb in a table lamp and one more switch / bulb Lighting group. All four are in one physical room, so I created another lighting group called "Main Room Light" which contains the two switches and eight bulbs. This sort of works as expected. I can sometimes turn them all on and off with "Main Room Light", but changing colors will not work on the bulbs assigned to "Dining Room Light". modifying the color there works fine. I assume that it has to do with the activation, and the individual groups becoming active. Eventually I would like to have all RGBW bulbs in a "parent" group so all can be manipulated at the same time.
What is the best way to go about this, so that each individual group remain autonomous, but controlling the parent group takes priority? For example activating "All Color Lights" to blue should turn on and set all the bulbs in the house, but if someone in the guestroom wanted to make a change, that light group would work as expected by someone that doesn't have any notion of home automation. I.e. Saying "Alexa, turn the guest room light to warm white." should change those bulbs to warm white. I'd go further saying that should a single group be commanded, it should not change if the parent group is then otherwise commanded. (The guest might not want the current setting changed...) I realize that a finite number of scenes could be created for common settings, but that would be excessive if more than just a few were needed.

Any help is much appreciated!

Edit 1: Removing everything from "Main Room Light" and adding the group actuators instead, fixes the first problem of everything not being commanded synchronously. The individual group can also be commanded correctly, but re-commanding "Main Room Light" overrides the previous setting.

I have various groupings of my exterior lights. There are nine lights in the soffit on the front of the house. Instead of trying to group groups I create single groups of what I want. For example: all, odd lights, even lights, first three, second three, etc.

Also check out the group options like Zigbee grouping, color pre-staging, and so. I find changing some of these can make a difference.

Finally I have had mixed luck with all lights in the group not always responding. This is particularly true when switching between color spaces (CCW & HSL). I finally broke down and now double up on the commands. I might do a setColorTemp(2700, 50), setLevel(50), or two color temp calls. It all depends on what seems to work best for the specific case.

This is needed even more in my living room where I have 30 track lights. Every now and then one of them might get confused so I’ll have 29 in white and one in blue. For those lights I do two setRGBColor() and one setLevel(). I even added by own setRGBColor command to the driver because I found they got confused more often with the HSL to RGB mapping it was doing. Note that those lights aren’t Zigbee but I was having similar issues.

Oh, I also have my Zigbee lights on a dedicated mesh so that they don’t get confused by other devices. If you are using all Sengled bulbs then that isn’t a concern as they aren’t repeaters and don’t get bothered by non-bulb traffic.

@lairdknox: Thank you for posting!

How can you use multiple commands in a Lighting Group?

I’m not adding multiple commands in the group but rather in Rule Machine. Take this for example:

Instead of setting color temp and level in the same command I do it in two separate steps. I mostly found there was a problem when going between RGB and CCT. This made the transition more reliable.

Most of my lighting has now moved from RM to custom apps but I still do something similar.

    switch(motion.currentValue("motion")) {
        case "active":
        (lightsMain).setColorTemperature(scene.CCW.main.color, 1)
        (lightsMain).setLevel(1)
        break

        case "cooldown":
        (lightsMain).setColor([hue: scene.HSL.main[0], saturation: scene.HSL.main[1], level: scene.HSL.main[2]])
        (lightsMain).on()
        break

        default:
        break
    }

In this code snip you can see I do the same for both color and white.

My exterior lights were the ones I was having the most trouble with. Currently I have the groups setup like this:

This gives the best results in my use case. It may not be ideal but after several weeks of troubleshooting this is the best I could do. There are some old threads on here where I was looking for a solution but never found one so I resorted to brute force.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.