3.4 KiB
ESP32设备与HomeAssistant集成指南
简介
本文档将指导您如何将ESP32设备与HomeAssistant进行集成。
前提条件
- 已安装并配置好
HomeAssistant - 已经在HomeAssistant中集成
Xiaomi Home,并将米家的设备导入进HomeAssistant xiaozhi-esp32-server智控台能正常使用- 本次我选择的模型是:免费的ChatGLM,它支持functioncall函数调用
网络环境
1、我的HomeAssistant部署在下面,版本是2025.3.4
http://192.168.4.7:8123
2、我的xiaozhi-esp32-server智控台和HomeAssistant部署在同一台机器的另一个端口,版本是0.3.10
http://192.168.4.7:8002
配置步骤
1. 登录HomeAssistant整理需要控制的设备清单
登录HomeAssistant,点击左下角的设置,然后进入设备与服务,再点击顶部的实体。
然后在实体中搜索你相关控制的开关,结果出来后,在列表中,点击其中一个结果,这是会出现一个开关的界面。
在开关的界面,我们尝试点击开关,看看是开发会随着我们的点击开/关。如果能操作,说明是正常联网的。
接着在开关面板找到设置按钮,点击后,可以查看这个开关的实体标识符。
我们打开一个记事本,按照这样格式整理一条数据:
位置+英文逗号+设备名称+英文逗号+实体标识符+英文分号
例如,我在公司,我有一个玩具灯,他的标识符是switch.cuco_cn_460494544_cp1_on_p_2_1,那么就这个写这一条数据
公司,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1;
当然最后我可能要操作两个灯,我的最终的结果是:
公司,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1;
公司,台灯,switch.iot_cn_831898993_socn1_on_p_2_1;
这段字符,我们成为“设备清单字符”需要保存好,等一下有用。
2. 登录HomeAssistant拿到开发密钥
登录HomeAssistant,点击左下角个人,切换安全导航栏,划到底部长期访问令牌生成api_key。
3. 登录智控台
使用管理员账号,登录智控台。点击顶部菜单参数管理,搜索plugins.home_assistant.,会有三条结果出来
编辑plugins.home_assistant.devices,把刚才整理的设备清单字符粘贴进去。
编辑plugins.home_assistant.base_url,把你部署的HomeAssistant接口地址粘贴进去,我粘贴进去的地址是这样的
http://192.168.4.7:8123
编辑plugins.home_assistant.api_key,把你从HomeAssistant复制过来的密钥,粘贴进去
4. 设置意图识别函数
在智控台,点击顶部菜单“模型配置”,在左侧栏,找到“意图识别”,找到id为Intent_function_call的意图,点击编辑
然后在弹框中,在原来的基础上追加两个函数:“hass_get_state”和“hass_set_state”
修改前
change_role;get_weather;get_news;play_music
修改后
change_role;get_weather;get_news;play_music;hass_get_state;hass_set_state
6. 手动重启xiaozhi-server
重启xiaozhi-server程序
5. 确认角色配置是否设置了函数意图识别
在智控台,点击顶部菜单“智能体管理”,找到设备所在的智能体,点击“配置角色”
确认意图识别(Intent),是否选择“函数调用意图识别”
6. 唤醒设别进行控制
尝试和esp32说,“打开XXX灯”