[collectd] Modbus plugin seems to read garbage values

Gerry Demaret ml at x-net.be
Sat Oct 13 22:18:22 CEST 2012


On 13/10/12 11:06, Fabien Wernli wrote:
> Are you sure the device is sending correct values? We've got an EGX400, and
> it's been a real PITA ever since we've comissioned it. We ended up writing
> our own plugin retrieving the data via ftp/http from the box. Then again,
> I've never used "float" type for registers, but I guess you've already
> played with that, as the EGX100 user guide seems rather sparse on this
> matter.

Hi Fabien,

Thanks for your reply.

Turns out my config wasn't okay. The EGX's manual states that for
example register 3000 holds the value for the current going through l1,
so I assumed 3000 and 3001 were used to contain the float. Turns out it
is actually 2999 and 3000.

So this works:

> 	<Data "current-phase1">
> 		RegisterBase 2999
> 		RegisterType float
> 		Type current
> 		Instance "phase1"
> 	</Data>

Whereas this only produces garbage:

> 	<Data "current-phase1">
> 		RegisterBase 3000
> 		RegisterType float
> 		Type current
> 		Instance "phase1"
> 	</Data>

Also, regarding the patch I had to apply in order to have modbus
working at all; is that already included in a newer version?

Oh by the way, might be useful for your EGX400; after updating the
EGX100's firmware to 3.0 its SNMP seems to have become a lot more
responsive and might actually contain the data you need as well. Might
be a better solution instead of parsing the HTTP output? :)

Gerry.



More information about the collectd mailing list