TapHome

Daikin Altherma 3 DCOM-RW Heat Pump

Modbus RTU
Submitted by
Last updated: 03. 2026

Requires external gateway

Daikin DCOM-LT/MB

Daikin Altherma 3 DCOM-RW Heat Pump

The Daikin Altherma 3 is an air-to-water heat pump series covering Altherma 3 R, Altherma 3 H MT and Altherma 3 H HT models. TapHome connects to the heat pump through the DCOM-LT/MB Modbus RTU gateway, which interfaces with the Altherma via the P1P2 bus and exposes registers over RS-485.

This is the advanced DCOM-RW template with 10 devices, module-level error handling via readscript (ADDERROR/ADDWARNING), 10 module-level service attributes for system status monitoring, and device-level service actions for setpoint management with parameter validation. Switches use Bool data types for reliable control.

Looking for more standalone devices? See the standard Altherma 3 template with 20 individual devices covering defrost status, weather-dependent setpoints, compressor diagnostics and additional temperature sensors.

Hardware connection

DCOM-LT/MB gateway overview
DCOM-LT/MB gateway component layout showing terminals, LEDs and DIP switches

The DCOM-LT/MB gateway (model S34-001) mounts on a DIN rail and has the following connections:

  • Terminals 1–2 (A) — Power supply: 15–24 VDC regulated, minimum 100 mA
  • Terminals 3–5 (B) — RS-485: + (terminal 3), - (terminal 4), C/common (terminal 5)
  • Terminals 10–11 (E) — P1P2 bus connection to Altherma indoor unit
  • SW1 (J) — 8-position DIP switch for Modbus address and operating mode
  • LEDs (P, Q, R) — Status, ACNET (P1P2), RS485 indicators
RS-485 wiring

Connect using a 3-wire RS-485 connection between DCOM-LT/MB and TapHome:

  • Terminal 3 (+) → A+/D+ on TapHome RS-485
  • Terminal 4 (-) → B-/D- on TapHome RS-485
  • Terminal 5 (C) → GND/Common on TapHome

Cable specification:

  • Type: screened twisted pair (Belden 8761 or equivalent)
  • Minimum cross-section: 0.33 mm²
  • Resistance: ≤ 60 Ω/km
  • Max bus length: 1000 m
  • Max devices on bus: 32 (including Modbus master)

The common wire (terminal 5/C) must be connected between DCOM-LT/MB and TapHome. Without a proper common connection, communication errors will occur. Shield should be earthed at one location only.

Termination is not required at 9600 baud for network lengths up to 1000 m. The DCOM-LT/MB has internal failsafe biasing, so no external bias resistors are needed. If termination is used, a failsafe biasing circuit must be added as well.

P1P2 connection

Connect the P1P2 terminals (10, 11) to a compatible Altherma LT Master Remote Controller (e.g., MM4 or equivalent).

Altherma 2 compatibility: The DCOM-LT/MB can only be used with Altherma 2 via the Remcon/LT LAN adaptor. Do NOT connect DCOM directly to Altherma 2 (EKRUCBL / EKRUEHBL) units.

Configuration

DIP switch addressing
DCOM-LT/MB wiring detail and DIP switch address reference table

The 8-position DIP switch SW1 configures the Modbus slave address and operating mode:

SwitchFunction
SW1.1 + SW1.2Smart Grid / operating mode select
SW1.3 + SW1.4Modbus slave address (1–4)
SW1.5Smart Grid function (with SW1.1, SW1.2)
SW1.6–SW1.8Reserved

Modbus address selection (SW1.3 and SW1.4):

SW1.3SW1.4Address
OFFOFF1 (default)
OFFON2
ONOFF3
ONON4
Communication parameters
ParameterValue
ProtocolModbus RTU
Baud rate9600
Data bits8
ParityNone
Stop bits1
Synchronization

After power-up, the DCOM-LT/MB synchronizes with the Altherma Master unit. This process can take up to 8 minutes. During synchronization, register reads return the special value 32765 (“Wait for value”).

Special return values:

ValueMeaning
32765Waiting for value — synchronization in progress
32766Register unavailable in current configuration
32767Register not supported by connected unit

After initial power-up or restart, allow up to 8 minutes for DCOM to fully synchronize before troubleshooting missing register values. The Status LED changes from yellow (synchronizing) to solid green when ready.

Device capabilities

This template provides 10 devices with Bool data types for switches, module-level readscript with ADDERROR/ADDWARNING for error handling, 10 module-level service attributes for system status monitoring, and device-level service actions for setpoint management with min/max validation. Flow rate is reported in m³/h (not l/min).

Temperature monitoring

