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 %