[collectd] modbus with variable Interval and Baudrate?

Bjarne Büchmann collectd at buchmann.dk
Sat Feb 27 14:42:17 CET 2021


Dear Wizards,

I am in the process of setting up a RPi-based automatic read of a set of 
electrical meters. The meters (8 single-phase SDM120's, and 4 
triple-phase SDM630's) are all on a single modbus line, and I can 
connect to the meters both using python/minimalmodbus and with 
collectd/modbus.

If possible, I believe it preferable to use a well-tested software 
package like collectd, rather than basing on my own implementation. 
However, I seem to have stuck two points, which could be problematic in 
my particular case:

A: The meters (SDM120 vs SDM630) do not support the same (maximum) baud 
rates. They max out at 9600 baud and 38400 baud, respectively. If I have 
to, then I could run the entire line @9600 baud, but since the SDM630s 
contain a lot more information/registers, I think it might be beneficial 
to connect at max baud rate to these devices.

Q: Can I use devices with different baud rate on the same line with 
collectd/modbus? They have to share localhost, device /dev/ttyUSB0.

Further, I would like to read a few parameters (like instantaneous power 
[W]) very frequently (to be able to store eg max per hour/day), while 
other metrics are needed only rarely.

Q: Is it possible to set "Interval" on a per-metric ("Collect") base, or 
must all Slaves/Data [types]share a single "global" value specified on a 
per<Host>-basis?

Many thanks for a fantastic project,

Bjarne Büchamann

PS: Eventually, the measurements will be sent to an MQTT-server, but 
that is a different story.




-- 
Denne e-mail blev kontrolleret for virusser af Avast antivirussoftware.
https://www.avast.com/antivirus




More information about the collectd mailing list