TapHome

Daikin RTD-RA

Modbus RTU
Submitted by
Last updated: 06. 2026
Daikin RTD-RA

The Daikin RTD-RA is a Modbus RTU adapter that connects residential Daikin Room Air-Conditioner indoor units (wall-mounted splits, Multi-split residential — the RA-series with an S21 remote-controller connector) to TapHome via RS-485. The adapter is supplied with a pre-fitted S21 lead that plugs directly into the indoor-unit PCB and exposes setpoint, operating mode, fan speed, ON/OFF and group readback registers (holding H0001H0037, input I0021I0131) over a 3-wire D-Bus.

Up to 64 RTD-RA devices can share a single RS-485 bus, with each adapter assigned a unique slave address (1–63) via on-board DIP switches. The RTD-RA itself is the Modbus gateway — no additional IntesisBOX or BMS converter is required.

Hardware connection

PCB layout and S21 connection
Daikin RTD-RA PCB component layout — SW1 DIP switches, J5 RS-485 connector, J6 inputs, J1 S21 cable, LEDs

Key components on the PCB:

  • J1 — S21 cable to indoor-unit PCB (factory pre-fitted, max 950 mm)
  • J5 — RS-485 D-Bus connector (DB+, DA-, GND)
  • J6 — S1 / S2 volt-free input contacts (used only in Stand-Alone / RTD-20 modes)
  • SW1 — 8-position DIP switch (mode and address select)
  • LED1, LED2 — Status / fault indicators

The S21 lead is supplied with a pre-fitted connector that plugs into port S21 on the Daikin Room Air-Conditioner indoor PCB. The lead must enter the RTD-RA enclosure through Port D and the strain-relief band must be located on the inside of the enclosure.

Daikin RTD-RA S21 connection — pre-fitted lead plugs directly into the S21 port on the indoor-unit PCB

Do not install the RTD-RA inside the air-conditioning unit. Mount the adapter in a separate metal or V-1-rated plastic enclosure that prevents access by non-qualified persons. The S21 lead between the RTD-RA and the indoor PCB must not exceed 950 mm.

Compatible indoor units

The RTD-RA targets residential RA-series units only — wall-mounted Daikin splits, Multi-split residential and Multi+ ranges that expose an S21 remote-controller port on the indoor PCB. It is not compatible with Sky Air, VRV or commercial ducted units, which use F1/F2 (DIII-NET) or P1/P2 buses and require Daikin EKMBPP1, RTD-NET, RTD-10 or RTD-W instead.

J5 RS-485 D-Bus pinout
Daikin RTD-RA J5 connector pinout and RS-485 daisy-chain wiring example
PinLabelFunction
10 VReference for S1
2S1Volt-free input S1 (Stand-Alone mode only)
30 VReference for S2
4S2Volt-free input S2 (Stand-Alone / Clone mode)
5DB+RS-485 D-Bus — Modbus B / D+
6DA-RS-485 D-Bus — Modbus A / D-
7GNDCommon ground / shield

RS-485 wiring:

  • DB+ → A+/D+ on TapHome RS-485
  • DA- → B-/D- on TapHome RS-485
  • GND → GND on TapHome power supply (mandatory — earth at one point only)

Cable specification:

  • Type: stranded 24 AWG twisted pair, shielded or unshielded (Cat 3 / 4 / 5)
  • Topology: daisy-chained point-to-point only — star and ring are NOT supported
  • Maximum bus length: 500 m without repeaters
  • Maximum 64 devices per bus

The GND wire must be connected between every RTD-RA on the bus and the TapHome power-supply ground. Without proper grounding, communication errors and intermittent fault flags are likely. Earth the shield at one point only.

Configuration

Operating modes

The RTD-RA supports five operating modes selected by the SW1 DIP switches. Only Modbus Slave mode is used by TapHome — the remaining modes are listed for reference.

ModeAddress (SW1.3–SW1.8)Notes
Stand-Alone0 (all OFF)No Modbus; S1/S2 contacts control unit. Bypassed in Modbus mode.
Modbus Slave1–63Used by TapHome — full BMS control via RS-485
RTD Clone>0, S2 closedClones operating settings from another RTD device on the bus
RTD-10 Duty/Standby1–8Slave under an RTD-10 master controlling Sky Air / VRV
RTD-20 UCZ>0User Control Zone in an RTD-20 retail-control network

