Universal Light Controller
monty68/uniled · v2.2.6
Universal Light Controller Integration for Home Assistant
In Apple Home through HomeKit Bridge
What HomeKit Bridge makes of each kind of entity this integration creates, read from its source code. A device only gets the ones that apply to it.
| Entity | Shows up as | Note |
|---|---|---|
light | Light | |
switch | Switch or outlet | |
sensor | Sensor (temperature, humidity, air quality…) | |
button | Button (as a switch) | |
scene | Scene (as a switch) | |
select | Mode picker (as switches) |
What people report
BanlanX/SP-series LED controllers work locally over BLE or WiFi; many newer models (SP548E, SP538E, SP522E) are unsupported or only partly working, with support PRs still open.
- Works2
- Partly works1
- Not working2
- Requested5
| Device | In Home Assistant | In Apple Home | What they said | Source |
|---|---|---|---|---|
| BanlanX SP611E | Works Local | Fixed after v2.2.x regressionSaved copyVersion of the custom_component 2.2.3 --> Latest version ## Describe the bug Not supported after upgrade from 1.xxx version. I see that there are another issue with the same error (https://github.com/monty68/uniled/issues/47) but it was on 2.2.0 and solved on version 2.2.1. ## Debug log [code] Excerpt saved from GitHub on 2026-10-23. | Issue #52 · 2024-01 | |
| BanlanX SP620E | Works Local | Support addedSaved copyThe original text was already deleted or overwritten when we archived it. | PR #22 · 2023-01 | |
| BanlanX SP601E | Partly works Local | Failed to initialise after v2.2.1 upgradeSaved copy… initialization: Debug logs: ``` 2024-01-21 15:22:28.916 DEBUG (MainThread) [custom_components.uniled.lib.ble.device] Checking support for: '55:55:07:05:8A:6E' (SP601E)... AdvertisementData(local_name='SP601E', manufacturer_data={20563: b'\x01\x01UU\x07\x05\x8an'}, service_uuids=['00001800-0000-1000-8000-00805f9b34fb', '00001801-0000-1000-8000-00805f9b34fb', '0000ffe0-0000-1000-8000-00805f9b34fb'], rssi=-79) 2024-01-21 15:22:28.916 DEBUG (MainThread) [custom_components.uniled.lib.ble.device] Device 'SP601E' (55:55:07:05:8A:6E) is supported! 2024-01-21 15:22:28.919 DEBUG (MainThread) … Excerpt saved from GitHub on 2026-10-23. | Issue #49 · 2024-01 | |
| BanlanX SP538E | Not working Local | BLE connection problem on 3.0.10 betaSaved copy… 20260128.6 Installation method: HACS ## Configuration logger: default: warning logs: custom_components.uniled: debug ## Describe the bug I am trying to add a BanlanX SP538E controller via BLE. The device is detected during scanning and shows correct local_name as "SP538E", but UniLED reports the device as "not supported". The model SP538E is listed in the supported devices list in the documentation. The device is: Advertising with local_name = SP538E and SP548E Strong RSSI (-79 to -85) However UniLED still reports: Device 'XX:XX:XX:XX:XX:XX' (SP538E or SP548E) not supported! Please advise if … Excerpt saved from GitHub on 2026-10-23. | Issue #120 · 2026-02 | |
| BanlanX SP548E | Not working Local | Model 148 unsupported; discovered but no entities createdSaved copyVersion of the custom_component 3.0.10-beta 11 ## Configuration [code] ## Describe the bug I have an SP548E model 148 that is currently not supported, is there anything I can do to help get it supported. ## Debug log [code] Excerpt saved from GitHub on 2026-10-23. | Issue #91 · 2025-03 | |
| BanlanX SP522E 2CH PWM CCT WiFi | Requested | Support requestedSaved copyPlease add support for SP522E 2CH PWM CCT WiFi Excerpt saved from GitHub on 2026-10-23. | Issue #148 · 2026-09 | |
| BanlanX SP541E (WiFi) | Requested Local | WiFi support PR openSaved copySummary Adds network (WiFi) support for the BanlanX SP541E, a single-colour PWM (music) controller, and fixes two bugs that otherwise stop it from being set up on the `dev_v3` beta. Closes #141, closes #146. ## Changes ### 1. SP541E model signature (`lib/net/sp53x_54xe.py`) The SP541E answers network discovery with model code `0x5C`, which is not in any `SPTechSig.code` dict yet. As a result, `match_model_code()` returns `None` and the config flow reports "Device not supported". Its status response reports light type `0x01`. This matches `0x81` (PWM Mono) with the high bit cleared. The … Excerpt saved from GitHub on 2026-10-23. | PR #150 · 2026-10 | |
| BanlanX SP65X | Requested Local | Support PR open since 2025Saved copyIs your feature request related to a problem? Please describe. BanlanX SP65X models are similar to SP63X, with addtional support for Mi Jia app. Please add support SP65X models as well as SP63X. Describe the solution you'd like Edit the banlanx_6xx.py, add those SP65X models. Additional context Currently, I've change the banlanx_6xx.py, and tested for SP659E, work as well as SP639E. I haven't tested for the other SP65X models, just guessed those ids. Excerpt saved from GitHub on 2026-10-23. | PR #96 · 2025-03 | |
| BanlanX SP661E | Requested Local | Single-colour PWM support PR openSaved copySummary Adds support for the BanlanX SP661E (single colour PWM controller): power, brightness, three effects (Triangle, Strobe, Heart Beat) and effect speed. How this came about: I (@bartoszbielawski) bought a new LED strip with an SP661E controller and wanted to control it from Home Assistant. UniLED discovered it, but the config entry failed with `device update failed`. The code in this PR was written by Claude Code (an AI coding assistant) while I directed the work: it reverse-engineered the protocol from BLE captures against my real controller, found the cause of the failure, and wrote … Excerpt saved from GitHub on 2026-10-23. | PR #152 · 2026-10 | |
| LEDnetWF0200A362973A | Requested | Unknown device; maintainer could not identify, not plannedSaved copy[code] Add support please. Excerpt saved from GitHub on 2026-10-23. | Issue #59 · 2024-02 |
Gathered from GitHub issues, pull requests, discussions and docs, and from r/homeassistant. These are individual reports, so check the linked thread and the date before you buy.
How it connects
Local polling
Talks to the device on your network, asking it for updates every so often.
Found automatically over
- Bluetooth
Details
| Installs (analytics) | 323 (0.05%) |
|---|---|
| GitHub stars | 143 |
| Latest version | 2.2.6 (2025-01-06) |
| Set up in the UI | Yes |
| Maintainers | @monty68 |
| License | MIT |
Notable forks
Forks with stars, or with code pushed at least 90 days after the original’s last push. Useful when the original goes quiet.
| Fork | Stars | Last push | Description |
|---|---|---|---|
| FrancYescO/uniled Newer code | ★ 9 | 2026-10-16 | Universal Light Controller Integration for Home Assistant |
| SeanChangX/uniled Newer code | ★ 3 | 2026-03-21 | Universal Light Controller Integration for Home Assistant |
| jordanruthe/uniled Newer code | ★ 1 | 2026-06-14 | Universal Light Controller Integration for Home Assistant |
| bartoszbielawski/uniled Newer code | ★ 0 | 2026-10-18 | Universal Light Controller Integration for Home Assistant |
| Lak4CYUT/uniled Newer code | ★ 0 | 2025-04-21 | Universal Light Controller Integration for Home Assistant |
In ReReHome
Whatever HomeKit Bridge shares reaches Apple Home as normal HomeKit accessories behind your Home Assistant bridge, so ReReHome shows and controls them like any other.
Bridges get their own settings page listing the accessories behind them.
Sources
- Documentation: https://github.com/monty68/uniled
- Source code: https://github.com/monty68/uniled
- Issues: https://github.com/monty68/uniled/issues
- HACS: https://hacs.xyz