Modbus RTU, addressing and communication settings
Selected translated commissioning reference for the two modules. Full device-specific register tables are linked below.
Protocol and defaults
Modbus RTU runs over RS-485. Standard operations include reading coils (0x01), discrete inputs (0x02), holding registers (0x03) and input registers (0x04), and writing a single coil (0x05), a single holding register (0x06), multiple coils (0x0F) or multiple holding registers (0x10).
Factory serial settings are 9600 bit/s, 8 data bits, no parity and 2 stop bits. Current firmware tolerates a stop-bit mismatch, but matching settings remain appropriate. Use a unique device address from 1 to 247; the factory address is printed on the enclosure.
Discovering and changing addresses
Use the controller's bus scan to discover devices and resolve address conflicts. For direct command-line access, stop other software using that serial port and restart it afterwards.
systemctl stop wb-mqtt-serial modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a1 -t0x06 -r128 12 systemctl start wb-mqtt-serial
This example changes address 1 to 12 by writing holding register 128. Replace the port, address and serial parameters with those of the actual device.
If the address is unknown, a broadcast write using address 0 can assign a new address, but connect only the intended device: every device receiving the broadcast can apply the change. A timeout is expected because broadcast writes have no reply. Prefer discovery where possible.
Baud rate and parity
Holding register 110 stores baud rate divided by 100. For 115200 bit/s, write 1152 using the old communication settings; then change the master to the new speed. Register 111 sets parity (0 none, 1 odd, 2 even); register 112 selects 1 or 2 stop bits.
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a12 -t0x06 -r110 1152
High baud rates require correct bus wiring. All devices on a shared port must use compatible settings.
Fast Modbus
Fast Modbus adds rapid device discovery and event polling. A master explicitly enables the extension; conventional Modbus masters remain compatible. Not all registers generate events: event-capable entries are marked ⚡ in the register maps. Event delivery reduces latency when many devices share the bus.