Orkli iDomus integration with Home Assistant via Modbus TCP: discovered registers

I am documenting here some Modbus TCP registers I have identified on an Orkli iDomus system, since I could not find this information clearly published online.

The information below was obtained empirically using QModMaster , reading Modbus registers from the iDomus controller at:

192.168.1.225:502

The system responds over Modbus TCP on the standard port 502 .

Disclaimer

This documentation is based on observations from my own installation. It is not official Orkli documentation .

Register maps, values, offsets, or behavior may vary depending on firmware version, installation type, number of configured zones, or controller model.

I strongly recommend starting in read-only mode before attempting to write any registers, especially because this system controls heating/cooling through radiant floor / cooling slab circuits.


General register structure per zone

I observed that each zone uses a block of 4 registers .

Zone 1 starts at the first register.

Zone 1: registers 1-4
Zone 2: registers 5-8
Zone 3: registers 9-12
Zone 4: registers 13-16
...

The system appears to reserve space for 8 zones , although in my installation only the first two zones are configured and actively used.

Each zone block appears to follow this structure:

Register within block Meaning
Register 1 Zone HVAC on/off state
Register 2 Mode: radiant slab heating or cooling slab
Register 3 Target temperature / setpoint
Register 4 Measured temperature from the zone sensor

Zone registers

Zone 1

Modbus register Description Observed values
1 Zone HVAC state 2 = off, 3 = on
2 Operating mode 2 = radiant slab heating, 3 = cooling slab
3 Target temperature / setpoint Temperature × 2
4 Measured temperature 162 - (2 × temperature)

Zone 2

Modbus register Description Observed values
5 Zone HVAC state 2 = off, 3 = on
6 Operating mode 2 = radiant slab heating, 3 = cooling slab
7 Target temperature / setpoint Temperature × 2
8 Measured temperature 162 - (2 × temperature)

Conversion formulas

Target temperature / setpoint

The setpoint register stores the temperature multiplied by 2.

register = temperature × 2
temperature = register / 2

Example:

Setpoint: 23.5 °C
Register value: 47

Measured zone temperature

The measured temperature uses an inverse formula:

register = 162 - (2 × temperature)

Therefore, to get the actual temperature:

temperature = (162 - register) / 2

Example:

Measured temperature: 25 °C
Register value: 112

Calculation:
(162 - 112) / 2 = 25 °C

Humidity registers

I also found the relative humidity values for each zone.

Modbus register Description
100 Zone 1 humidity
101 Zone 2 humidity

The value is not expressed directly as a percentage. Instead, it uses a 0 to 255 range.

0   = 0 % RH
255 = 100 % RH

Conversion formula:

humidity_% = register × 100 / 255

Example:

Raw value: 128

Calculation:
128 × 100 / 255 = 50.2 %