本帖最后由 XCray 于 2022-6-10 16:43 编辑
MQTT确实是一个很好的协议,之前用着也确实挺舒服的。
不过我这人有点儿完美主义,多一个mqtt服务器的环节总觉得不太爽。
其实我用到的使用这个协议的组件只有两个,并且都有了实际效果更好的替代方案,于是不再犹豫。
1. 曾经接近完美的 mqttl 项目,就是把小米蓝牙网关的TTL接口的消息转换为MQTT以便接入HA的那个,包括在下在内的多人接力,终于让这个项目成熟好用了。只不过后来又实现了效果更好的直接解密蓝牙消息的方案,经过长期使用效果很稳定,所以 mqttl 项目可以说完成了历史使命,光荣退休吧。
2. 路由器WAN接口状态和CPU温度监控。之前部署有mqtt,所以可以很简单的基于mqtt实现。现在想取消mqtt服务器,翻了翻ha文档,找到了一个更好的方案:HA自有的、很强大的REST API。
2.1 HA中创建长期令牌
2.2 修改路由器上的脚本,把mosquitto_pub替换为curl
少了一个环节,感觉清爽了很多
附:上传cpu温度的脚本:
#!/bin/sh
temp=`cat /sys/class/thermal/thermal_zone0/temp`
json="{"state":"$temp", "attributes": {"unit_of_measurement": "°C"}}"
curl -X POST -H "Authorization: Bearer XXXXXXX" -H "Content-Type: application/json" -d "$json" http://homeassistant:8123/api/states/sensor.rttemp
XXXXXXX即为长期令牌
|