
The Daikin EKMBPP1 (and EKMBPP1A) is a Modbus RTU adapter that connects Daikin VRV, Sky Air and VAM/VKM ventilation units to TapHome via RS-485. The adapter communicates with indoor units through the P1P2 bus and exposes temperature readings, fan speed, operation modes, airflow direction, and Smart Grid control.
Up to 16 units can be connected on a single Modbus RTU bus. Each adapter requires a unique Slave ID configured via DIP switches on the PCB.
Hardware connection
PCB overview

Key components on the PCB:
- X1A — Power connector (15–24 V DC)
- X2M — RS-485 Modbus connector (DA+, DB-, GND)
- X7M — P1P2 communication with the indoor unit
- DS1 — 10-position DIP switch for Modbus address
- SS1, SS2, SS3 — Slide switches for termination resistor
- LED1–4, HAP — Status LED indicators
Technical specifications
- Power supply: 15–24 V DC, max 120 mA (3 W)
- Operating temperature: -10°C to +50°C
- Protocol: Modbus RTU Slave, RS-485
- Baud rate: 9600, no parity, 1 stop bit
- Max units: 16 on a single bus
RS-485 wiring (X2M connector)
Connect using a 3-wire RS-485 connection:
- DA+ → A+/D+ on TapHome RS-485
- DB- → B-/D- on TapHome RS-485
- GND → GND on TapHome power supply (mandatory)

Cable specification:
- Type: 24 AWG twisted pair, shielded or unshielded
- Standard: CAT3, CAT4 or CAT5
- Max length: 500 m
- Use a twisted pair for DA+/DB- and a third wire for GND
Important — Grounding
The GND wire must be connected between the Daikin adapter and the TapHome power supply. Without proper grounding, communication errors may occur. We recommend single-point grounding.
Wiring diagram

Configuration
DIP switch addressing
The 10-position DIP switch DS1 on the PCB sets the Modbus RTU Slave address (range 0–63). DIP switch 10 is the least significant bit (LSB) — read from right to left.
Address examples (DIP positions 1→10):
| Address | DIP Switch DS1 (1→10) |
|---|---|
| 1 | OFF OFF OFF OFF OFF OFF OFF OFF OFF ON |
| 2 | OFF OFF OFF OFF OFF OFF OFF OFF ON OFF |
| 3 | OFF OFF OFF OFF OFF OFF OFF OFF ON ON |
| 4 | OFF OFF OFF OFF OFF OFF OFF ON OFF OFF |
| 5 | OFF OFF OFF OFF OFF OFF OFF ON OFF ON |
| 6 | OFF OFF OFF OFF OFF OFF OFF ON ON OFF |
| 7 | OFF OFF OFF OFF OFF OFF OFF ON ON ON |
| 8 | OFF OFF OFF OFF OFF OFF ON OFF OFF OFF |
| 9 | OFF OFF OFF OFF OFF OFF ON OFF OFF ON |
| 10 | OFF OFF OFF OFF OFF OFF ON OFF ON OFF |
Recommended: Address 1 for the first adapter (DIP 10=ON, all others OFF).
Termination resistor (SS1–SS3)
Configure the bus termination resistor using slide switches SS1, SS2 and SS3:
| SS1 | SS2 | SS3 | Resistance |
|---|---|---|---|
| OFF | OFF | OFF | 0 Ω |
| OFF | ON | OFF | 100 Ω |
| ON | OFF | OFF | 120 Ω |
For TapHome: TapHome Core has a built-in 120 Ω resistor on its BUS terminals. Set 120 Ω (SS1=ON, SS2=OFF, SS3=OFF) only on the last Daikin unit on the bus. All other units should be set to 0 Ω (all switches OFF).
Modbus master timeout
Set DIP switches 3 and 4 on the EKMBPP1 for TapHome:
- DIP 3: ON
- DIP 4: OFF
This configures a 120-second timeout: if no Modbus communication is received within 120 seconds, the adapter turns on all units with current settings, unlocks the remote controllers and sets Global Update to “OnChange”.
Slave ID adjustment
Important: For Slave ID other than 1, adjust the ReadScript register offsets in TapHome service settings.
Formula:
- Error register: SlaveID × 100 + 21
- Filter alarm register: SlaveID × 100 + 24
| Slave ID | Error register | Alarm register | Note |
|---|---|---|---|
| 1 | 121 | 124 | Default — no changes needed |
| 2 | 221 | 224 | Adjust in TapHome |
| 3 | 321 | 324 | Adjust in TapHome |
| 10 | 1021 | 1024 | Adjust in TapHome |
How to adjust in TapHome:
- Open the “Daikin EKMBPP1” module
- Go to service settings → ReadScript
- Change the register values using the formula above
Example for Slave ID = 2:
| |
This applies to all registers above 100.
Device capabilities
Temperature monitoring
The template provides four temperature sensors that read from input registers with automatic °C × 100 conversion:
- Return Air Average (I:23) — group average return air temperature across all connected indoor units
- Return Air Temperature (I:123) — return air temperature from unit 1, with service attributes showing the minimum (I:25) and maximum (I:26) across all units
- Coil Inlet Temperature (I:131) — unit 1 coil inlet temperature, available only when the adapter is in Main mode
- Coil Outlet Temperature (I:132) — unit 1 coil outlet temperature, available only when the adapter is in Main mode
Unit power and operation mode
- ON/OFF (H:5) — turns the indoor unit on or off
- Operation Mode (H:3) — selects Auto, Heating, Fan/Ventilation, Cooling, or Dry mode
- Fan Speed (H:2) — selects from Off, Low, Medium Low, Medium, Medium High, and High. Units with only 3 fan speeds use Low (1), Medium (3), and High (5)
- Airflow Direction (H:4) — controls the vane position: Stop, Swing, 0°, 20°, 45°, 70°, or 90°
Smart Grid control
Smart Grid (H:55) enables energy management on Sky Air units with four modes:
- Free running — normal operation, no Smart Grid intervention
- Forced off — all units switched OFF (cannot be overruled)
- Recommended on — all units ON, room buffering ±1°C from setpoint
- Forced on — all units ON, room buffering ±2°C from setpoint
Only one Modbus master is allowed when using Smart Grid — either the Smart Grid provider or TapHome, not both simultaneously.
Global Configuration and update modes
Global Configuration (H:10) controls how settings are pushed from TapHome to the indoor units. The template exposes this as a multi-value switch with four modes: LastTouch, Central, Local, and OnChange.
Each control function (setpoint, fan speed, mode, airflow direction, ON/OFF) has its own update mode that can be set individually via 6 service actions on the Global Configuration device. Five service attributes display the current update mode for each function.
| Update mode | RC buttons | Behavior |
|---|---|---|
| LastTouch (default) | Unlocked | Updates on every write, even if value unchanged |
| Central | Locked | Remote controller buttons locked, value repeatedly written |
| Local | Unlocked | No updates sent to unit |
| OnChange | Unlocked | Updates only when value changes |
Service diagnostics
The module exposes three service attributes for monitoring:
- Unit Exists (I:120) — checks whether indoor unit 1 is found on the P1P2 bus
- Thermo State (I:130) — current thermal operation: Idle/Fan, Heating, or Cooling
- Defrost (I:35) — whether at least one unit is currently in a defrost cycle
The module ReadScript also monitors for unit errors (I:121) and filter alarms (I:124), reporting them as errors and warnings in TapHome.
Additional capabilities
The EKMBPP1 adapter also exposes registers for temperature setpoint control (H:1, range 16–32°C), setpoint min/max limits, fan speed and mode inhibit bitmasks for restricting available options, airflow direction inhibit, and VAM/VKM-specific ventilation mode and rate control. Group-level sensors for unit count, error status, error codes, filter alarms, and remote controller readback are also available. These can be added in a future template update.
The temperature setpoint register (H:1) is not included in the current template. To control the setpoint, it can be added as a custom Modbus device in TapHome using register H0001 with a range of 16–32.
LED status indicators

