With the introduction and continued development of our groups and scenes application it's important to understand the capabilities it looks for and the attributes that the scene component captures and restores.
The successful use of this application with user created color capable drivers requires following and understanding how the various bits fit together.
Whilst we we have an example Zigbee RGBW driver posted in our community Github repo, I though It might be easier to create a brief summary here.
Color Capable Capabilities:
"Color Control" this defines an RGB (hue, saturation) only device
- attributes of "hue" and "saturation" are maintained.
"Color Temperature" defines a device capable of changing color temperatures expressed in degrees Kelvin.
- attribute "colorTemperature" is maintained by this capability.
"Color Mode" describes a device that is both RGB and CT capable aka RGBW
A device of this capability must also include the capabilities Color Control and Color Temperature and maintain those respective attributes
- attribute "colorMode" is maintained by this device.
The value of the colorMode attribute must be one of "RGB" or "CT", and must follow the last command issued to the device.
If setColor, setHue or setSaturation commands are received, then the value of colorMode must be set to "RGB", if command setColorTemperature is received then colorMode must be set to "CT"
The existing attribute values associated with the colorMode that the device is not currently operating in are not changed.
In other words, if the current colorMode is RGB, the value of colorTemperature is not changed and retains the last value that was set using the setColorTemperature command.
With the exception of colorMode (obviously), all values are numeric.
Color temperature is an integer, typically in the range of 2000 to 6500
hue and saturation can be a decimal, however typically it's treated as an integer with a range of 0 to 100
Attribute values of null, "" (empty string) "-" and the like are not supported and may cause issues for any application attempting to subscribe and or read these attributes.