小智 × HomeAssistant:让全屋智能听懂人话,专治各种不想动
上篇,我们搭好了 Home Assistant,把米家、海尔、美的、特斯拉。。。统统收编。
HomeAssistant 保姆级教程:1 块树莓派,打通米家/海尔/美的/格力/海信
问题来了:想开个灯,还是得掏出手机点 HA 的界面。
半夜躺床上不想动胳膊、家里老人压根不会用 App……
这些场景,HA 那个控制台一个都救不了。
能不能动嘴就行?
话接上篇,把 HA 接入小智——一个实时语音交互助手,开口一句话,指挥全屋智能。
1. 让 HA 听懂"人话"
本质是把 HA 的 REST API 封装成 AI 能调度的工具。
1.1 基本架构
你 ──(说话)──> 小智设备 ──> 小智Pro服务端 ──(REST API)──> Home Assistant
│
你 <──(播报)── 小智设备 <── 小智Pro服务端 <──(设备状态)─────────┘

- 小智:跑在硬件上的语音助手,负责听你说、读给你听
- 小智Pro:云端服务端,作为 HA 的"客户端",替小智去调 HA 的 API
- HA:你上篇搭好的那个,管着家里所有设备
三者串起来,举个例子:
你说"把客厅灯关了",
小智听懂 → 小智Pro 去调 HA 的 light.turn_off → 灯关了 → 小智告诉你"关好了"。
1.2 为什么不直接让小智连 HA?
HA 有上千个实体、上百种服务,让语音模型直接对着原始 API 瞎猜不现实。
小智Pro:连接时把 HA 的全部实体拉一遍,分成两类——
| 分类 | 什么样 | 能干嘛 |
|---|---|---|
| 可控制设备 | 带 turn_on/turn_off/toggle 等服务 |
能开能关能调 |
| 传感器 | 只读,温度湿度电量门窗状态 | 只能查,不能控 |
这样,小智拿到的不是一堆冷冰冰的 entity_id,而是客厅灯(可开可关)、卧室空调(可调温度)这种结构化清单,命中率更高。
说白了:小智Pro把 HA 的家底摸清楚了,小智才知道家里有啥、能干啥。
2. 准备工作
在动手之前,确认这几点都就位:
2.1 上篇的成果
- ✅ HA 已经搭好,能公网访问,上篇讲过内网穿透的几种方案,这里不再赘述。
- ✅ 米家/海尔/美的等设备已接入 HA,界面上能看到、能点
2.2 创建一个长期访问令牌
小智Pro 连 HA 靠的是令牌(Token):
- 登录 HA
- 左下角点你的头像
- 进 安全
- 拉到最底部,找 长期访问令牌
- 点 创建令牌,起个名,复制保存
令牌只显示这一次,关掉就再也看不到了,先存好。令牌 = HA 的控制权,别泄露给别人。
3. 三步接入 HA
3.1 进对页面
登录小智Pro 控制台,左侧菜单:设备端MCP → 智能家居HA

3.2 填配置
首次进来是空的,点 配置并连接,弹窗里填两样东西:
| 字段 | 填什么 | 例子 |
|---|---|---|
| HA 地址 | HA 的访问地址,带 http:// 或 https:// |
https://ha.yourdomain.com |
| 长期访问令牌 | 上一步创建的那串 | eyJhbGciOi...(一长串) |
3.3 连接 + 自动探测
保存后系统会自动试着连:
- 🟢 连接成功:提示"HA 连接成功",页面立刻变成设备列表
- 🟡 已连接但探测失败:连上了但拉设备列表时断了,多半是令牌权限或网络抖动
- 🔴 连接失败:地址不通 / 令牌失效 / 小智Pro 够不着你的 HA
连上之后,页面顶部会亮出一排信息:

