All devices

Daikin · Heat pump

Altherma 3 via Daikin HomeHub (EKRHH) Modbus register map

Download JSONSupplier documentationSuggest an edit

Default configuration

Protocol
Modbus TCP
Port
502
Unit ID
1
Addressing
1-based
Byte order
Big endian
Word order
High word first

Register map

AddressCountNameTypeUnitScaleAccess
211
Unit error
0 = no error, 1 = error, 2 = warning.
UInt16-1R
221
Unit error code
Two ASCII characters in one register (high byte first), e.g. "U8".
Ascii-1R
231
Unit error subcode
32766 when there is no error, 0-99 together with an error.
Int16-1R
301
Circulation pump running
0 = off, 1 = on.
UInt16-1R
311
Compressor running
0 = off, 1 = on.
UInt16-1R
321
Backup heater running
0 = off, 1 = on.
UInt16-1R
331
Disinfection operation
0 = off, 1 = on.
UInt16-1R
351
Defrost / startup
0 = off, 1 = on.
UInt16-1R
361
Hot start
0 = off, 1 = on.
UInt16-1R
371
3-way valve
0 = space heating, 1 = domestic hot water.
UInt16-1R
381
Operation mode
1 = heating, 2 = cooling.
UInt16-1R
401
Leaving water temperature, plate heat exchanger
Flow temperature at the plate heat exchanger (Temp16 format: raw value / 100).
Int16°C0.01R
411
Leaving water temperature, backup heater
Int16°C0.01R
421
Return water temperature
Int16°C0.01R
431
Domestic hot water temperature
Int16°C0.01R
441
Outdoor air temperature
Int16°C0.01R
451
Liquid refrigerant temperature
Int16°C0.01R
491
Flow rate
Water flow rate, raw value divided by 100.
Int16l/min0.01R
501
Remote controller room temperature
Int16°C0.01R
511
Heat pump power consumption
Pow16 format: raw value / 100 gives kW.
Int16kW0.01R
521
DHW normal operation
0 = idle/buffering, 1 = in operation.
UInt16-1R
531
Space heating/cooling normal operation
0 = idle/buffering, 1 = in operation.
UInt16-1R
541
Main LWT heating setpoint, lower limit
Int16°C0.01R
551
Main LWT heating setpoint, upper limit
Int16°C0.01R
561
Main LWT cooling setpoint, lower limit
Int16°C0.01R
571
Main LWT cooling setpoint, upper limit
Int16°C0.01R
581
Additional LWT heating setpoint, lower limit
Int16°C0.01R
591
Additional LWT heating setpoint, upper limit
Int16°C0.01R
601
Additional LWT cooling setpoint, lower limit
Int16°C0.01R
611
Additional LWT cooling setpoint, upper limit
Int16°C0.01R

Notes

Source: Daikin, "Daikin HomeHub EKRHH - Reference for installers", 4P744838-1D (2024.05), section 9 "Use case 3 - Modbus TCP/IP or RTU for Daikin Altherma", tables 9.2.1 (holding) and 9.2.2 (input). The HomeHub gives Altherma 3 a Modbus TCP/RTU server on port 502 (RTU: RS-485, 9600 baud, 8 data bits, even parity, 1 stop bit). Register numbering in the Daikin data model is 1-based while PDU addressing is 0-based, hence one_based: register 1 is PDU address 0. Sensor temperatures use Temp16 (raw / 100), power Pow16 (raw / 100 = kW), flow rate raw / 100 in l/min, the error code two ASCII characters in one register; holding setpoints are plain integers in their documented unit. Holding rows 6, 7, 53, 59, 61 and 65 were re-checked against the vendor table (pages 38-39): 6 = room thermostat heating setpoint 12-30 C, 7 = cooling counterpart 15-35 C, 53 = weather dependent mode main, 59/61 = thermostat main/additional input A, 65 = weather dependent mode additional, so the labels stand. The daikin-ha-ekrhh-modbus integration also uses 68/69, 74/75 and 76/77 and marks 6/7 obsolete for its newer firmware / Altherma 4 set; this edition does not list those offsets, so a newer unit may expose the room setpoints at 76/77 instead of 6/7. Offsets without a documented meaning (5, 8, 11, 14-52, 60, 62) are application-dependent and left out. Writing a setpoint outside its range clamps it to the nearest limit (limits in input registers 54-61). Altherma 3 R/3 M indoor units with Micon ID 20002203 do not support 59, 61, 63 and 64.