Daikin EKMBPP1 / EKMBPP1A Modbus register map
Modbus adapter for Daikin Sky Air and VRV indoor units over P1P2
- Verified
- 191 registers
- Modbus RTU
- Revision 2
Verified: Tested on a real device.
Communication
- Protocol
- Modbus RTU
- Unit ID
- 1default
- Serial
- 9600 8N1 · 9600 baud, 8 data bits, none parity, 1 stop bit
- Byte / word order
- ABCD · bytes big-endian, words high first
- Addresses
- 0-based
- Max read
- 10 registers per request
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 35 holding registers, 156 input registers
- Groups
- 23
- Translation tables
- 7
- Revision
- 2
- Added
- ()
- File
- maps/daikin/ekmbpp1-ekmbpp1a.mbmap.json · 34 KB · history
- SHA-256
- 25b9cde6bd20d92aeb297a8abc602981084abdbb460295f7124c8d73e0d5ae8d
- Manufacturer
- daikin.com
Sources and notes
Source: Daikin, "EKMBPP1+EKMBPP1A Modbus adapter installation manual", 4P720139-1C (2024-11), sections 6.3-6.5
- Daikin EKMBPP1 / EKMBPP1A Modbus adapter for Sky Air and VRV indoor units (P1P2).
- Holding registers control the units; input registers read them back.
- Temperatures in input registers are signed, in 0.01 °C. At most 10 registers per request. The unit (slave) address is set with DIP switches (0-63).
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 1 | int16 | RW | °C | 16-32; out-of-range values are limited | ||
| HR | 2 | uint16 | RW | Units with 3 speeds use 1, 3 and 5; reads 5 when the fan is on Auto | |||
| HR | 3 | uint16 | RW | ||||
| HR | 4 | uint16 | RW | ||||
| HR | 5 | uint16 | RW | ||||
| HR | 10 | uint16 | RW | Writing the global register sets all of them | |||
| HR | 11 | uint16 | RW | ||||
| HR | 12 | uint16 | RW | ||||
| HR | 13 | uint16 | RW | ||||
| HR | 14 | uint16 | RW | ||||
| HR | 15 | uint16 | RW | ||||
| HR | 20 | int16 | RW | °C | 16-32; 0 = no limit | ||
| HR | 21 | int16 | RW | °C | 16-32; 0 = no limit | ||
| HR | 22 | uint16 | RW | Sum of the inhibited speeds; 0 = no limit | |||
| HR | 22 | bool bit 1 | RW | ||||
| HR | 22 | bool bit 2 | RW | ||||
| HR | 22 | bool bit 3 | RW | ||||
| HR | 22 | bool bit 4 | RW | ||||
| HR | 22 | bool bit 5 | RW | ||||
| HR | 23 | uint16 | RW | Sum of the inhibited modes; 0 = no limit | |||
| HR | 23 | bool bit 0 | RW | ||||
| HR | 23 | bool bit 1 | RW | ||||
| HR | 23 | bool bit 2 | RW | ||||
| HR | 23 | bool bit 3 | RW | ||||
| HR | 23 | bool bit 4 | RW | ||||
| HR | 24 | uint16 | RW | Sum of the inhibited directions; 0 = no limit | |||
| HR | 24 | bool bit 1 | RW | ||||
| HR | 24 | bool bit 2 | RW | ||||
| HR | 24 | bool bit 3 | RW | ||||
| HR | 24 | bool bit 4 | RW | ||||
| HR | 24 | bool bit 5 | RW | ||||
| HR | 24 | bool bit 6 | RW | ||||
| HR | 30 | uint16 | RW | ||||
| HR | 31 | uint16 | RW | Reads 2 when on Auto | |||
| HR | 55 | uint16 | RW | ||||
| IR | 50 | int16 | R | °C | ×0.01 | Only with one indoor unit and the remote controller set as secondary; 0 otherwise | |
| IR | 51 | uint16 | R | ||||
| IR | 20 | uint16 | R | Indoor units found on the network (0-16) | |||
| IR | 21 | uint16 | R | ||||
| IR | 22 | uint16 | R | Code of the first unit with an error | |||
| IR | 22 | string[1] | R | The two ASCII characters of the Daikin error code | |||
| IR | 23 | int16 | R | °C | ×0.01 | ||
| IR | 24 | uint16 | R | ||||
| IR | 25 | int16 | R | °C | ×0.01 | ||
| IR | 26 | int16 | R | °C | ×0.01 | ||
| IR | 30 | uint16 | R | ||||
| IR | 35 | uint16 | R | ||||
| IR | 120 | uint16 | R | ||||
| IR | 121 | uint16 | R | ||||
| IR | 122 | uint16 | R | ||||
| IR | 122 | string[1] | R | ||||
| IR | 123 | int16 | R | °C | ×0.01 | ||
| IR | 124 | uint16 | R | ||||
| IR | 130 | uint16 | R | ||||
| IR | 131 | int16 | R | °C | ×0.01 | Only when the adapter is P1P2 main | |
| IR | 132 | int16 | R | °C | ×0.01 | Only when the adapter is P1P2 main | |
| IR | 220 | uint16 | R | ||||
| IR | 221 | uint16 | R | ||||
| IR | 222 | uint16 | R | ||||
| IR | 222 | string[1] | R | ||||
| IR | 223 | int16 | R | °C | ×0.01 | ||
| IR | 224 | uint16 | R | ||||
| IR | 230 | uint16 | R | ||||
| IR | 231 | int16 | R | °C | ×0.01 | Only when the adapter is P1P2 main | |
| IR | 232 | int16 | R | °C | ×0.01 | Only when the adapter is P1P2 main | |
| IR | 320 | uint16 | R | ||||
| IR | 321 | uint16 | R | ||||
| IR | 322 | uint16 | R | ||||
| IR | 322 | string[1] | R | ||||
| IR | 323 | int16 | R | °C | ×0.01 | ||
| IR | 324 | uint16 | R | ||||
| IR | 330 | uint16 | R | ||||
| IR | 331 | int16 | R | °C | ×0.01 | Only when the adapter is P1P2 main | |
| IR | 332 | int16 | R | °C | ×0.01 | Only when the adapter is P1P2 main | |
| IR | 420 | uint16 | R | ||||
| IR | 421 | uint16 | R | ||||
| IR | 422 | uint16 | R | ||||
| IR | 422 | string[1] | R | ||||
| IR | 423 | int16 | R | °C | ×0.01 | ||
| IR | 424 | uint16 | R | ||||
| IR | 430 | uint16 | R | ||||
| IR | 431 | int16 | R | °C | ×0.01 | Only when the adapter is P1P2 main | |
| IR | 432 | int16 | R | °C | ×0.01 | Only when the adapter is P1P2 main | |
| IR | 520 | uint16 | R | ||||
| IR | 521 | uint16 | R | ||||
| IR | 522 | uint16 | R | ||||
| IR | 522 | string[1] | R | ||||
| IR | 523 | int16 | R | °C | ×0.01 | ||
| IR | 524 | uint16 | R | ||||
| IR | 530 | uint16 | R | ||||
| IR | 531 | int16 | R | °C | ×0.01 | Only when the adapter is P1P2 main | |
| IR | 532 | int16 | R | °C | ×0.01 | Only when the adapter is P1P2 main | |
| IR | 620 | uint16 | R | ||||
| IR | 621 | uint16 | R | ||||
| IR | 622 | uint16 | R | ||||
| IR | 622 | string[1] | R | ||||
| IR | 623 | int16 | R | °C | ×0.01 | ||
| IR | 624 | uint16 | R | ||||
| IR | 630 | uint16 | R | ||||
| IR | 631 | int16 | R | °C | ×0.01 | Only when the adapter is P1P2 main |
No registers match
Try part of the name, an address (decimal or 0x hex) or clear the filters.
Help improve this map
- I tested it on a deviceReport whether it worked, even if you did not write the map.
- Suggest a correctionEdit the file on GitHub; it opens a pull request.
- Report a problemA wrong address, type, scale or byte order.
- Read the formatWhat each key of the file means (SPEC.md).