victronenergy / dbus-flashmq

Plugin for FlashMQ that interfaces between DBUS and MQTT.
MIT License
21 stars 3 forks source link

vrmlogger.py high CPU load and VRM connection dies when String instead of number is sent to e.g. temperature node #6

Closed mhcore-m closed 1 month ago

mhcore-m commented 1 month ago

If a string value eg "60.5" instead of float 60.5 is written to a node e.g. "W/"+portal_id+"/temperature/"+device_id+"/Temperature" the connection to VRM Portal breaks and the local running vrmlogger.py causes a very high CPU load.

The strange behavior is, that the local GX display shows the, in that case, string temperature value correct as a number.

wiebeytec commented 1 month ago

When you say the connection to the VRM portal breaks, do you mean the MQTT/real-time connection, or vrmlogger (which logs data for historical graphs)?

So far I have not been able to reproduce it. I tried setting the actual temperature path but also other float types. You're setting a temperature reading BTW. Is that intentional?

Do you have the log output from /var/log/flashmq/current and /var/log/vrmlogger/current from the time of the event?

Additionally, if you used command-line tools to issue the MQTT commands, those are welcome too, with their arguments.

And what version of VenusOS are you using?

wiebeytec commented 1 month ago

I'm closing this for now because of lack of reproduction ability or information, but you can reopen it once you have more information.