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), 逆向工具, 逆向工程