All temperature sensors use the comp14 format (signed 16-bit value divided by 100 for °C). The template handles this conversion automatically.

  • Outside Air Temperature (A:44) — outdoor ambient temperature
  • DHW Temperature (A:43) — domestic hot water tank temperature
  • Return Water Temperature (A:42) — heating circuit return water temperature
  • Liquid Refrigerant Temperature (A:45) — refrigerant liquid line temperature
  • Flow Rate (A:49) — water flow rate in m³/h

Additional temperature readings are available as module-level service attributes: Leaving Water Temp pre PHE (A:40) and Leaving Water Temp pre BUH (A:41).

Space heating and cooling control
  • Space Heating/Cooling On/Off (H:4) — master switch for space heating and cooling
  • Operation Mode (H:3) — operation mode: Auto, Heating, or Cooling

The Operation Mode device includes 4 service attributes reading current setpoints (leaving water heating/cooling, room thermostat heating/cooling) with 32766=“Unavailable” handling, and 4 service actions for writing individual setpoints with defined ranges:

  • Set Leaving Water Heating Setpoint (H:1, 25–55°C)
  • Set Leaving Water Cooling Setpoint (H:2, 5–22°C)
  • Set Room Thermostat Heating Setpoint (H:6, 12–30°C)
  • Set Room Thermostat Cooling Setpoint (H:7, 15–35°C)
DHW (Domestic Hot Water) control
  • DHW Reheat On/Off (H:12) — triggers DHW reheat cycle
  • DHW Booster Mode (H:13) — enables auxiliary/booster heater for DHW

The DHW Reheat device includes a service attribute showing the current DHW reheat setpoint (H:10) and a service action for setting the DHW reheat temperature (30–60°C).

System status monitoring (module-level service attributes)

The module readscript provides error handling with ADDERROR/ADDWARNING based on register A:21 (Unit Error). The following system status values are exposed as module-level service attributes:

  • Circulation Pump Running (A:30) — pump status (ON/OFF/Unavailable)

  • Compressor Run (A:31) — compressor running status

  • Booster Heater Run (A:32) — booster heater status

  • Disinfection Operation (A:33) — legionella disinfection cycle status

  • Defrost/Startup (A:35) — defrost or startup cycle status

  • Hot Start (A:36) — hot start status

  • 3-Way Valve (A:37) — valve position: Space Heating or DHW

  • Operation Mode (actual) (A:38) — actual operation mode: Heating or Cooling

  • Leaving Water Temp pre PHE (A:40) — leaving water temperature before plate heat exchanger

  • Leaving Water Temp pre BUH (A:41) — leaving water temperature before backup heater

  • Quiet Mode (H:9) — quiet mode operation switch

Additional capabilities

The DCOM-LT/MB also exposes registers for weather dependent cooling LWT offset (H:55), unit error code decoding (A:22 text14 format + A:23 sub-code), and room temperature reading (A:50). These can be added in a future template update.

LED status indicators

The DCOM-LT/MB has three LED indicators:

LEDNormalError
StatusSolid green — synchronized, no faultSolid red — unit fault; slow red blink — timeout
ACNETGreen flash — normal P1P2 communicationRed flash/solid — P1P2 errors
RS485Green flash — normal Modbus communicationRed flash/solid — RS-485 errors

At power-up, all LEDs change from red to green, then the Status LED begins flashing yellow while waiting for Altherma Master synchronization.

Troubleshooting

Status LED yellow (waiting for Master)
  1. Check P1P2 cable connections between DCOM-LT/MB and the Altherma indoor unit
  2. Verify the Altherma unit is powered on and operational
  3. Allow up to 8 minutes for initial synchronization — if the Status LED remains yellow for more than 10 minutes, the DCOM will retry automatically
  4. If Status LED flashes red (timeout), verify P1P2 wiring and restart the DCOM
RS-485 LED red (communication errors)
  1. Check RS-485 wiring: + (terminal 3) to A+/D+, - (terminal 4) to B-/D-, C (terminal 5) to common
  2. Verify the Modbus slave address on DIP switches SW1.3 and SW1.4 matches TapHome configuration
  3. Confirm communication parameters: 9600 baud, 8 data bits, no parity, 1 stop bit
  4. For long cable runs, verify cable impedance and consider adding termination
Registers returning 32765

This indicates the DCOM is still synchronizing with the Altherma Master. Wait up to 8 minutes after power-up. If the value persists, check the Status LED — it should be solid green when synchronization is complete.

Register H:9 behavior (Quiet Mode vs DHW Reheat)

Register H:9 has dual functionality depending on the DCOM operating mode: in Normal Mode, official documentation defines it as “DHW Reheat On/Off”; in Sequencer Mode, it functions as “Quiet Mode Operation”. The TapHome templates use it as Quiet Mode based on community verification. Actual behavior may vary depending on firmware version and DCOM configuration.

Unit error code decoding

