[Modbus] The question about polling

Hello! I have a device that supports only writing to the register (function 6). It does not respond to the read request (function 3).
Here is the configuration in modbus.cfg:

serial.slave24.connection=/dev/ttyAMA0:9600:8:none:1:rtu:50:50:none:none
serial.slave24.id=30
serial.slave24.type=holding
serial.slave24.start=6
serial.slave24.length=1

With this configuration I get a read error. Because the device does not know the command 3. Everything is logical. Can I set up the device so that it does not participate in reading when polling. Did it work only for writing ?
I have not even created an item, but I’m already getting errors …

and one more question:
I have many devices. Can I make one of them be polled every 100 ms, and others for example 5 seconds

If you are just starting out with Modbus, I would recommend changing to the version 2 binding.

It is set up quite differently, using Things and channels. But it allows you to configure different poll rates and write-only registers.

If this a write-only device (rather than just some if its registers), I think this can be made to work with a poller Thing that never polls (reads). Let’s ask @ssalonen if I’m guessing right?

Indeed the write-only devices are better supported in the version 2 binding. See example for more information (note especially holding5write)

Basically, you only define the tcp/serial endpoint and data thing, and that should be it. No need to declare any pollers since there’s no data to be polled.

Best,
Sami

1 Like