Pomelo 发表于 2023-4-23 20:56:18

用MQTT监控树莓派报错有懂得大佬看一下

本帖最后由 Pomelo 于 2023-4-23 21:02 编辑



ironsheep/RPi-Reporter-MQTT2HA-Daemon:Linux 服务,用于通过 MQTT 收集和传输 Raspberry Pi 数据到家庭助理(用于 RPi 监控) (github.com)本来想根据这个开源项目在自己的homeassistant上监测树莓派的信息,结果运行这个的时候开始报错报错


如下:Traceback(最近的最后调用):
文件“/opt/RPi-Reporter-MQTT2HA-Daemon/ISP-RPi-mqtt-daemon.py”,第 1809 行,在 <module> 之后MQTTConnect()
# 现在而不是
之后?
文件 “/opt/RPi-Reporter-MQTT2HA-Daemon/ISP-RPi-mqtt-daemon.py”,第 1799 行,在 MQTTConnect
之后 handle_interrupt(0) 文件 “/opt/RPi-Reporter-MQTT2HA-Daemon/ISP-RPi-mqtt-daemon.py”,第 1782 行,handle_interrupt update_values()
文件 “/opt/RPi-Reporter-MQTT2HA-Daemon/ISP-RPi-mqtt-daemon.py”,第 1765 行,
update_values
getLastUpdateDate()

文件 “/opt/RPi-Reporter-MQTT2HA-Daemon/ISP-RPi-mqtt-daemon.py”,第 1096 行,在 getLastUpdateDate
行 = stdout.decode('utf-8').split(“\n”)
UnicodeDecodeError: 'utf-8' 编解码器无法解码字节 0xd4 在位置 29: 无效的延续字节
线程 Thread-5:
Traceback(最近一次调用):
文件 “/usr/lib/python3.7/threading.py”,第 917 行,在
_bootstrap_inner self.run()
中 文件 “/usr/lib/python3.7/threading.py”,第 1166 行,在 run
self.function(*self.args, **self.kwargs) 文件中 “/opt/RPi-Reporter-MQTT2HA-Daemon/ISP-RPi-mqtt-daemon.py”,第 1490 行,在 periodTimeoutHandler
handle_interrupt(TIMER_INTERRUPT)
# '0' 中表示我们有一个计时器中断!!!
文件 “/opt/RPi-Reporter-MQTT2HA-Daemon/ISP-RPi-mqtt-daemon.py”,第 1782 行,位于 handle_interrupt
update_values()
文件中 “/opt/RPi-Reporter-MQTT2HA-Daemon/ISP-RPi-mqtt-daemon.py”,第 1765 行,update_values getLastUpdateDate() 文件中 “/opt/RPi-Reporter-MQTT2HA-Daemon/ISP-RPi-mqtt-daemon.py”,第 1096 行,在
getLastUpdateDate
行 = stdout.decode('utf-8')
.split(“\n”)
UnicodeDecodeError:“utf-8”编解码器无法解码位置 0 中的字节4xd29:无效的延续字节



有懂得大神给看看把

shaun 发表于 2023-4-26 10:13:56

建议你这个错误截图还是不要翻译的好, `afterMQTTConnect()` 被翻译成了 `之后MQTTConnect()`, 而且格式也乱了, 错行。
不如直接把错误信息截图贴出来
1. 建议你尝试自己使用 配置文件里面的配置链接一下看是否能正常链接。
2. 查看你的系统编码是什么, 看最后一个错误提示,应该是编码问题

Pomelo 发表于 2023-4-26 15:46:42

shaun 发表于 2023-4-26 10:13
建议你这个错误截图还是不要翻译的好, `afterMQTTConnect()` 被翻译成了 `之后MQTTConnect()`, 而且格式 ...

感谢你,确实是系统编码的问题,没有设置成UTF-8,解决啦
页: [1]
查看完整版本: 用MQTT监控树莓派报错有懂得大佬看一下