| LED | Color | Function |
|---|---|---|
| LED1 | Green | Adapter status |
| LED2 | Red | Error indicator |
| LED3 | — | Blinks during P1P2 communication |
| LED4 | — | Blinks during Modbus communication |
| HAP | — | Blinks every 400 ms (normal operation) |
Normal state: LED1 green steady, LED2 off, LED3/LED4 blink during communication, HAP blinks regularly.

LED behavior patterns:
- a) Power-up sequence: LED1 blinks rapidly, LED2 blinks
- b) No error: LED1 steady green, LED2 off
- c) P1P2 search mode: LED1 blinks slowly, LED2 steady — searching for units
- d) Unit error: LED2 steady, LED1 off — unit reported an error
- e) U5 error: LED1 blinks, LED2 off — AC unit not found
- f) RS-485 timeout: LED2 blinks, LED1 off — Modbus communication timeout
Troubleshooting
Unit not found (LED1 blinking)
- Check the P1P2 cables between the adapter and the indoor unit
- Verify the indoor unit is powered on
- Restart the adapter by disconnecting and reconnecting power
No Modbus communication (LED4 not blinking)
- Check RS-485 cables:
- DA+ correctly connected to A+/D+ on TapHome
- DB- correctly connected to B-/D- on TapHome
- GND connected to TapHome power supply ground — most common issue
- Verify the Modbus Slave address on DIP switch DS1
- Check the termination resistor (SS1, SS2, SS3) — last unit on bus should be 120 Ω (SS1=ON)
- Confirm TapHome is set to: 9600 baud, no parity, 1 stop bit
- Measure voltage between DA+ and DB- — should be 1.5–5 V at idle
Unit error (LED2 steady)
- Read register I0022 (Error Code) in TapHome
- Look up the error code in the AC unit’s service manual
- Check the service attributes in TapHome for additional diagnostics
Modbus master timeout (LED2 blinking)
- Verify TapHome is regularly reading/writing registers
- Check DIP switch 3–4 timeout configuration
- Consider adjusting the timeout mode if needed