在嵌入式x86上构建我的智能家居(home assistant) (三)

配置MQTT。搜索并选择MQTT。

将搭建好的mosquitto服务信息绑定到Home Assistant中,这样Home Assistant就可以接收MQTT信息并展示。

点击完成,我们就能够看到界面。

创建传感器

使用MQTT Discovery

新建一个温度传感器和一个湿度传感器,内容为json格式,字段含义见附1。

$ mosquitto_pub -h 127.0.0.1 -p 1883 -t "homeassistant/sensor/room1-temp/config" -u mqtt -P mqtt -i "pub1" -m '{"device_class": "temperature", "name": "ROOM1-TEMP", "unique_id":"room1-temp", "state_topic": "homeassistant/sensor/room1/state", "unit_of_measurement": "°C", "value_template": "{{ value_json.temp}}" }'
$ mosquitto_pub -h 127.0.0.1 -p 1883 -t "homeassistant/sensor/room1-humi/config" -u mqtt -P mqtt -i "pub1" -m '{"device_class": "humidity", "name": "ROOM1-HUMI", "unique_id":"room1-humi", "state_topic": "homeassistant/sensor/room1/state", "unit_of_measurement": "%", "value_template": "{{ value_json.humi}}" }'

打开配置->实体注册表,在里面我们应该能够看到刚创建的温度和湿度传感器。

在概览页面(也就是首页),我们可以通过编辑Dashboard的方式把传感器数据放在页面上。

 

自行发送一个传感器数据 

作为测试,我们可以使用mosquitto的工具自己发送一个数据,如果Web页面能够正常展示数据,说明我们的Home Assistant已经彻底配置完成。

$ mosquitto_pub -h 127.0.0.1 -p 1883 -t "homeassistant/sensor/room1/state" -u mqtt -P mqtt -i "pub1" -m '{ "temp": 27.20, "humi": 40.70 }'

附1 discovery参数表

参数含义
-tmqtt中的发送主题,格式为homeassistant/sensor/{name}/config
-umqtt的用户名
-Pmqtt的密码
-imqtt的clientId,注意在连接同一个MQTT Server的时候不要重复
-mdevice_class:设备类型,支持列表见https://www.home-assistant.io/integrations/sensor/#device-class,若设备与列表中均不匹配(例如甲醛传感器),则在json中不要包含该字段。
name:显示在界面上的传感器名称。
unique_id:全局唯一的传感器id,此处若不传数据,在系统中将无法更改属性。
state_topic:当传递传感器数据时需要订阅的主题,格式为homeassistant/sensor/{name}/state
unit_of_measurement:量纲,此处可以自由传递字符串,但若不传,前端展示会出现问题。
value_template:在传感器数据中取哪个json字段作为数据。

参考文献

  1. Documentation - Home Assistant (home-assistant.io)

Configuration.yaml - Home Assistant

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值