参考教程: https://www.hachina.io/docs/7230.html
HomeAssistant中MQTT设备的自动发现逻辑是:
- MQTT设备将自身的配置信息发布在事前定义的主题位置上
- HomeAssistant从这个主题位置读取信息,生成对应的系统内实体设备
支持自动发现的设备包括:
- 开关型传感器(binary_sensor)
- 摄像头(camera)
- 窗帘(cover)
- 电扇(fan)
- 灯(light)
- 传感器(sensor)
- 开关(switch)
1 HomeAssistant支持自动发现,需要在配置文件中增加:
mqtt: # 此处为mqtt原有的一些配置 # …… # 配置自动发现 discovery: true # 自动发现使用的主题位置前缀,缺省为homeassistant discovery_prefix: homeassistant
2设备将自己的配置信息发布在主题位置:
<discovery_prefix>/<component>/[<node_id>/]<object_id>/config
<discovery_prefix>
:配置文件中的discovery_prefix,缺省为homeassistant<component>
:设备所在的域,例如light、switch、binary_sensor等<node_id>
:可选,节点ID<object_id>
:设备ID
配置信息采用JSON格式。
例如,MQTT设备在主题homeassistant/switch/irrigation/config
,发布信息:
{"name": "garden", "command_topic": "hachina/switch/irrigation/set", "state_topic": "hachina/switch/irrigation/state"}
当HomeAssistant读取此信息,相当于配置文件中存在以下内容:
switch: - platform: mqtt name: "garden" command_topic: "hachina/switch/irrigation/set" state_topic: "hachina/switch/irrigation/state"
3 实战操作
打开手机mqtt调试助手
在hass配置信息话题上发布自己的消息
远程登录hass,我们发现自动多出一一个设备
设备类型 开关
名字 garden
重发送配置,不会出现重复的设备。
手动和自动添加对比:
灯光这个设备,是之前我们自己手动在配置文件中添加的
原本以为自动添加的设备,会在配置文件中自动生成对应信息,但是打开没有发现,不知道hass自动存到哪了。
原文地址:https://www.cnblogs.com/kekeoutlook/p/9471884.html
时间: 2024-10-08 08:04:11