Once SW1.3–SW1.8 are set to a non-zero address the adapter operates as a Modbus RTU slave; all stand-alone S1/S2 functions are disabled and SW1.1 / SW1.2 control the Modbus master timeout instead.

Enabling Modbus communication

To put the RTD-RA into Modbus Slave mode, set the slave address on SW1.3 (LSB) – SW1.8 (MSB) to a value between 1 and 63. The address is encoded as a 6-bit binary number:

SwitchBit value
SW1.31 (LSB)
SW1.42
SW1.54
SW1.68
SW1.716
SW1.832 (MSB)

Example for Slave ID 1: SW1.3 = ON, SW1.4–SW1.8 = OFF. Example for Slave ID 5: SW1.3 = ON, SW1.5 = ON, all others OFF.

Setting all six switches to OFF activates Stand-Alone mode (no Modbus) — this must be avoided for TapHome integration.

Daikin RTD-RA DIP switch addressing chart for slave addresses 0–63
Modbus master timeout

SW1.1 and SW1.2 configure the Modbus master timeout once the adapter is in Modbus Slave mode. If no holding-register WRITE occurs for 120 seconds, the configured timeout action is triggered.

SW1.1SW1.2Timeout behaviour
OFFOFFNo timeout
ONOFFTimeout after 120 s — units switched ON with current settings, remote controllers UNLOCKED (recommended for TapHome)
ONONTimeout after 120 s — units switched ON with current settings, remote-controller lock state unchanged
Modbus communication parameters
ParameterValue
Network3-wire RS-485
ModeModbus RTU Slave
Baud rate9600 (default; configurable on request)
ParityNone (default; configurable on request)
Stop bits1
Register base0
Address range1–63 (Modbus Slave mode)

Supported function codes: 03 (read holding), 04 (read input), 06 (write single holding), 16 (write multiple holding) — up to 10 registers per request.

By default the RTD-RA boots with all update modes set to Last Touch, which means every Modbus write — even with an unchanged value — is applied to the indoor unit and overrides the user’s manual setting on the wired remote controller. If the TapHome poll cycle re-writes registers periodically, set Global Update (H:10) to OnChange at startup so that values are applied only when they actually change. This is exposed as a service action on the Daikin RTD-RA module in TapHome.

Device capabilities

Climate control

The template exposes the four core control registers as full TapHome devices:

  • Operating Mode (H:3) — selects between Auto, Heat, Fan, Cool and Dry (values 0–4 per the RTD-RA manual).
  • Thermostat (setpoint H:1, current temperature from I:23 ÷ 100) — writes the integer °C setpoint to the indoor unit and reads back the group return-air average. Setpoint range depends on the indoor model (typically 10–30 °C in heat, 18–32 °C in cool).
  • Fan Speed (H:2) — six-step selector: Auto (0), Low (1), Medium Low (2), Medium (3), Medium High (4) and High (5). Some RA-series indoor models support fewer than five fan steps; unsupported values are clipped by the indoor unit.
  • Power Switch (H:5) — turns the indoor unit ON or OFF.
Module-level service attributes

The Daikin RTD-RA module surfaces a set of read-only attributes for monitoring and configuration:

  • Summary of unit operation (I:30) — aggregated thermo state across the bus (Idle/Fan, Heating, Cooling, Heat & Cool).
  • Unit Count (I:20) — number of indoor units detected on the S21 / P1P2 link.
  • Setpoint (H:1), Setpoint Min (H:20), Setpoint Max (H:21) — current setpoint and configured limiter values.
  • Global Update / Setpoint Update / Fanspeed Update / Mode Update / Louvre Update / Power Update (H:10H:15) — per-parameter lock/update mode read-back (Last Touch, Central, Local, OnChange).
  • Fanspeed Inhibit / Mode Inhibit / Louvre Inhibit — bitmask attributes that report which fan steps, operating modes or louvre positions are currently disabled by the unit’s inhibit registers.
Control Update service action

The module exposes a single service action — Control Update — that writes all six per-parameter update modes (Global, Setpoint, Fanspeed, Mode, Louvre, Power) into H:10H:15 atomically. Each parameter accepts one of four lock modes:

Update modeRC buttonsBehaviour
Last Touch (default)UnlockedUpdates the unit on every WRITE, even if the value is unchanged
CentralLockedRemote-controller buttons locked; value is repeatedly written
LocalUnlockedModbus WRITEs are NOT propagated to the unit
OnChangeUnlockedUpdates the unit only when the WRITE value differs from the current setting

