---
title: "Daikin EKMBPP1"
description: "Daikin EKMBPP1/EKMBPP1A Modbus RTU adapter for VRV, Sky Air and VAM/VKM units with P1P2 bus connection."
url: "https://taphome.com/en/compatibility/daikin-ekmbpp1/"
language: en
lastmod: 2026-03-19
generator: hugo
ai:
  topics: ["modbus-rtu","air-conditioning","rs485","dip-switch","vrv","p1p2-bus","smart-grid"]
  questions: ["How to integrate Daikin EKMBPP1 with TapHome?","What does the Daikin EKMBPP1 TapHome template control?","How to connect Daikin EKMBPP1 via RS-485 to TapHome?","How to configure the DIP switch address on the Daikin EKMBPP1?","What LED patterns indicate communication errors on the EKMBPP1?","How to set up Smart Grid control for Daikin Sky Air units via TapHome?"]
---

# Daikin EKMBPP1

Communication: Modbus RTU

- [Daikin EKMBPP1 Product Page](https://www.daikin.eu/en_us/products/EKMBPP1.html)
- [Daikin Official Website](https://www.daikin.com)

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

![Daikin EKMBPP1 PCB component layout](https://taphome.com/images/compatibility/daikin-ekmbpp1/07_PCB_components_layout_hu_76130342a512cf4a.jpg)

**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**)

![Daikin EKMBPP1 wiring inside the installation box](https://taphome.com/images/compatibility/daikin-ekmbpp1/12_installation_steps_2_hu_e408b9b24e4b0b81.jpg)

**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

> [!WARNING]
> **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

![Daikin EKMBPP1 complete wiring diagram](https://taphome.com/images/compatibility/daikin-ekmbpp1/35_wiring_diagram_hu_5f973d1289ea5b8d.jpg)

## 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:**

1. Open the "Daikin EKMBPP1" module
2. Go to service settings → ReadScript
3. Change the register values using the formula above

**Example for Slave ID = 2:**

```text
Original: MODBUSR(A, 121, Uint16)
Changed:  MODBUSR(A, 221, Uint16)
```

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

> [!WARNING]
> 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.

> [!TIP]
> 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

![Daikin EKMBPP1 LED indicators on PCB](https://taphome.com/images/compatibility/daikin-ekmbpp1/18_LED_indicators_hu_eb94688d33689626.jpg)

| 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.

![Daikin EKMBPP1 LED behavior patterns](https://taphome.com/images/compatibility/daikin-ekmbpp1/19_LED_behavior_hu_60713c6ae92dfaab.jpg)

**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)

1. Check the P1P2 cables between the adapter and the indoor unit
2. Verify the indoor unit is powered on
3. Restart the adapter by disconnecting and reconnecting power

### No Modbus communication (LED4 not blinking)

1. **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
2. Verify the Modbus Slave address on DIP switch DS1
3. Check the termination resistor (SS1, SS2, SS3) — last unit on bus should be 120 Ω (SS1=ON)
4. Confirm TapHome is set to: 9600 baud, no parity, 1 stop bit
5. Measure voltage between DA+ and DB- — should be 1.5–5 V at idle

### Unit error (LED2 steady)

1. Read register I0022 (Error Code) in TapHome
2. Look up the error code in the AC unit's service manual
3. Check the service attributes in TapHome for additional diagnostics

### Modbus master timeout (LED2 blinking)

1. Verify TapHome is regularly reading/writing registers
2. Check DIP switch 3–4 timeout configuration
3. Consider adjusting the timeout mode if needed

## Available devices

Daikin EKMBPP1 Module

Service Attributes

|              |                                                                         |
|--------------|-------------------------------------------------------------------------|
| Unit Exists  | reads I:120 (UInt16); 0=not found, 1=found on P1P2 bus                  |
| Thermo State | reads I:130 (UInt16); values: 0=Idle/Fan, 1=Heating, 2=Cooling          |
| Defrost      | reads I:35 (UInt16); 0=no defrost, 1=at least one unit in defrost cycle |

Return Air Average Temperature Sensor Read-only

Group average return air temperature across all connected units

Register: I:23 Int16 Unit: °C numeric

Global Configuration Multi-value Switch Read-only

Global update mode selector — controls how settings are pushed to units (LastTouch, Central, Local, OnChange)

Register: H:10 UInt16 numeric

Values / States: Last Touch · Central · Local · On Change

Service Actions

|                          |
|--------------------------|
| Global Update            |
| Update Target Setpoint   |
| Update Fan Speed         |
| Update Mode              |
| Update Airflow Direction |
| Update ON/OFF            |

Fan Speed Multi-value Switch

Register: H:2 UInt16 numeric

Values / States: Nízká · Středně nízké · Střední · Středně vysoké · Vysoké

ON/OFF Switch

Register: H:5 Bool

Values / States: ON · OFF

Operation Mode Multi-value Switch

Register: H:3 UInt16 numeric

Values / States: Automaticky · Vytápění · Ventilátor/větrání · Chlazení · Odvlhčení

Smart Grid Multi-value Switch

Smart Grid operation mode for energy management on Sky Air units

Register: H:55 UInt16 numeric

Values / States: Volný provoz · Nucené vypnutí · Doporučeno zapnutí · Nucené zapnutí

Airflow Direction Multi-value Switch

Register: H:4 UInt16 numeric

Values / States: Natočení · 0° · 20° · 45° · 70° · 90°

Return Air Temperature Temperature Sensor Read-only

Unit 1 return air temperature sensor

Register: I:123 Int16 Unit: °C numeric

Service Attributes

|                |
|----------------|
| Return Air MIN |
| Return Air MAX |

Coil Inlet Temperature Temperature Sensor Read-only

Unit 1 coil inlet temperature — available in Main mode only

Register: I:131 Int16 Unit: °C numeric

Coil Outlet Temperature Temperature Sensor Read-only

Unit 1 coil outlet temperature — available in Main mode only

Register: I:132 Int16 Unit: °C numeric

**Connection:** Modbus RTU • 9600 baud• 8N1 • Slave ID: $\[SlaveId]

Possible improvements (14)

- H:1 Setpoint — Temperature setpoint 16–32°C — critical HVAC control, surprisingly missing from template
- H:20 Setpoint Min Limit — Minimum allowed setpoint (16–32°C)
- H:21 Setpoint Max Limit — Maximum allowed setpoint (16–32°C)
- H:22 Fan Speed Inhibit — Bitmask — inhibit specific fan speeds (2=Low, 4=Med Low, 8=Med, 16=Med High, 32=High)
- H:23 Mode Inhibit — Bitmask — inhibit specific operation modes (1=Auto, 2=Heat, 4=Fan, 8=Cool, 16=Dry)
- H:24 Airflow Direction Inhibit — Bitmask — inhibit specific vane positions
- H:30 VAM Ventilation Mode — 0=Auto, 1=Cross flow/Heat recovery, 2=Bypass. Only for VAM/VKM units
- H:31 VAM Ventilation Rate — 1=Low, 2=High. Only for VAM/VKM units
- I:20 Unit Count — Number of indoor units found on network (0–16)
- I:21 Is Error (group) — 0=No error, 1=At least 1 unit in error. Partially covered by module readscript (A:121)
- I:22 Error Code (group) — 255=No error, other=error code. Partially covered by module readscript (A:122)
- I:24 Filter Alarm (group) — 0=No alarm, 1=Filter needs cleaning. Per-unit register I:x24 (SlaveID × 100 + 24). Covered by module readscript (A:124)
- I:50 Remote Controller Temperature — °C × 100, only with 1 indoor unit in Sub mode
- I:51 Remote Controller Operation Mode — 0=Idle/Fan, 1=Heating, 2=Cooling, 3=Heating and cooling

## Sources

- Daikin EKMBPP1 Installation Manual
  
  [www.daikin.eu](https://www.daikin.eu/en_us/products/EKMBPP1.html) 2025-03-03
  
  [PDF](https://taphome.com/compatibility/devices/daikin-ekmbpp1/installation-manual.pdf)

## Related Documentation

- [Modbus Integration](https://taphome.com/en/compatibility/modbus-guide/)
- [Modbus](https://taphome.com/en/docs/integration/modbus/)
- [Simple configuration using templates](https://taphome.com/en/docs/integration/modbus/templates/)
- [Modbus scripts and prefetch](https://taphome.com/en/docs/script/modbus-scripts/)
- [Modbus functions](https://taphome.com/en/docs/script/modbus/)
- [Modbus data types](https://taphome.com/en/docs/script/modbus-data-types/)

