参考中文教程: https://www.hachina.io/docs/7230.html
英文官网 两个温度传感器:https://www.home-assistant.io/docs/mqtt/discovery/
MQTT设备将自身的配置信息发布在事前定义的主题位置上
HomeAssistant从这个主题位置读取信息,生成对应的系统内实体设备
开关型传感器(binary_sensor)
摄像头(camera)
窗帘(cover)
电扇(fan)
灯(light)
传感器(sensor)
开关(switch)
<code><discovery_prefix>/<component>/[<node_id>/]<object_id>/config</code>
<code><discovery_prefix></code>:配置文件中的discovery_prefix,缺省为homeassistant
<code><component></code>:设备所在的域,例如light、switch、binary_sensor等
<code><node_id></code>:可选,节点ID
<code><object_id></code>:设备ID
配置信息采用JSON格式。
例如,MQTT设备在主题:
发布信息:
当HomeAssistant读取此信息,相当于配置文件中存在以下内容:
3 实战操作
打开手机mqtt调试助手
在hass配置信息话题上发布自己的消息
远程登录hass,我们发现自动多出一一个设备
设备类型 开关
名字 garden
说明:
重发送配置,不会出现重复的设备。
hass重启后,必须重新发送配置信息,否则hass不会自动找到它。
必须指定设备类型
灯 homeassistant/light/led1/config
开关 homeassistant/switch/kaiguan1/config
灯光这个设备,是之前我们自己手动在配置文件中添加的
警告:
自动发现设备的时候,一定要改配置话题第三个参数ID,
跟换设备名没关系。设备名重复,ID不重复,可以添加。
ID重复,不管设备名重复不重复,只能有一个
第一个设备 名字 RGBlight ID garden 存在
homeassistant/light/garden/config
{"name": "RGBlight", "command_topic": "hachina/rgb1/light/switch",
第二个设备 名字light ID garden1 存在
homeassistant/light/garden1/config
{"name": "light", "command_topic": "hachina/rgb1/light/switch",
第三个设备 名字light ID garden2 存在
homeassistant/light/garden2/config
第四个设备 名字light ID garden 不存在
ID和第一个配置ID冲突,只能存在一个