LED diagnostics

Daikin RTD-RA LED1 / LED2 status patterns — power-up, no fault, unit fault, configuration error, A/C not found, RS-485 timeout
PatternLED1 (green)LED2 (red)Meaning
5aFlashing rapidlyFlashing rapidlyPower-up sequence — factory configuration
5bFlashingFlashingPower-up sequence — custom configuration
5cFlashingOffA/C unit search after power-up / during configuration
6aSteady ONOffNo fault — normal operation
6bOffSteady ONIndoor unit reported a fault (read fault code from I:22)
7aPatternPatternDevice configuration error
7bFlashingFlashingA/C unit missing — U5 fault, S21 link down
7cFlashingFlashingRS-485 communications timeout

Fault codes

Indoor-unit fault codes are read from input register I:22 (group) and encoded as two 8-bit ASCII characters packed into a single 16-bit value — high byte = first character, low byte = second character.

Raw valueMeaning
0Waiting for data
255No fault
14384 (0x80)Group fault — communications timeout, no units found
OtherStandard Daikin fault code (e.g. 16689'A' + '1' = A1)

Refer to the Daikin indoor-unit service manual or the RealTime Control Systems fault-code table to decode specific codes.

Troubleshooting

No Modbus communication (LED2 flashing — RS-485 timeout)
  1. Check RS-485 wiring at J5: DB+ to A+/D+, DA- to B-/D-, GND to TapHome power-supply ground.
  2. Verify the slave address on SW1.3–SW1.8 is non-zero (Address 0 disables Modbus completely).
  3. Confirm TapHome serial settings are 9600 baud, 8 data bits, no parity, 1 stop bit.
  4. Verify the daisy-chain topology — star and ring layouts are not supported.
  5. Measure DC voltage between DB+ and DA- — idle level should be around 1.5–5 V.
A/C unit not found (LED1 flashing, LED2 off)
  1. Check the S21 lead between J1 on the RTD-RA and the S21 port on the indoor PCB — the connector must be fully seated.
  2. Verify the indoor unit is powered on.
  3. Confirm the indoor unit is from the RA-series (residential split with S21 port) — Sky Air / VRV / commercial ducted units are not supported.
  4. Power-cycle the RTD-RA (disconnect / reconnect the S21 lead).
Indoor unit fault (LED2 steady)
  1. Read input register I:22 from the Daikin RTD-RA module.
  2. Decode the value as two ASCII characters (high / low byte) to obtain the standard Daikin fault code.
  3. Look up the code in the indoor-unit service manual or at realtime-controls.co.uk.
Manual writes are overridden by TapHome

If users complain that adjustments made on the wired remote controller revert as soon as TapHome polls, set Global Update to OnChange via the Control Update service action on the Daikin RTD-RA module. The default Last Touch mode re-applies every TapHome write even when the value has not changed.

Notes and known limitations

  • Residential RA-series only. The RTD-RA is designed exclusively for indoor units with an S21 connector (wall-mounted Daikin splits and Multi-split residential). For Sky Air, VRV and commercial ducted units use Daikin EKMBPP1, RTD-NET, RTD-10 or RTD-W instead.
  • Inhibit register mapping. The current template reads H:23 for Fanspeed Inhibit and H:24 for Mode Inhibit; per the RTD-RA manual the correct registers are H:22 (Fanspeed Inhibit) and H:23 (Mode Inhibit). The Louvre Inhibit attribute correctly references H:24. The reported inhibit values may therefore be shifted by one register relative to the manufacturer documentation.
  • VAM-related service attributes. The Fan Speed device exposes Damper Control (H:30) and VAM Fan Speed (H:31) attributes that target VAM/VKM ventilation lines. Because the RTD-RA controls only RA-series residential splits, these attributes typically return 0 / Unknown on real hardware and can be ignored.
  • Operating-mode value range. The mode selector accepts values 0–9; only 0–4 are valid on the indoor unit (Auto / Heat / Fan / Cool / Dry). Writing values 5–9 will be rejected.

Available devices

