wxx9248/Corner-Floor-Lamp-Controller
GitHub: wxx9248/Corner-Floor-Lamp-Controller
逆向工程 duoCo StripX LED 控制器的 BLE 协议并提供 Python 库与 Home Assistant 自定义组件,实现完整的灯光控制与智能家庭集成。
Stars: 0 | Forks: 0
# 角落落地灯控制器
逆向工程的 BLE 协议与 Home Assistant 集成,适用于
**duoCo StripX** LED 灯带/落地灯控制器(BLE 名称前缀为
`MELK-`)——基于真实的 `MELK-OC21` 角落落地灯和“duoCo
StripX” Android 应用(`com.easylink.colorful`)构建。
该协议已完全通过设备验证:电源、亮度、RGB 颜色、213
种动画模式、28 种场景、特效速度、内置麦克风的 8 种
声音响应可视化效果、可寻址像素数、RGB 线序、设备端
RTC 闹钟以及音乐振幅流。
## 目录结构
| 路径 | 说明 |
|---|---|
| [`library/`](library) | `duoco-stripx` — 独立的 Python BLE 控制库 (bleak)。[README](library/README.md) |
| [`home-assistant/`](home-assistant) | 基于该库构建的 Home Assistant 自定义组件 —— 灯光、麦克风控制、UDP 音乐流接入。[README](home-assistant/README.md) |
| `scripts/` | 发布工具:版本标记、HA 导入兼容性检查 |
| `.github/workflows/` | CI(构建检查、针对最新 HA 的兼容性检查)及手动发布 |
协议逆向工程工作区(反编译的应用源码、供应商
APK、原始验证脚本)保存在单独的本地未发布
目录中,不属于此代码库。
## 快速开始
- **只想在 Home Assistant 中使用该落地灯?** → [`home-assistant/README.md`](home-assistant/README.md)
(从最新的 [发布版本](../../releases) 安装,包含自动发现、实体
列表、音乐流以及 HA 自动化调度示例)。
- **想直接使用 Python 控制落地灯?** → [`library/README.md`](library/README.md)
## 版本控制与发布
提交到此代码库的版本字段始终是 `0.0.0` 占位符 —— 真正的
版本仅以 `vX.Y.Z` git 标签形式存在,由手动的 **Release**
GitHub Actions 工作流(从最新标签进行 `major`/`minor`/`patch` 版本升级)创建,
该工作流会构建并发布库 wheel 包和可直接安装的 Home
Assistant 组件 zip 包作为发布资产。每次推送和 PR 还会
额外运行构建检查 + Home Assistant 兼容性 CI 工作流。
## 硬件说明
- GATT 服务 `FFF0`,写入特征 `FFF3`,9 字节帧
`7E EF`,write-without-response,无校验和。
- **只写** —— 无法读取状态回显;集成和库采用
乐观方式跟踪状态。
- **一次仅限一个 BLE 连接** —— 当 Home Assistant(或库)
保持连接时,手机应用无法连接,反之亦然。
- `MELK-OC21` 仅支持 RGB(无白光/CCT 通道),并且具有 80 个像素的可寻址能力。
标签:Home Assistant, Python, 云资产清单, 无后门, 智能家居, 物联网, 蓝牙低功耗(BLE), 逆向工具, 逆向工程