-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Description
[miio] Add official support for Yeelink Ceiling Light (yeelink.light.ceilb)
Environment
- OpenHAB Version: 5.0.1 (Build)
- MIIO Binding Version: 5.0.1
- Operating System: Raspberry Pi OS Linux (Raspberry Pi 5)
Device Information
Model ID: yeelink.light.ceilb
Brand: Yeelink/Yeelight (Xiaomi ecosystem)
Device Type: Ceiling Light with tunable white + RGB ambient light
Device IDs tested: 28BB8341, 2683157F, 24F3BB90, 24F3C3F1, 267F5119, 26831589, 2A40A434 (7 devices total)
MIOT Spec: https://home.miot-spec.com/s/yeelink.light.ceilb
Current Status
✅ MIOT auto-generation completed successfully
✅ All properties tested and working
✅ Database file generated and validated
The device currently auto-discovers as miio:generic with only basic network and action channels. After MIOT auto-generation, the device has been fully tested and all 11 properties are working correctly.
Request
Please add the generated database file to the official MIIO binding so that yeelink.light.ceilb devices are automatically supported as miio:basic instead of requiring manual database file installation.
Testing Results
MIOT Protocol Auto-Generation
Successfully generated using the experimental MIOT channel. Results:
Test Report: /var/lib/openhab/miio/test-yeelink.light.ceilb-20251024-114407.txt
Database File: /etc/openhab/misc/miio/yeelink.light.ceilb-miot-experimental.json
Discovered Properties (11 total)
All properties tested and confirmed working:
Main Light (Service ID 2)
- ✅ on (siid:2, piid:1) - Switch Status -
Switch- ON/OFF control and state - ✅ mode (siid:2, piid:2) - Mode -
Number- Day (0) / Night (1) - ✅ brightness (siid:2, piid:3) - Brightness -
Number:Dimensionless- 1-100% - ✅ color-temperature (siid:2, piid:5) - Color Temperature -
Number:Temperature- 2700-6500K
Ambient Light (Service ID 3)
- ✅ on1 (siid:3, piid:1) - Ambient Switch Status -
Switch- ON/OFF - ✅ mode1 (siid:3, piid:2) - Ambient Mode -
Number- RGB (1) / HSV (3) - ✅ brightness1 (siid:3, piid:3) - Ambient Brightness -
Number:Dimensionless- 1-100% - ✅ color-temperature1 (siid:3, piid:4) - Ambient Color Temp -
Number:Temperature- 1700-6500K - ✅ color (siid:3, piid:5) - Ambient Color -
Number- RGB value 1-16777215 - ✅ saturability (siid:3, piid:6) - Ambient Saturability -
Number:Dimensionless- 0-100% - ✅ flow (siid:3, piid:7) - Ambient Flow -
Number- NOFLOW (0) / FLOWING (1)
Actions (Service ID 2)
- ✅ light-toggle (siid:2, aiid:1) - Toggle light on/off
- ✅ light-brightness-up (siid:2, aiid:2) - Increase brightness
- ✅ light-brightness-down (siid:2, aiid:3) - Decrease brightness
Sample Test Results
Device responded correctly to all property queries:
{"id":7,"method":"get_properties","params":[{"did":"on","siid":2,"piid":1}]}
→ {"id":7,"result":[{"did":"on","siid":2,"piid":1,"code":0,"value":false}],"exe_time":0}
{"id":9,"method":"get_properties","params":[{"did":"brightness","siid":2,"piid":3}]}
→ {"id":9,"result":[{"did":"brightness","siid":2,"piid":3,"code":0,"value":35}],"exe_time":0}
{"id":10,"method":"get_properties","params":[{"did":"color-temperature","siid":2,"piid":5}]}
→ {"id":10,"result":[{"did":"color-temperature","siid":2,"piid":5,"code":0,"value":5949}],"exe_time":0}Device Information
{
"life": 260776,
"uid": 1555947613,
"model": "yeelink.light.ceilb",
"ipflag": 1,
"fw_ver": "2.1.7_0011",
"miio_ver": "0.0.9",
"hw_ver": "esp32",
"mmfree": 21344,
"wifi_fw_ver": "1988904"
}Working Commands (Legacy Protocol)
For reference, these legacy commands also work successfully via actions#commands:
- ✅
set_power ["on","smooth",2000,1]- turns light on - ✅
set_power ["off","smooth",2500]- turns light off - ✅
set_bright [66,"smooth",2000]- sets brightness (1-100) - ✅
set_ct_abx [6137,"smooth",2000]- sets color temperature (Kelvin)
Device responses with: {"id":2342,"result":["ok"],"exe_time":20}
Comparison with Similar Device
The model yeelink.light.ceiling10 is already supported and has similar capabilities. The yeelink.light.ceilb appears to be a variant with added RGB ambient lighting.
Expected Behavior After Official Support
Once added to the official binding, yeelink.light.ceilb devices should:
- Auto-discover as
miio:basic(notmiio:generic) - Automatically have all 11 property channels + 3 action channels
- Show proper ON/OFF state via the
onchannel (not just command acknowledgments) - Allow full control of main light and ambient RGB lighting
Files to Include
I can provide the following files generated by MIOT auto-discovery:
- Test Report: Complete property testing log with all request/response pairs
- Database JSON: Generated database definition file (6.6 KB)
The database file is named yeelink.light.ceilb-miot-experimental.json and can be renamed to yeelink.light.ceilb.json for official inclusion.
Additional Information
- Devices tested: 7 units across multiple locations, all identical behavior
- Firmware: 2.1.7_0011 (latest as of test date)
- Hardware: ESP32-based controller
- Purchase location: Various (2023-2024)
- Market availability: Currently available product in Xiaomi/Yeelight lineup
Issue Severity
Medium - Device is functional via workarounds (manual database file or command channels), but lacks proper state monitoring and requires manual configuration. Official support would provide automatic discovery and full integration for this common ceiling light model.
Maintainer Notes:
The MIOT auto-generation produced a clean, working database file with all properties validated. All that's needed is to include the generated JSON file in the binding's database resources. No code changes required - this is purely a database addition.
I'm happy to provide the test report and database JSON files, or make any adjustments to the database definition if needed.
test-yeelink.light.ceilb-20251024-114407.txt
yeelink.light.ceilb-miot-experimental.json