FAQ
TL;DR: 4 PWM channels (0,1,2,4) are used; "Cool is emulated" with RGB. Configure OpenBK RGBCW order, add MQTT YAML for Home Assistant, and apply gamma correction for accurate colors. [Elektroda, p.kaczmarek2, post #20333201]
Why it matters: It unlocks full tunable-white and color control on low-cost RGB+Warm-White CB2L bulbs without extra hardware.
Quick Facts
- Color order: RGBCW. R=0, G=1, B=2, C=3, W=4; wire PWMs 0,1,2,4 and emulate Cool (no PWM 3). [Elektroda, p.kaczmarek2, post #20333201]
- Home Assistant MQTT: use led_basecolor_rgb and led_temperature; brightness_scale 100; payload_on 1/off 0. [Elektroda, p.kaczmarek2, post #20335224]
- The built‑in HA generator didn’t expect 4 PWMs; manual YAML avoids split entities. [Elektroda, p.kaczmarek2, post #20335224]
- Gamma correction range 1.0–3.0 (default 2.2); brtMin 0.0–10.0%; includes RGB calibration. [Elektroda, p.kaczmarek2, post #20471959]
How do I configure a CB2L RGBWW bulb with only 4 PWM channels in OpenBK?
Update OpenBK, set color order RGBCW, and map PWMs R=0, G=1, B=2, W=4. Enable the Cool‑from‑RGB emulation flag in the UI. "Make sure your PWMs has channels 0, 1, 2 and 4 (not channel 3)." Save and reboot to apply. [Elektroda, p.kaczmarek2, post #20333201]
How do I enable Cool White emulation in OpenBK?
Upgrade to the build that adds emulation. In the web UI, enable the Cool White emulation flag. This routes the Cool channel into RGB mixing so the slider works as expected. Confirm your PWM pins exclude channel 3. [Elektroda, p.kaczmarek2, post #20333201]
What MQTT YAML works in Home Assistant for a 4‑PWM RGBCW bulb?
Define a single light using rgb_state_topic led_basecolor_rgb and command cmnd//led_basecolor_rgb. Control on/off via cmnd//led_enableAll with payload_on 1 and payload_off 0. Use brightness cmnd//led_dimmer (brightness_scale 100) and color_temp cmnd//led_temperature. Map state topics to /get. [Elektroda, p.kaczmarek2, post #20335224]
Why did Home Assistant create multiple single‑channel lights, and how do I fix it?
The auto‑generated config split PWM channels into separate lights. Replace it with a single manual MQTT light definition that uses RGB and temperature topics. This consolidates control into one entity. [Elektroda, rojoricardo, post #20335102]
How can I calibrate colors so oranges don’t look green?
Use gamma control and RGB calibration. Set gamma between 1.0–3.0 (default 2.2) and adjust brtMin values. Then run the calibration sequence.
- Reset calibration (led_gammaCtrl cal 1.0 1.0 1.0).
- Set RGB to your preferred white.
- Run led_gammaCtrl cal, then tune gamma and brtMin.
This improves perceived color accuracy. [Elektroda, p.kaczmarek2, post #20471959]
Did gamma correction actually help in this case?
Yes. The user reported improved results after enabling gamma correction. "I used gamma Correction and it worked better." Apply calibration to refine it further. [Elektroda, rojoricardo, post #20471490]
How does OpenBK emulate Cool White with RGB right now?
It mirrors the Cool channel value into R, G, and B equally (a 1:1:1 mix). This creates a neutral cool tone without a dedicated CW LED. You can layer Warm White as needed. [Elektroda, p.kaczmarek2, post #20333201]
Can I reduce blue in the Cool White emulation mix?
The developer suggested making the RGB mix configurable. "Maybe less blue or make a setting configurable?" Track firmware updates or open a feature request if you need a specific ratio. [Elektroda, p.kaczmarek2, post #20333913]
Does OpenBK support exponential brightness curves?
A contributor added exponential brightness recently. It can help low‑level dimming smoothness. Check your firmware version and changelog before relying on it. "Added exponential brightness recently." [Elektroda, p.kaczmarek2, post #20342293]
What should I expect visually at full Cool when emulated?
Expect a slight bluish tint from the RGB mix at high Cool values. Photos from testing show blue dominance at full Cool. Reduce blue via future mix settings or use gamma to soften it. [Elektroda, rojoricardo, post #20333765]
Which MQTT topics control power, brightness, color, and temperature?
Use cmnd//led_enableAll for power. Use cmnd//led_dimmer for brightness (scale 100). Set RGB with cmnd//led_basecolor_rgb. Set mired temperature with cmnd//led_temperature. Read states from the corresponding /get topics. [Elektroda, p.kaczmarek2, post #20335224]
My bulb advertises RGBW+CW but only has RGB+Warm White. What should I do?
Confirm LED types inside the bulb. If only RGB and Warm White exist, enable Cool emulation and map R=0, G=1, B=2, W=4. You’ll still get tunable whites via emulation. [Elektroda, rojoricardo, post #20331661]
How do I verify the manual YAML works in Home Assistant?
Create the single MQTT light with the topics listed. Adjust the device name and MQTT paths to match your setup. The user confirmed success after making those changes. [Elektroda, rojoricardo, post #20337974]
The HA generator doesn’t support 4 PWMs. What’s the workaround?
Skip the generator and define one custom MQTT light. Use RGB hex commands and the temperature command as shown. This avoids per‑channel entities and keeps UI controls unified. [Elektroda, p.kaczmarek2, post #20335224]