When Unit Error (A:21) reports a fault, the error code is available in register A:22 as a 16-bit value encoding two ASCII characters. To decode: extract LSB (value mod 256) and MSB ((value - LSB) / 256), then convert both to ASCII characters. For example, value 21816 decodes to “U8” (MSB=85=‘U’, LSB=56=‘8’).

Available devices

DCOM-LT-MB Module
Service Attributes
Circulation Pump Runningreads A:30 (Int16); SWITCH: 0=OFF, 1=ON, 32766=Unavailable
Compressor Runreads A:31 (Int16); SWITCH: 0=OFF, 1=ON, 32766=Unavailable
Booster Heater Runreads A:32 (Int16); SWITCH: 0=OFF, 1=ON, 32766=Unavailable
Disinfection Operationreads A:33 (Int16); SWITCH: 0=OFF, 1=ON, 32766=Unavailable
Defrost/Startupreads A:35 (Int16); SWITCH: 0=OFF, 1=ON, 32766=Unavailable
Hot Startreads A:36 (Int16); SWITCH: 0=OFF, 1=ON, 32766=Unavailable
Operation Mode (actual)reads A:38 (Int16); SWITCH: 1=Heating, 2=Cooling
3-Way Valvereads A:37 (Int16); SWITCH: 0=Space Heating, 1=DHW
Leaving Water Temp pre PHEreads A:40 (Int16) → /100 conversion; leaving water temperature before plate heat exchanger in °C
Leaving Water Temp pre BUHreads A:41 (Int16) → /100 conversion; leaving water temperature before backup heater in °C

DCOM-LT-MB

Read (module)
var errreg := MODBUSR(A, 21, Int16);
IF( errreg = 1, 
ADDERROR(MODBUSR(A, 22, String, 1) + " " + MODBUSR(A, 23, int16) ));
IF( errreg = 2, 
ADDWARNING(MODBUSR(A, 22, String, 1) + " " + MODBUSR(A, 23, int16) ));
Service Attributes
Oběhové čerpadlo běží
SWITCH(MODBUSR(A, 30, int16),0, "VYP", 1, "ZAP", 32766 ,"Nedostupné", "Chyba");
Chod kompresoru
SWITCH(MODBUSR(A, 31, int16),0, "VYP", 1, "ZAP", 32766 ,"Nedostupné", "Chyba");
Chod pomocného topného tělesa
SWITCH(MODBUSR(A, 32, int16),0, "VYP", 1, "ZAP", 32766 ,"Nedostupné", "Chyba");
Dezinfekční provoz
SWITCH(MODBUSR(A, 33, int16),0, "VYP", 1, "ZAP", 32766 ,"Nedostupné", "Chyba");
Rozmrazování/spuštění
SWITCH(MODBUSR(A, 35, int16),0, "VYP", 1, "ZAP", 32766 ,"Nedostupné", "Chyba");
Teplý start
SWITCH(MODBUSR(A, 36, int16),0, "VYP", 1, "ZAP", 32766 ,"Nedostupné", "Chyba");
Provozní režim
SWITCH(MODBUSR(A, 38, int16), 1, "Vytápění", 2, "Chlazení", "Chyba")
3cestný ventil
SWITCH(MODBUSR(A, 37, int16), 0, "Prostorové vytápění", 1, "TUV", "Chyba")
Teplota výstupní vody předřazeného PHE
MODBUSR(A, 40, Int16)/100 + " °C";
Teplota výstupní vody předřazeného el. topného tělesa
MODBUSR(A, 41, Int16)/100 + " °C";
DHW Reheat On/Off Switch

Triggers domestic hot water reheat cycle

Register: H:12 Bool
Service Actions
Set DHW Reheat Temperature

DHW Reheat On/Off

Read switch state
MODBUSR(H, 12, Bool)
Write switch state
MODBUSW(H, 12, Bool, St)
Service Attributes
Požadovaná hodnota op. ohř. TUV
MODBUSR(H, 10, Int16);
Service Actions
Hodnota opětovného ohřevu TUV
Parameters: Teplota (30–60 t)
MODBUSW(H, 10, Int16, t);
Space Heating/Cooling On/Off Switch

Master switch for space heating and cooling operation

Register: H:4 Bool

Space Heating/Cooling On/Off

Read switch state
MODBUSR(H, 4, Bool)
Write switch state
MODBUSW(H, 4, Bool, St)
Operation Mode Multi-value Switch

Operation mode with setpoint service actions — Auto, Heating, or Cooling

Register: H:3 Int16 numeric
Values / States: Auto · Ohřev · Chlazení
Service Actions
Set Leaving Water Heating Setpoint
Set Leaving Water Cooling Setpoint
Set Room Thermostat Heating Setpoint
Set Room Thermostat Cooling Setpoint

