I am working on moving some of my rooms to using RGB based lighting devices. Just started to noodle around how I would store RGB values for retrieval to map to the room scene I want to set the room to.
First I was thinking of global variables but that could get out of hand quickly. Now I am thinking of a rule machine call that I can pass room id and scene and return back the RGB values that would use on the RGB devices. There is a twist because say a Hue RGB value for say "Warm White" would be different than a THRIDREALTY bulb so there has to be a device in the mix. My other approach is capture the values in scenes which would assign with my 5 modes per room I have set up.
How are other folks handling the variability of RGB lighting by device, room, scene?
Last year I wrote a custom app that does precisely that, with an emphasis for use on Dashboards. It could convert among RGB, color names, HSL/HSV and even store unlimited "snapshots" of a device's current color setting.
I never released it into the wild because it seemed like a solution in search of a problem. But if this thread shows broader interest than I could wrangle at the time from fellow devs, I might revisit the code.
By the time I hit SAVE on this reply, @thebearmay or @sburke781 will likely have already written a suitable helper app for this....
I want to think of the RGB values as a library I can call from. Lets say I come up with 2700K RGB value for a bulb type of Hue but there is a different value for the bulb type of Govee. Individuals scenes and rooms may work but you are now scattering the values across application. If I can call in via Rule Machine with a lookup I would have a "single source of truth."
You may recall that a new variant of rule machine came out not long ago which allows you to use RM as a callable function that returns a value. I'm going to look into that approach, although I don't recall RM having the ability to assign color values using a variable. That's another thing I want to explore before committing to a dedicated app.
My LightEffects Tools has a child app call Light effect Groups.
This child app allows you to select a group of lights and then specifi a number of "things" to be set in groups across them. Think of it like a emulated Govee Light Effect where you set what each device does for each effect. You tell it how many groups you want and then you set the values in each group for each device. Currently the values you can set for a device in a group are ColorTemp, Color, or LightEffect.
Once all of them groups are setup you call them from the virtual device it creates so as scenes. It has room for improrovement, but seems to work pretty well.
I will say this grew from a desire to be able to set light effects across devices more then different color temps and colors, but it does have the function.
I bought 4 RBG bulbs for testing a few months back; my bulbs are all either daylight or warm white.
I found after converting my pistons to handle the extra option that I didn't use RGB for anything, I just set the CT for the time-of-day or mood.
Room Lighting handles this fine and so does Webcore.
Just my 2 cents, 1.56 USD.
Are your devices really just RGB or do they also support color temperature ("RGBW")? If they do and you want white,you'll have much better luck with color temperature compared to hue values, and that would be my suggestion.
As for the original question: I'm not seeing what a Room Lighting activation table or Scene wouldn't do for you that what it sounds like your alternative of storing things in a variable would. Room Lighting (or a scene) can activate lights according to your preconfigured settings or even use a "capture device" to set those settings to the current state. But perhaps I'm missing something about what you want.
I believe this is the way... by creating an Activator device for each such group/scene, you effectively mirror whatever color temp (and level change, etc.) gets set on the Activator. One of RL's most powerful features, along with Capture and Restore.
But if you're not happy with how each bulb looks when set to a particular K value, well, then that's a much tougher challenge to fix.
Meanwhile, be advised I have some tricks up my sleeve for making Room Lighting app behave as a group color setter. Some are counterintuitive, such as how to avoid using presets in the RL table.
Good luck with your proposal. I agree with your central premise.