写了个 HA 集成支持米家/美的设备输出到小度智能音箱

9 月 27 日
 jackroyal

背景

由于家里的设备品牌主要是米家/美的/小度音箱, 多年来米家墙壁开关都只能用小爱同学控制, 而美的空调又只能用小度同学控制, 语音操作体验有点割裂, 借着现在 vibe coding 的春风, 写了一个 HA 集成xiaodu bridge来解决这个问题.

核心原理: HA 集成提供 OAuth Server 和设备云服务, 利用小度音箱自定义的智能家居技能(云云接入), 实现米家/美的设备接入小度智能音箱, 同时外输给 iPhone homekit, 支持多 iPhone 手机控制.

美的已经支持云厂商接入小度音箱, 为啥也要通过这个集成接入呢? 用过就知道, 美的云服务的状态同步比较差劲, 空调关着小度 app 还是开启状态.

整体运转流程:

米家 / 美的 / Sonoff / 其他 HA 集成
        ↓
Home Assistant 实体 + 区域
        ↓
xiaodu bridge ( DuerOS 语义模型 + OAuth 服务端)
        ↓
小度音箱 / 小度 App / Homekit Bridge

实现方式

集成在 HA 里直接充当 DuerOS 智能家居的 OAuth 服务端(授权 / Token / WebService 三个端点)。核心是两件事:

  1. 把 HA 实体组装成 DuerOS 语义设备:浴霸是一台浴霸(照明/取暖/换气聚合),洗衣机、晾衣杆、扫地机有专用档案,灯、开关、插座、空调、窗帘、风扇、传感器走通用合成
  2. 状态双向流动:控制请求经 WebService 转成 HA 服务调用,状态变化主动 Change Report 推给小度

主要特点

安装

要求 HA 2025.1+,小度云端能访问 HA 的公网 HTTPS 地址。

  1. HACS → Custom repositories 添加 https://github.com/Jackroyal/xiaodu-bridge (还没上架 HACS 默认商店)
  2. 重启 HA → 添加集成 → 填 OAuth 配置(先在小度开发者平台建技能,把三个地址填回去)
  3. 集成里选要暴露的设备 → 小度侧触发发现

链接

github 仓库:https://github.com/Jackroyal/xiaodu-bridge

我家的其他设备接入到 HA 中: https://mp.weixin.qq.com/s/vCMu2KMSknTfMnio1MwWNA

xiaodu bridge 详细的安装部署记录:https://mp.weixin.qq.com/s/ITsERPt-xfy3WXboo9siJw?

1026 次点击
所在节点    分享创造
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1244948

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX