参考中文教程:  https://www.hachina.io/docs/7230.html

英文官网 两个温度传感器:https://www.home-assistant.io/docs/mqtt/discovery/
 

1HomeAssistant中MQTT设备的自动发现逻辑是:

  • MQTT设备将自身的配置信息发布在事前定义的主题位置上
  • HomeAssistant从这个主题位置读取信息,生成对应的系统内实体设备

2支持自动发现的设备包括:

  • 开关型传感器(binary_sensor)
  • 摄像头(camera)
  • 窗帘(cover)
  • 电扇(fan)
  • 灯(light)
  • 传感器(sensor)
  • 开关(switch)

3HomeAssistant支持自动发现,需要在配置文件中增加:

mqtt:
# 此处为mqtt原有的一些配置
# ……
# 配置自动发现
discovery: true
# 自动发现使用的主题位置前缀,缺省为homeassistant
discovery_prefix: homeassistant

4设备将自己的配置信息发布在主题位置:

  • <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

说明:

  1. 重发送配置,不会出现重复的设备。
  2. hass重启后,必须重新发送配置信息,否则hass不会自动找到它。
  3. 必须指定设备类型
  • 灯      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

{"name": "light", "command_topic": "hachina/rgb1/light/switch",

第四个设备 名字light   ID garden    不存在

homeassistant/light/garden/config

{"name": "light", "command_topic": "hachina/rgb1/light/switch",

ID和第一个配置ID冲突,只能存在一个

(二 -2) 天猫精灵接入Home Assistant-自动发现Mqtt设备的更多相关文章

  1. (二 -3-1) 天猫精灵接入Home Assistant-自动发现Mqtt设备--灯系列 esp8266程序

    设备1 上电自动注册自己是个1个开关 HASS网页和手机APP控制 外部开关上升沿中断控制 天猫精灵语音控制 一键配网 记录以往WIFI信息 设备2 上电后,自动注册自己有三个开关控制 HASS网页和 ...

  2. (二 -3) 天猫精灵接入Home Assistant-自动发现Mqtt设备--灯系列

    参考网站 1该mqtt光平台可以让您控制您的MQTT启用灯.它支持设置亮度,色温,效果,闪烁,开/关,RGB颜色,过渡,XY颜色和白色值. https://www.home-assistant.io/ ...

  3. (二 -3-1) 天猫精灵接入Home Assistant-自动发现Mqtt设备--灯系列 实战

    #本片教程介绍了具体如何实现天猫精灵控制一个灯. 前提: HASS平台 你已经搭建一个可以在公网IP访问到的HASS平台--- 我用的是租了阿里云服务器,买了个域名,ubuntu1604系统 你已经搭 ...

  4. (二 -5) 天猫精灵接入Home Assistant-自动发现Mqtt设备--电风扇

    官网:https://www.home-assistant.io/components/fan.mqtt/ 1 添加配置文件 要在安装中启用MQTT风扇,请将以下内容添加到您的configuratio ...

  5. (二 -3-3) 天猫精灵接入Home Assistant-自动发现Mqtt设备-自动生成配置信息

    http://www.hassmart.com/products/switches/#tab=config switch: - platform: mqtt name: keting state_to ...

  6. (二 -4) 天猫精灵接入Home Assistant-自动发现Mqtt设备--传感器系列

    https://www.home-assistant.io/blog/2015/10/11/measure-temperature-with-esp8266-and-report-to-mqtt/ 最 ...

  7. (四) 天猫精灵接入Home Assistant-ESP-WIFI模块通过mqtt协议接入HASS

    总过程 1 ESP8266上电后,初始化 连接MQTT服务器 发布自身配置信息----hass自动发现该设备 订阅hass的命令话题---接收命令 发布hass的状态话题---返回自身状态 2 ESP ...

  8. (二 -1) 天猫精灵接入Home Assistant-控制Mqtt设备

    关于hass对接mqtt 请参考官网 https://www.hachina.io/docs/7083.html 1 登陆运行着hass的阿里云服务器 2 修改hass配置文件,添加mqtt服务信息 ...

  9. (零 ) 天猫精灵接入Home Assistant-总说明

    天猫精灵设备管理 https://bbs.hassbian.com/tmall 自己的hass访问地址 http://[自己的IP或域名]:8123/states 自己的MQTT服务器访问 http: ...

随机推荐

  1. Eclipse SVN 冲突的 介绍 及 四种解决方式

    https://blog.csdn.net/diyu122222/article/details/79879376

  2. activeX

    对外接口和classid在idl文件中,接口功能实现在ctrl类中实现

  3. vb.net 變量及数据类型

    Dim过程级变量 Private模块级变量 Public全局变量 Integer(整型) Long(长整型) Single(單精度浮點型) Double(双精度浮点型) Decimal(十进制型) S ...

  4. 自定义SharePoint2013 master page

    SharePoint uses templates to define and render the pages that a site displays. The structure of a Sh ...

  5. yum 安装 php5.6.36

    PHP安装测试可以 rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm; rp ...

  6. HTML meta头部小结

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 【代码笔记】Web-JavaScript-JavaScript 变量

    一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  8. easyUI combobox combotree 模糊查询,带上下键选择功能,待完善。。。。

    /2017年4月9日 11:52:36 /** * combobox和combotree模糊查询 * combotree 结果带两级父节点(手动设置数量) * 键盘上下键选择叶子节点 * 键盘回车键设 ...

  9. 方差variance, 协方差covariance, 协方差矩阵covariance matrix

    https://www.jianshu.com/p/e1c8270477bc?utm_campaign=maleskine&utm_content=note&utm_medium=se ...

  10. java中多线程详解-synchronized

    一.介绍 当多个线程涉及到共享数据的时候,就会设计到线程安全的问题.非线程安全其实会在多个线程对同一个对象中的实例变量进行并发访问时发生,产生的后果就是“脏读”.发生脏读,就是取到的数据已经被其他的线 ...