首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ESP8266通过MQTT接入Home Assistant(二)

上一篇《ESP8266通过MQTT接入Home Assistant(基于Micropython)》,我们分享了将自制的ESP8266开发板作为一个设备,通过MQTT协议接入Home Assistant,实现温湿度和电量的实时上传。然而,我们发现了一个问题:每当Home Assistant重启后,通过发送配置主题自动发现的设备和实体就无法继续使用,需要重新发送配置主题来恢复它们的功能。

本篇笔记介绍另一种方法,通过直接修改YAML配置文件来实现设备和实体的添加,从而避免了上述问题。这种方法可以确保即使在Home Assistant重启后,新添加的设备和实体依然能够正常工作。

1、发现设备和实体

Home Assistant的YAML配置文件是核心组件,用于定义实体、集成、自动化等。通过编辑configuration.yaml文件,可以集成新设备、创建自动化规则,以及优化整个家居自动化体验。

安装File editor

Home Assistant支持使用文件编辑器(File editor)来编辑配置文件。我们安装的是冬瓜HAOS,这个版本已经集成了File editor。通过设置->加载项可以找到File editor,然后勾选显示于侧边栏,可将其添加到侧边栏中,方便使用。

修改配置文件

进入File editor,点击左上角的文件夹图标,找到configuration.yaml,进入configuration.yaml编辑。将ESP8266的设备信息和传感器的实体信息添加到configuration.yaml,yaml内容如下:

mqtt:sensor:   - name: "温度"     state_topic: "homeassistant/sensor/esp8266/state"     device_class: "temperature"     unit_of_measurement: "°C"     value_template: "{{ value_json.temperature}}"     unique_id: "temp01ae"     device:       name: "ESP8266"       suggested_area: "客厅"       manufacturer: "PY学习笔记"       model: "E103-W01"       model_id: "ESP8266EX"       serial_number: "pysn"       hw_version: "v1.2.0"       sw_version: "1.24.1"       identifiers:         - "esp8266_aht10"          - name: "湿度"     state_topic: "homeassistant/sensor/esp8266/state"     device_class: "humidity"     unit_of_measurement: "%"     value_template: "{{ value_json.humidity}}"     unique_id: "hum01ae"     device:       identifiers:         - "esp8266_aht10"   - name: "电量"     state_topic: "homeassistant/sensor/esp8266/state"     device_class: "battery"     unit_of_measurement: "%"     value_template: "{{ value_json.battery}}"     unique_id: "batt01be"     device:       identifiers:         - "esp8266_aht10"

YAML 语法要求严格的缩进和格式,错误的缩进或语法可能导致配置失效。

手动配置MQTT实体

YAML修改后,需要重新加载才能生效。通过开发者工具,找到手动配置的MQTT实体,点击重新加载。

至此,在Home Assistant上就能看到MQTT发现了一个设备和3个实体:

2、发送传感器数据

再上一张这几天电量测试的曲线图:

中间无数据部分为停机充电时间。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OFWyiUEdqxyBj04bKaLB2YhA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券