feat: add RGBICWW Ceiling Light support#507
Open
Onero-testdev wants to merge 1 commit into
Open
Conversation
Add support for the SwitchBot RGBICWW Ceiling Light (W1162000). The light exposes two independently controllable sub-lights: a warm-white (main) light and a color (RGB) light. - Advertisement parser for the 0x0011bb10 (normal) and 0x0111bb10 (pairing) signatures, decoding both sub-lights' power/brightness, color mode and color temperature. - SwitchbotRgbicwwCeilingLight device with per-sub-light power, brightness, color-temperature and RGB commands, plus RGBIC effects. Power, brightness, color mode and color temperature are taken from the advertisement, which tracks them reliably. Only the RGB color is read over GATT: the device's 0x4A01 status response does not carry a usable color power bit (byte 1 stays 0 even when the color sub-light is on), so reading it back would clobber the correct advertised state. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests.
🚀 New features to boost your workflow:
|
Member
|
Waiting for a PR for switchbot to add this |
21 tasks
Contributor
Author
|
Opened the Home Assistant core PR that consumes this: home-assistant/core#173261 (adds the RGBICWW Ceiling Light to the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds support for the SwitchBot RGBICWW Ceiling Light (
W1162000).The ceiling light exposes two independently controllable sub-lights:
What's included
0x0011bb10(normal) and0x0111bb10(pairing) signatures, decoding both sub-lights' power/brightness, the color mode and the color temperature.SwitchbotRgbicwwCeilingLightdevice class with per-sub-light power, brightness, color-temperature and RGB commands, plus the RGBIC effects.SwitchbotModel.RGBICWW_CEILING_LIGHT,RGBICWWCeilingLightColorMode, exports and theW1162000API-model mapping.Design note (verified on real hardware)
Power, brightness, color mode and color temperature are taken from the advertisement, which tracks them reliably. Only the RGB color is read over GATT, because the device's
0x4A01status response does not carry a usable color power bit — byte 1 stays0even when the color sub-light is on, so reading it back would clobber the correct advertised state.The per-sub-light power command selector was also verified against hardware:
0x49 0x01 <onoff> <selector>, where the selector's bit7 specifies explicit control, bits[3:2] are the color state and bits[1:0] the white state.Testing
pytest— full suite green (1250 passed).