Daikin RTD-RA Module
Service Attributes
Summary of unit operationAggregated thermo state across all indoor units on the bus — Idle/Fan, Heating, Cooling or Heat & Cool
Global UpdateCurrent global lock/update mode — Last Touch, Central, Local or OnChange (controls how Modbus writes are propagated to the indoor unit)
Setpoint UpdateUpdate mode for setpoint writes — Last Touch, Central, Local or OnChange
Fan Speed UpdateUpdate mode for fan-speed writes — Last Touch, Central, Local or OnChange
Mode UpdateUpdate mode for operating-mode writes — Last Touch, Central, Local or OnChange
Louvre UpdateUpdate mode for louvre writes — Last Touch, Central, Local or OnChange
Power UpdateUpdate mode for ON/OFF writes — Last Touch, Central, Local or OnChange
SetpointCurrent temperature setpoint (°C) read back from the indoor unit
Setpoint MinMinimum allowed setpoint enforced by the adapter (16–32 °C, or 0 = no limit)
Setpoint MaxMaximum allowed setpoint enforced by the adapter (16–32 °C, or 0 = no limit)
Fan Speed InhibitBitmask of fan steps disabled on the indoor unit (Auto, Fan 1–5; 0 = no inhibit)
Mode InhibitBitmask of operating modes disabled on the indoor unit (Auto, Heat, Fan, Cool, Dry; 0 = no inhibit)
Louvre InhibitBitmask of louvre positions disabled on the indoor unit (Stop, Swing; 0 = no inhibit)
Unit CountNumber of indoor units detected on the S21 / P1P2 link
Service Actions
Control UpdateAtomically writes all six per-parameter lock/update modes (Global, Setpoint, Fan Speed, Mode, Louvre, Power) to the adapter

Daikin RTD-RA

Read (module)
IF(MODBUSR(A, 21, Uint16) = 1, ADDERROR("At least one unit in fault", MODBUSR(A, 22, Uint16)));
Service Attributes
Summary of unit operation
Switch(MODBUSR(A, 30, Uint16), 0, "Idle/Fan", 1, "Heating", 2, "Cooling", 3, "Heat & Cool", "Unknown");
Global Update
var gu := MODBUSR(H, 10, Uint16);
SWITCH(gu, 0, "Last Touch", 1, "Central", 2, "Local", 3,"OnChange", "Unknown")
Setpoint Update
var se := MODBUSR(H, 11, Uint16);
SWITCH(se, 0, "Last Touch", 1, "Central", 2, "Local", 3,"OnChange", "Unknown")
Fanspeed Update
var fe := MODBUSR(H, 12, Uint16);
SWITCH(fe, 0, "Last Touch", 1, "Central", 2, "Local", 3,"OnChange", "Unknown")
Mode Update
var mu := MODBUSR(H, 13, Uint16);
SWITCH(mu, 0, "Last Touch", 1, "Central", 2, "Local", 3,"OnChange", "Unknown")
Louvre Update
var se := MODBUSR(H, 14, Uint16);
SWITCH(se, 0, "Last Touch", 1, "Central", 2, "Local", 3,"OnChange", "Unknown")
Power Update
var pow := MODBUSR(H, 15, Uint16);
SWITCH(pow, 0, "Last Touch", 1, "Central", 2, "Local", 3,"OnChange", "Unknown")
SetPoint
MODBUSR(H, 1, Uint16);
SetPoint Min
var sm := MODBUSR(H, 20, Uint16);
IF(sm = 0,"No limit", sm);
Setpoint Max
var sm := MODBUSR(H, 21, Uint16);
IF(sm = 0,"No limit", sm);
Fanspeed Inhibit
var sm := MODBUSR(H, 23, Uint16);
IF(sm = 0,"No limit", sm);
Mode Inhibit
var sm := MODBUSR(H, 24, Uint16);
IF(sm = 0,"No limit", sm);
Louvre Inhibit
var sm := MODBUSR(H, 24, Uint16);
IF(sm = 0,"No limit", sm);
Unit Count
var uc := MODBUSR(A, 20, Uint16);
uc + " unit" + IF(uc != 1, "s", "");
Service Actions
Control Update
Parameters: Global Update, Setpoint Update, Fanspeed Update, Mode Update, Louvre Update, Power Update
MODBUSW(H, 10, Uint16, gu);
MODBUSW(H, 11, Uint16, su);
MODBUSW(H, 12, Uint16, fu);
MODBUSW(H, 13, Uint16, mu);
MODBUSW(H, 14, Uint16, lu);
MODBUSW(H, 15, Uint16, pu);
Operating Mode Multi-value Switch

Operating-mode selector for the indoor unit — Auto, Heat, Fan, Cool or Dry

Register: H:3 Int16 numeric
Values / States: Auto · Kúrenie · Vetranie · Chladenie · Odvlhčovanie

