SudoSaturn/eufy-local-ha
GitHub: SudoSaturn/eufy-local-ha
通过加密 BLE 通信实现 Eufy 串灯在 Home Assistant 中的完全本地化控制,无需云端或官方应用。
Stars: 0 | Forks: 0
# Home Assistant 的 Eufy Local Light
通过加密的 Bluetooth Low Energy (BLE) 会话,将 Eufy 串灯作为原生 Home Assistant light 实体进行本地控制:支持电源、亮度和 RGB。无需云端,无需 Eufy 应用,无需 MQTT,无需外部 daemon。
### 但首先!

这事儿我记心里了。
## 环境要求
- Home Assistant :)
- 你的灯的 Bluetooth MAC、序列号和 Eufy user ID(参见[配置](#configuration))
## 安装说明
### HACS
1. 在 HACS 中,打开三点菜单并选择 Custom repositories。
2. 添加 `https://github.com/sudosaturn/eufy-local-ha`,类别选择 Integration。
3. 安装 Eufy Local Light,然后重启 Home Assistant。
### 手动安装
将 `custom_components/eufy_local` 复制到你的 Home Assistant `config/custom_components/` 目录中并重启。
## 配置
通过 Settings > Devices & services > Add integration > Eufy Local Light 添加集成(它也应该可以通过 Bluetooth 自动发现)。系统会要求你提供三个值:
| 字段 | 它是什么 | 在哪里找到它 |
| --- | --- | --- |
| Bluetooth MAC | 灯的 BLE 地址 | 发现时应该会根据你的型号自动填充,但你也可以使用像 nRF Connect 这样的 BLE 扫描器。 |
| 序列号 | 16 字符的设备序列号 | 在设备标签和 Eufy 应用的设备信息中。 |
| User ID | 你的 Eufy 账户 user ID (十六进制) | 与灯配对的账户。 |
### 寻找你的 User ID
- 从 Eufy Security 账户 API 中读取(例如通过社区 [`eufy-security-ws`](https://github.com/bropat/eufy-security-ws) 项目),或者
- 捕获一次应用的 HTTPS 或 BLE 握手流量并读取 `user_id` 字段。
要了解更多关于我是如何对其进行逆向工程以及这些值在哪里被使用的信息,你可以阅读 [PROTOCOL.md](PROTOCOL.md)。
## 选项:色彩调校
原始的 sRGB 在这些 LED 上看起来并不正确,所以我调整了饱和度,以防止浅色褪变成白色(大概吧)。
(话虽如此。我有严重的色盲,所以它可能并不像我看起来的那么准确)
你可以从 Settings > Devices & services > Eufy Local Light > Configure 中调整这些选项:
| 选项 | 默认值 | 效果 |
| --- | --- | --- |
| Gamma | 1.7 | 值越高,混合颜色越深 |
| Saturation | 1.0 | 1.0 表示完全鲜艳;值越低,越偏柔和色彩 |
| Neutral threshold | 0.12 | 颜色在多接近灰色时才会被视为白色 |
| White balance, green | 0.85 | 如果白色看起来偏绿则调低 |
| White balance, blue | 0.55 | 如果白色看起来偏蓝则调低;如果偏琥珀色则调高 |
有关完整的详细说明,请参见 [PROTOCOL.md](PROTOCOL.md)。
许可证:[GPL](LICENSE)
标签:Home Assistant, 智能家居, 本地控制, 物联网, 蓝牙低功耗, 逆向工具