Skip to content

Modbus API

Developer documentation

This section is intended for developers only.

Modbus register map

All registers are 16-bit holding registers. Separate registers are used for reading and writing.

Example: - To read the status of a light on CH2, use holding register 1002 - To write/change the status, use holding register 2


Channel mapping

Channel type Direction Modbus register Value
Binary inputs Read CH# + 1000 0 = off, 1 = on
Inputs Read CH# + 1000 0 = off, 1 = minimum value, 100 = maximum value
Binary outputs Write CH# 0 = off, 1 = on
Binary outputs Read CH# + 1000 0 = off, 1 = on
Dimmer outputs Write CH# 0 = off, 1 = minimum value, 100 = maximum value
Dimmer outputs Read CH# + 1000 0 = off, 1 = minimum value, 100 = maximum value
Blind/shutter outputs Write position CH# 0 = minimum value, 100 = maximum value
Blind/shutter outputs Write action CH# + 1 0 = open blind, 1 = close blind
Blind/shutter outputs Read position CH# + 1000 0 = minimum value, 100 = maximum value

Notes

  • CH# refers to the numeric channel index (e.g., CH22)
  • Reading always uses the + 1000 register offset
  • Writing uses the base register number (CH#), except blind/shutter actions which use CH# + 1