4. 控制台验证
语音控制之前,先在控制台手动点几下,确认设备能正常响应——
这一步能帮你把"配置问题"和"语音识别问题"分开排查。
4.1 可控制设备 Tab
页面分左右两栏。
左边是设备清单。
按设备自动分组。展开任一组,能看到这个设备下的所有可控制实体,每个实体一行:
选中一个实体,右边就弹出它的服务调用面板。
每个实体自带可用服务的参数定义,不用你去翻 HA 文档。

举个例子,点中一个空调:
- 选择服务下拉框会列出
turn_on/turn_off/set_temperature/set_hvac_mode等 - 选
set_temperature,下面自动冒出参数说明:temperature(必填),示例26
- 在额外参数 (JSON) 框里填
{"temperature": 26} - 点 调用服务
| HA 返回 | 意思 |
|---|---|
| 非空数组 | 真实拿到了设备新状态,稳了 |
空数组 [] |
服务发下去了,但设备没回应,可能离线 |
| 啥都没返回 | 新版 HA 默认不回包,系统按服务名乐观推断 |
4.2 传感器 Tab
切到传感器 Tab,这里全是只读的:温湿度、电量、门窗开合……
卡片大字号显示数值 + 单位,时间戳自动格式化。

4.3 两个常用按钮
- 刷新设备:你在 HA 里新加了设备,控制台不会自动知道,点这个重新拉一遍
- 错误日志:调用失败、集成报错时,点这个拉 HA 服务端的原始日志,排查神器
5. 动嘴控制全屋
控制台验证 OK,接下来,直接用嘴。
5.1 前提
- 小智设备固件 v2.2.6.2 以上
- 控制台显示 HA “在线”
- 设备已绑定到你的小智Pro 账号
5.2 直接说
不需要"指令模板"那套,自然话说就行:
- "把客厅的灯打开"
- "关掉卧室的空调"
- "客厅空调调到 26 度"
- "打开客厅的窗帘"
- "把书房那个插座关了"
5.3 设备名以 HA 为准
语音里说的设备名,得跟 HA 里的"友好名称"对得上。
HA 里每个实体都有个 friendly_name。
比如你的客厅灯在 HA 里叫"客厅吊灯",那你说"把吊灯关了"就管用;
如果它在 HA 里叫"Light 1",你说"客厅灯"小智就懵了。
建议:接完设备后,在 HA 里把每个实体的友好名称改成口语化的(设置 → 设备与服务 → 点进实体 → 改名称),语音识别率会高很多。
6. 常见问题
连接失败 / 一直转圈?
- 确认小智Pro 服务端能访问到这个地址(内网穿透到位)
- 令牌别复制多了空格或换行
- 点 错误日志 看 HA 那边报了啥
连上了但设备列表是空的?
- HA 里真有设备吗?去 HA 界面确认
- 点 刷新设备 重新拉
调用服务返回空响应(警告)?
- 设备本身掉线了(Wi-Fi 断、休眠)
- 服务发出去了但设备没动,点 刷新设备 看真实状态
语音说"开灯"没反应?
- 控制台是不是显示"在线"
- 固件版本够不够 v2.2.6.2
- 你说的设备名跟 HA 里的友好名称是不是一回事
- 看一眼 错误日志,HA 那边有没有集成报错
换了 HA 地址 / 令牌失效了?
点 修改配置 填新的,保存后旧连接自动断开,再点 连接 HA 用新配置重连就行。
7. 效果展示
查设备:

查设备状态:
控制设备:
关指示灯:
写在最后
上篇,我们把七八个割裂的 App 收敛成一台 HA,让它变成能被调用的智能中枢。
这篇,不再是"人去点界面",而是"开口就能调度"。
至此,你家的智能设备,可以真正"听懂人话"了。
如果对你有帮助,欢迎点赞收藏备用。
欢迎体验 小智Pro 更多功能,请戳👇:
https://mkwyqeoebedx.sealosbja.site
注:控制 HA能力需设备端固件v2.2.6.2版以上。
固件已全面适配小智官方仓库收录的开发板型号,下载地址:
https://github.com/hougeai/xiaozhiPro/releases

有任何问题,欢迎进群交流。
更多推荐


所有评论(0)