本帖最后由 skypjsfly 于 2021-8-28 11:02 编辑
**首先本次折腾感谢某两位不愿透露姓名的vay冬冬、云淡风轻近午天大佬的技术支持,他们数个深夜被我折磨。**
本次折腾是参考之前大佬的帖子PVE虚拟机中安装的hassos的情况下显示CPU温度信息
与这位不一样的地方在于,他的homeassistant是安装在pve里面的,而我是装在群晖docker里面。
首先实现本次效果需要以下组件:
1、homeassist
2、mqtt
3、PVE
下面开始折腾:
前面部署就不说了,参照原贴进行,从安装sensor开始,
PVE里面安装sensor
apt-get install lm-sensors
sensors-detect
sensors
安装完成后在shell里面输入sensors,如果成功,会出现类似下面的内容
然后根据这个内容自己调整下面这窜代码
mosquitto_pub -h mqtt所在的ip -u mqtt账号 -P mqtt密码 -t pve/temp -m `sensors | grep -E 'id 0' |cut -c17-20`
需要修改的东西是mqtt所在的ip、mqtt账号、mqtt密码还有后面的`sensors | grep -E 'id 0' |cut -c17-20`
前面三个就不用说了,至于`sensors | grep -E 'id 0' |cut -c17-20`
grep -E 'id 0'为筛选sensors输出内容里面有id 0字符的行
然后cut -c17-20为裁切这一行的第17-20个字符出来,效果如图
能够提取到温度说明基本成功了,然后就是给pve添加定时,
输入crontab -e,然后添加定时就可以了
homeassistant这边,添加sensor
- platform: mqtt
name: pve cpu temp
icon: 'mdi:thermometer'
state_topic: 'pve/temp'
device_class: temperature
unit_of_measurement: "°C"
其中, state_topic:内容要和之前发送的代码里面一致。
最后重启ha就可以了。
到这里数据就已经自动接入homeassistant了。下面附上一张我的成果图,这个效果是在grafana的加成下实现的,个人已经很满意了。
|