Hi, I’m trying to use supported_features in my custom dashboard to figure out what features to render for different devices.
E.g. take light as a simple example:
# Bitfield of features supported by the light entity
SUPPORT_BRIGHTNESS = 1
SUPPORT_COLOR_TEMP = 2
SUPPORT_EFFECT = 4
SUPPORT_FLASH = 8
SUPPORT_COLOR = 16
SUPPORT_TRANSITION = 32
SUPPORT_WHITE_VALUE = 128
if supported_features === 1
in this case, it would mean it only supports SUPPORT_BRIGHTNESS
. (If I’m reading all the other forum posts about supported_features correctly)
However after checking multiple of my devices, their supported_features number is incorrect…
For example I have a LIFX Z (LED strip), with: supported_features: 36
That would mean the light strip should only support SUPPORT_TRANSITION
, & SUPPORT_EFFECT
and nothing else… But that’s not true, it has full support for at least brightnes, color and white value as well. I can even send the callService messages and adjust the brightness using home assistant with no issues… So why does home assistant think my light strip only supports “36”?
Another example, I have an Aqara hub with a light on it, I connected to home assistant via the homekit integration… That has supported_features: 0
But that’s also wrong, I can adjust the brightness and change the color of that light as well? So it should have AT LEAST supported_features of 17…
Same story for other devices as well. (I have only checked lights so far, but clearly this value cannot be trusted )
Where does home assistant come up with these feature sets from, why are they so wrong? and is there any way to correct this?