WLED RGBW LEDs

If I have “Auto-calculate white channel from RGB” set to Accurate in WLED, as that seems to work best with xLights, I can’t get HA to set the color to white with light.turn_on . If I have that setting set to None it works fine though. I’ve tried the folllowing and they all set it to black:

“rgb_color”: [255,255,255]
“rgbw_color”: [0,0,0,255]
“color_name”:“white”
“white”:255

Presumably setting the colours directly in WLED works ? This is just an issue with controlling the light via HA ?

That is correct.

What version of WLED is the light running ? I wonder if there is a bug in the integration.

WLED v0.14.0-b6 and HA 2023.4.5

I have been experimenting with using WLED to display text to an LED array. Consider the following code:

service: light.turn_on
data:
  color_name: lightskyblue
  brightness: 100
target:
  entity_id: light.matrix_1

Any brightness less than 100 does not light the LEDs. I don’t know where the bug is, but it appears that there is a decimal error in the integration. Brightness of 100 sets the leds to the approximate brightness of 10 on the WLED device webpage. So, try setting a brightness value to something over 100. And let me know if you have the same observation.

Same thing truns it “on” but the color is black so it’s not really on.

It does work if I set any other color besides white though.

Dark mode? White is black :sweat_smile:

Try:
“rgb_color”: [254,254,254]

Still sets it to black

Your version of HA is 5 months old. I’m not sure if there have been any changes to the WLED integration since then.

However, its really odd that the center of your colour wheel is actually black! I’ve never seen that before, that should be white.

Interesting. Mine is normal, running v0.14.0-b4 “Hoshi”

colorwheel

Given that the center of your colour wheel is black, and if you think about RGB values like coordinates, you’re telling HA to set the LEDs to the colour at ‘position’ 255,255,255, which IS black, so its doing what its told.

The real question is how on earth you’ve ended up with a colour wheel like that.

UPDATE:

That colour wheel is for an RGB-CCT right ? (I see you have a colour temp slider as well).
In which case this makes much more sense.

Your LED’s will have an RGB component, and separate White component, so if you want JUST the dedicated white to turn on, you must have a way of turning off the RGB ones, which in this case is to set them to 255,255,255.
You then set white to ON using colour_temp, NOT RGB.

If you had an RGBW strip, this would be different, because it has a single fixed ‘white’ so in that case you WOULD use something like 0,0,0,255 for white.

If I go into the WLED interface it is white if I click the white color. It only looks like that after trying to set it via HA. If I have the settting set to None in WLED then 0,0,0,255 or setting the color to white works. It’s just when I have it set to Accurate in WLED that it doesn’t work from HA.

This is what mine normally looks like in the WLED interface. It’s just when I try to set it via HA it shows as black in the middle like my picture.

I think the definition of accurate white might be the answer:

“This mode subtracts the calculated white value from the RGB channels. This gets rid of the “RGB-white” but means that the light is less bright with only the white channel and not the RGB channels being utilized for pure white.”

I got this from this page:

https://kno.wled.ge/features/cct/

So setting white to accurate, turns off the RGB colour LEDs that produce a combined white, and only lets the white LED stay on. This explains why, once you have set accurate white, the RGB LEDs turn off.
This then seems to have an undesired effect in Home Assistant. Can you toggle the white mode in HA, or can this only be done in WLED ?

Off-topic, but how do you get the colorwheel in a front-end card?

If I use the color wheel in HA it will set it to white just with the light.turn_on it won’t.

image

Just an entity card with that entity.image

xLights works with Accurate mode like it should. If I set it to white in xLights with Accurate mode enabled it just turns on the white channel. If I have WLED set to none and in xLights set it to white it’s RGB white. So with Accurate enabled it makes sense that “rgb_color”: [255,255,255] should set the white channel on.