Operating Mode

Read switch state
MODBUSR(H, 3, Int16)
Write switch state
MODBUSW(H, 3, Int16, Mu)
Thermostat Thermostat

Reads the group return-air average temperature and writes the desired setpoint (integer °C) to the indoor unit

Register: H:1 Int16 Unit: °C

Thermostat

Read temperature
MODBUSR(A, 23, Int16) /100
Read desired temperature
MODBUSR(H, 1, Int16)
Write desired temperature
MODBUSW(H, 1, Int16, Se)
Fan Speed Multi-value Switch

Fan-speed selector — Auto plus five steps (Low, Medium Low, Medium, Medium High, High); some RA-series indoor models support fewer steps

Register: H:2 UInt16 numeric
Values / States: Auto · Nízky · Stredne nízky · Stredný · Stredne vysoký · Vysoký

Fan Speed

Read switch state
MODBUSR(H, 2, UInt16)
Write switch state
MODBUSW(H, 2, UInt16, Mu)
Service Attributes
Damper Control
Switch(MODBUSR(H, 30, Uint16), 0, "Auto", 1, "Cross Flow / Heat Recovery", 2, "Bypass", "Unknown");
VAM Fanspeed
Switch(MODBUSR(H, 31, Uint16),1, "Low", 2, "High", "Unknown");
Power Switch Switch

ON/OFF switch for the indoor unit

Register: H:5 UInt16
Values / States: ON · OFF

Power Switch

Read switch state
MODBUSR(H, 5, Uint16)
Write switch state
MODBUSW(H, 5, Uint16, St)
Connection: Modbus RTU • 9600 baud• 8N1 • Slave ID: $[SlaveId]
Possible improvements (16)
  • H:4 Louvre — Louvre control 0=Stop, 1=Swing — basic airflow direction control missing from template
  • H:22 Fanspeed Inhibit (correct register) — Manual specifies H0022 for Fanspeed Inhibit, but template reads H:23 in service attribute (off-by-one swap with Mode Inhibit). Not exposed as a writable device
  • H:35 Filter Clear Command — 0=Idle, 1=Filter Clear — useful as periodic/triggered service action; typically tied to VAM/VKM but the register exists in the common map
  • H:37 Force Thermo Off — 0=Enable Thermo, 1=Force Thermo Off — overrides indoor-unit thermostat, useful for energy-saving / load-shedding scenarios
  • I:23 Return Air Average — Already used as thermostat current-temp source; could additionally be exposed as a standalone temperature sensor for logging / smart rules
  • I:24 Filter Alarm (group) — 0=No alarm, 1=≥1 unit needs filter cleaning — important maintenance flag, not exposed by template
  • I:25 Return Air Min — Minimum return-air temperature across the unit group (°C × 100). Single-unit RTD-RA: equal to I:23
  • I:26 Return Air Max — Maximum return-air temperature across the unit group (°C × 100)
  • I:35 Defrost — 0=No defrost, 1=≥1 unit in pressure-equalisation, hot-start/pre-heat or outdoor defrost
  • I:36 Self-Clean Alarm Level — 0=No alarm, 1..4=alarm level (self-cleaning indoor units)
  • I:37 Self-Clean Operation — 0=Idle, 1=Self-Clean cycle in progress
  • I:50 RC Temperature — Wired remote-controller measured temperature (°C × 100). Only valid when 1 indoor unit on the P1/P2 network
  • I:51 RC Operation Mode — Wired remote-controller operation mode — 0=Idle/Fan, 1=Heating, 2=Cooling, 3=Heat & Cool
  • I:121 Per-Unit Is Fault (Unit 1) — Per-unit fault flag. Template uses group register A:21 instead, which works for both single-unit and multi-unit
  • I:122 Per-Unit Fault Code (Unit 1) — Per-unit fault code (16-bit ASCII pair, e.g. 'A1'). Template uses group register A:22 instead
  • I:131 Coil Inlet Temperature (Unit 1) — Per-unit coil-in temperature (°C × 100). Useful for diagnosing heat-pump performance

Sources

Found a problem with this device template?

Tell us what's wrong, what's missing, or how the template should behave. We rely on your feedback to keep the catalog accurate.

Verified by TapHome

Want to use this in your TapHome Core?

Open this template in the Customer Portal to apply it to one of your homes, or to draft a refinement and submit it back to the catalog.

Open in portal