Operation Mode

Read switch state
MODBUSR(H, 3, Int16)
Write switch state
MODBUSW(H, 3, Int16, Mu)
Service Attributes
Požadovaná hodnota hlavního ohřevu výstupní vody
var reg := MODBUSR(H, 1, int16);
SWITCH(reg, 32766 , "Nedostupná funkce", reg + " °C");
Požadovaná hodnota hlavního chlazení výstupní vody
var reg := MODBUSR(H, 2, int16);
SWITCH(reg, 32766 , "Nedostupná funkce", reg + " °C");
Požadovaná hodnota vytápění při regulaci teploty pokojovým termostatem
var reg := MODBUSR(H, 2, int16);
SWITCH(reg, 32766 , "Nedostupná funkce", reg + " °C");
Požadovaná hodnota chlazenípři regulaci teploty pokojovým termostatem
var reg := MODBUSR(H, 2, int16);
SWITCH(reg, 32766 , "Nedostupná funkce", reg + " °C");
Service Actions
Vstupní voda - ohřev
Parameters: teplota [°C] (25–55 t)
MODBUSW(H, 1, Int16, t);
Vstupní voda - chlazení
Parameters: Teplota (5–22 t)
MODBUSW(H, 2, Int16, t);
Pokojový termostat - vytápění
Parameters: Teplota (12–30 t)
MODBUSW(H, 6, Int16, t);
Pokojový termostat - chlazení
Parameters: Teplota (15–35 t)
MODBUSW(H, 7, Int16, t);
Flow Rate Variable Read-only
Register: A:49 Int16 Unit: m³/h numeric

Flow Rate

Read
MODBUSR(A, 49, Int16)/100 * 0.06
DHW Booster Mode Switch

Enables auxiliary/booster heater for domestic hot water

Register: H:13 Bool

DHW Booster Mode

Read switch state
MODBUSR(H,13, Bool)
Write switch state
MODBUSW(H, 13, Bool, St)
Liquid Refrigerant Temperature Temperature Sensor Read-only
Register: A:45 (implicit) Temperature Unit: °C numeric

Liquid Refrigerant Temperature

Read temperature
MODBUSR(A, 45, Int16) / 100
Outside Air Temperature Temperature Sensor Read-only
Register: A:44 (implicit) Temperature Unit: °C numeric

Outside Air Temperature

Read temperature
MODBUSR(A, 44, Int16) / 100
DHW Temperature Temperature Sensor Read-only

Domestic hot water tank temperature

Register: A:43 (implicit) Temperature Unit: °C numeric

DHW Temperature

Read temperature
MODBUSR(A, 43, Int16) / 100
Return Water Temperature Temperature Sensor Read-only
Register: A:42 (implicit) Temperature Unit: °C numeric

Return Water Temperature

Read temperature
MODBUSR(A, 42, Int16) / 100
Quiet Mode Switch
Register: H:9 Bool

Quiet Mode

Read switch state
MODBUSR(H, 9, Bool)
Write switch state
MODBUSW(H, 9, Bool, St)
Connection: Modbus RTU • 9600 baud• 8N1 • Slave ID: $[SlaveId]
Possible improvements (10)
  • H:2 Leaving Water Main Cooling Setpoint — Cooling setpoint 5–22°C — implemented via service action on Operation Mode device
  • H:6 Room Thermostat Control Heating Setpoint — Room thermostat heating setpoint 12–30°C — implemented via service action on Operation Mode device
  • H:7 Room Thermostat Control Cooling Setpoint — Room thermostat cooling setpoint 15–35°C — implemented via service action on Operation Mode device
  • H:55 Weather Dependent LWT Cooling Offset — Weather dependent cooling leaving water setpoint offset -10–10°C — not exposed in this template
  • A:22 Unit Error Code — Error code (2 ASCII chars, text14 format) — partially covered by module readscript ADDERROR
  • A:23 Unit Error Sub Code — Error sub-code 0–99 — partially covered by module readscript
  • A:32 Booster Heater Run — 0=OFF, 1=ON — available as module-level service attribute, not as standalone device
  • A:36 Hot Start — 0=OFF, 1=ON — available as module-level service attribute
  • A:38 Operation Mode (actual) — 1=Heating, 2=Cooling — actual (vs. requested H:3). Available as module service attribute
  • A:50 Room Temperature — comp14, °C × 100 — room temperature reading. Not exposed in this template

Sources

  • DCOM-LT/MB Reference and Installation Manual (English)
    www.daikin.eu 2026-03-18
    PDF
  • DCOM-LT/MB Register Map (Czech, from submodule)
    2026-03-18
    PDF
  • Daikin Altherma 3 DCOM-LT/MB Modbus Registers (GitHub Community)
    github.com 2026-03-18