米家智能家居
homebot 通过 Home Assistant 控制米家设备。先让 Home Assistant 成功接入并控制你的米家设备,再将设备清单生成给 homebot,便可通过语音控制家中的设备。
1. 安装 Home Assistant
建议使用 Docker 部署 Home Assistant:
docker run -d \
--name home-assistant \
--restart=unless-stopped \
-p 8123:8123 \
-v ~/.homeassistant:/config \
ghcr.io/home-assistant/home-assistant:stable启动后,在浏览器打开 Home Assistant 的管理界面,完成首次初始化。
2. 在 Home Assistant 中接入米家
按照小米官方的 Home Assistant 集成文档完成米家配置:
https://github.com/XiaoMi/ha_xiaomi_home/blob/main/doc/README_zh.md
配置完成后,请先在 Home Assistant 中确认可以查看并操作米家设备。例如,能在 Home Assistant 中打开客厅灯或查看传感器状态,就说明基础连接已完成,离使用 homebot 控制设备只差最后一步。
3. 生成家庭设备 Skill
创建 Home Assistant 连接配置
在 Homebot 工作区中创建米家目录和私有配置文件。默认工作区路径为:
~/.homebot/workspace配置文件路径建议为:
~/.homebot/workspace/skills/mijia/config.json其中填写 Home Assistant 地址和在 Home Assistant 中创建的长期访问令牌:
{
"base_url": "http://<Home-Assistant 地址>:8123",
"access_token": "<长期访问令牌>"
}注意
config.json 包含可控制家庭设备的访问令牌,请妥善保管,不要提交到 Git 仓库或分享给他人。
根据设备清单生成 Skill
运行项目内置的米家驱动,读取 Home Assistant 中已接入的设备,并生成 homebot 使用的 Skill:
python3 homebot/skills/mijia/driver.py \
--config ~/.homebot/workspace/skills/mijia/config.json \
build-skill \
--output ~/.homebot/workspace/skills/mijia/SKILL.md生成后的文件位于:
~/.homebot/workspace/skills/mijia/SKILL.md它会包含当前可控制设备的名称、实体 ID 与支持的操作。新增或移除设备后,重新执行该命令即可更新设备清单。
4. 通过语音控制设备
重启 homebot 后,唤醒它并直接说出需求即可,例如:
打开客厅的灯
把卧室空调调到 24 度
关闭所有窗帘
生成的米家 Skill 会自动标记为 always,因此会持续保留在 homebot 的对话上下文中。这样处理家居控制请求时,无需先额外读取一次 SKILL.md,响应会更快。
提示
只有生成 Skill 时已发现的设备会出现在 homebot 的设备清单中。接入新设备后,请重新生成 Skill,再重启 homebot。
