| 0. 背景根据论坛上大佬们:狗哥、莫哥的教程,大家已经掌握了m61发送mqtt消息的技能,本文主要解答王哥的问题,如何通过mqtt简单的在ha中注册实体。本文以温度传感器为例,班门弄斧介绍两种方式。 1. 前置条件ha中已经装好mqtt服务器,我这里使用的是mosquitto broker为例。 
 启动服务,并且记录当前ha服务器的ip和broker的监听端口。这里,我的ip是192.168.3.130,broker的监听端口是1883。 
 此时,未新增实体前,我的MQTT插件中有3个实体。 
 分别是我创建的壁挂炉的开关和climate控制器。
 2. 注册实体2.1 方式一、通过mqtt消息主动注册使用上一篇帖子中的工具,(链接:【从零开始玩HA】mqtt调试服务器与客户端 - 智能家居 - 物联网开发者社区-安信可论坛 - Powered by Discuz! (ai-thinker.com))向mosquitto broker发送消息。 step1. 发送消息注册设备 发布主题:homeassistant/sensor/temp1/config 发送消息格式:json 发送内容: {
  "name": "temp1",
  "state_topic": "sensor/temp1",
  "device_class": "temperature",
  "value_template": "{{ value_json.temperature}}",
  "device_class": "temperature",
  "unique_id": "tttt1111",
  "device": {
    "name": "aithinker",
    "identifiers": [
      "temp1"
    ]
  }
}
 此时,mqtt集成界面显示多了一个设备和一个实体。 
 可以看到,已经注册上了一个温度计。 
 step2. 发布温度数据,更新实体数据。 发布主题:sensor/temp1 发送消息格式:json 发送内容: {
   "temperature":99.99
}
 此时,从ha中可以看到温度数据已经更新成99.99摄氏度。 2.2 方式二、通过yaml的方式注册实体step1. 修改ha的配置文件configuration.yaml中的配置 增加: mqtt:
  sensor:
    - name: "aithinker temp2"
      state_topic: "sensor/temp2"
      value_template: "{{ value_json.temperature}}"
      unit_of_measurement: '°C'
 修改完成后,保存并且重启ha。 重启完成后,实体注册表中增加temp2实体。 
 step2. 发布温度数据,更新实体数据。 发布主题:sensor/temp2 发送消息格式:json 发送内容: {
   "temperature":88.88
}
 此时,从ha中可以看到温度数据已经更新成88.88摄氏度。 
 3. 添加到仪表盘
 |