TapHome

Nilan CTS-602

Modbus TCP
Submitted by
Last updated: 03. 2026
Nilan CTS-602

The Nilan CTS-602 is a controller used in Nilan’s Compact P, Compact S, VP, VPL, COMBI, VGU180 and VENTEC series ventilation and heat pump units. The TapHome template connects to the CTS-602 via Modbus TCP, providing temperature monitoring, climate control, hot water management, ventilation step control and output status monitoring.

The CTS-602 natively communicates via Modbus RTU over RS-485. A Modbus RTU-to-TCP bridge device (e.g. USR-TCP232 or Waveshare RS485 TO ETH) is required to connect to TapHome.

Hardware connection

There are two ways to access the RS-485 Modbus interface, depending on the unit model and installation preference.

8-pole plug (top of unit)

On Comfort, Compact and similar models, the Modbus wires are routed through the 8-pole connector plug on top of the unit. This plug also carries the control panel, T1 sensor and user selection connections.

Nilan CTS602 8-pole connector plug pinout
PinFunction
1GND
2–3Control panel
4–5User selection (dry contact)
6A1 — RS-485 Data+ (Modbus)
7B1 — RS-485 Data- (Modbus)
8T1 sensor (outdoor air)

Connect the RTU-to-TCP bridge to pin 1 (GND), pin 6 (A1) and pin 7 (B1).

CN7 connector (PCB)

On CTS-602 boards with HMI350T, the RS-485 interface is also available on the 6-pin CN7 connector (next to the USB plug) directly on the PCB:

PinFunction
112 VDC output
2COM1 — RS-485 Data+ (A) — Modbus
3COM1 — RS-485 Data- (/B) — Modbus
4COM2 — RS-485 Data+ (A) — User panel
5COM2 — RS-485 Data- (/B) — User panel
6Ground

Connect the RTU-to-TCP bridge to pins 2 (Data+), 3 (Data-) and 6 (GND) using COM1. COM2 is reserved for the HMI user panel.

The CTS-602 has no opto-isolation on the RS-485 port. Use shielded twisted-pair cable (AWG 24/0.25 mm², impedance 100–130 Ohm). Maximum cable length is 200 m. Install 120 Ohm termination resistors at each end of the bus.

Configuration

RS-485 bridge settings

Configure the RTU-to-TCP bridge with the following parameters:

ParameterValue
Baud rate19200
Data bits8
ParityEven
Stop bits1

These communication parameters are fixed on the CTS-602 and cannot be changed.

Modbus slave address

The Modbus interface is always active — there is no separate “enable Modbus” setting. Only the slave address needs to be configured.

The default slave address is 30 (configurable 1–247). To change it, navigate the SERVICE menu on the CTS-602 control panel:

1
SERVICE → ENTER → scroll down to MODBUS ADR → ENTER → set address → ENTER

On the older knob-based panel, use the knob to scroll through menu items. On the HMI touchscreen panel, use the touchscreen interface. The MODBUS ADR item is near the bottom of the SERVICE menu, after PWR SAVE.

TapHome import parameters

When importing the template, TapHome prompts for:

  • Slave ID — default 1 in template, change to match the CTS-602 setting (default 30)
  • IP Address — the IP address of the RTU-to-TCP bridge device

Device capabilities

Temperature monitoring

The template provides 9 temperature sensors covering air temperatures, hot water tank and system performance:

  • Intake Temperature (T1) — fresh air intake temperature
  • Exhaust Temperature (T3) — room exhaust air temperature
  • Hot Water Top Temperature (T11) and Hot Water Bottom Temperature (T12) — hot water tank temperatures (top for electric heater zone, bottom for compressor zone)
  • Room Temperature — actual room temperature from the T15 user panel sensor or T10 external sensor
  • Inlet Temperature Setpoint — requested inlet air temperature (T7 setpoint)
  • Controlled Temperature — value of the master controlled temperature sensor
  • Heat Exchanger Efficiency — passive heat exchanger efficiency percentage
  • Winter Temperature Threshold — low outdoor temperature threshold for ventilation reduction (configuration value)

All temperature values use a scale factor of 100 (register value 2200 = 22.00 °C).

Operating mode control

The template exposes two on/off controls and a mode selector:

  • Run Actual — reads and writes the actual on/off state (H:1000)
  • Run Set — user on/off control (H:1001), the standard on/off register per official documentation
  • Mode Actual — current operating mode (Off, Heat, Cool, Auto, Service)
  • Mode Set — operating mode selector (Off, Heat, Cool, Service, and numbered extended modes)
  • Control State — active control state display with 18 states (Off, Ventilation, Heating, Cooling, Hot water, Defrost, Legionella, Central heating, Alarm, and more)
  • Time in State — seconds elapsed in the current control state
Climate control

Three thermostat devices enable temperature setpoint control:

  • Temperature Setpoint — room temperature setpoint, reads current temperature from the T15 room sensor and writes the desired temperature to H:1004
  • Hot Water Setpoint T11 — top tank (electric heater) temperature setpoint
  • Hot Water Setpoint T12 — bottom tank (compressor) temperature setpoint
Ventilation control
  • Ventilation Step — current ventilation fan step (Off, 1–4), read-only
  • Inlet Fan Step and Exhaust Fan Step — actual fan speed steps (Off, 1–4)
  • Ventilation Level Set — ventilation fan level selector (0–4), read/write
  • Winter Ventilation Step — fan speed setting at low outdoor temperature (configuration value)
Filter monitoring
  • Days Since Filter Change — number of days since the last air filter change alarm
  • Days To Filter Change — number of days remaining until the next filter change alarm
Output status monitoring

Eight boolean outputs indicate the current state of internal components:

  • Hotgas Valve Heat and Hotgas Valve Cool — hotgas valve states for heating and cooling
  • Condenser Close — air condenser inactive state
  • Water Heater — hot water heater relay state
  • Circulation Pump — EK circulation pump state
  • Defrosting — defrost function active state
  • Alarm Relay — alarm relay output state
  • Pre-Heater — preheater or earth tube activation state

Two additional output sensors provide percentage values:

  • Exhaust Fan Speed — exhaust fan speed
  • Air Heater Capacity — air heater element capacity
Safety monitoring
  • High Pressure Switch — high pressure safety trip status (true = pressure trip active)
Service mode

The Service Mode selector enables maintenance diagnostics with 9 sub-modes: Off, Defrost, Flaps, Inlet, Exhaust, Compressor, Heating, Hot Water, and Central Heat.

The Restart Mode indicator shows the external fire alarm reset mode (Off, HPLP, Continue).

Additional capabilities

The CTS-602 also exposes registers for 14 additional temperature sensors (outdoor, condenser, evaporator, inlet after heater, controller board, EK supply/return, and more), humidity and CO2 monitoring, alarm status and reset, writable ventilation step control, pressure sensors, air flow measurements, and extended configuration parameters. These can be added in a future template update.

The ventilation step is currently read-only in the template (reads from A:1100). To write the ventilation step directly, register H:1003 (Control.VentSet) can be added as a custom Modbus device in TapHome.

Troubleshooting

No Modbus communication
  1. Verify the RTU-to-TCP bridge is configured with the correct parameters: 19200 baud, 8 data bits, Even parity, 1 stop bit
  2. Check that the Slave ID in TapHome matches the CTS-602 setting (default 30)
  3. Confirm the RS-485 wiring — via 8-pole plug: pin 1 (GND), pin 6 (A1), pin 7 (B1); via CN7: pin 2 (Data+), pin 3 (Data-), pin 6 (GND)
  4. If communication fails, try swapping A and B lines — polarity can be reversed
  5. Verify the bridge device IP address is reachable from TapHome Core
  6. Check termination resistors (120 Ohm) at both ends of the RS-485 bus
Temperature readings show incorrect values

All temperature registers use a scale factor of 100. A raw value of 2200 means 22.00 °C. If values appear 100x too large or as raw integers, verify the template is correctly applied.

Mode changes not taking effect

The CTS-602 may not accept mode changes during certain states (e.g. defrost cycle, legionella heating). Wait for the current cycle to complete and try again. Check the Control State device for the current system state.

Available devices

Nilan CTS602 Heat Pump Module
High Pressure Switch Switch Read-only
Register: A:107 Bool

High Pressure Switch

Read switch state
MODBUSR(A, 107, Bool)
Intake Temperature (T1) Temperature Sensor Read-only
Register: A:201 (implicit) Temperature Unit: °C numeric

Intake Temperature (T1)

Read temperature
MODBUSR(A, 201, Int16) / 100
Exhaust Temperature (T3) Temperature Sensor Read-only
Register: A:203 (implicit) Temperature Unit: °C numeric

Exhaust Temperature (T3)

Read temperature
MODBUSR(A, 203, Int16) / 100
Hot Water Top Temperature (T11) Temperature Sensor Read-only
Register: A:211 (implicit) Temperature Unit: °C numeric

Hot Water Top Temperature (T11)

Read temperature
MODBUSR(A, 211, Int16) / 100
Hot Water Bottom Temperature (T12) Temperature Sensor Read-only
Register: A:212 (implicit) Temperature Unit: °C numeric

Hot Water Bottom Temperature (T12)

Read temperature
MODBUSR(A, 212, Int16) / 100
Run Actual Switch

Actual on/off state of the unit

Register: H:1000 Bool

Run Actual

Read switch state
MODBUSR(H, 1000, Bool)
Write switch state
MODBUSWNE(H, 1000, Bool, St)
Mode Actual Multi-value Switch Read-only

Current operating mode — Off, Heat, Cool, Auto, Service

Register: A:1001 Int16 numeric
Values / States: Off · Heat · Cool · Auto · Service

Mode Actual

Read switch state
MODBUSR(A, 1001, Int16)
Control State Variable Read-only

Active control state display — Off, Ventilation, Heating, Cooling, Hot water, Defrost, and more

Register: A:1002 Int16 numeric

Control State

Read
MODBUSR(A, 1002, Int16)
Time in State Variable Read-only

Seconds elapsed in current control state

Register: A:1003 Int16 Unit: s numeric

Time in State

Read
MODBUSR(A, 1003, Int16)
Ventilation Step Multi-value Switch Read-only
Register: A:1100 Int16 Unit: step numeric
Values / States: Off · Level 1 · Level 2 · Level 3 · Level 4

Ventilation Step

Read switch state
MODBUSR(A, 1100, Int16)
Inlet Fan Step Multi-value Switch Read-only
Register: A:1101 Int16 Unit: step numeric
Values / States: Off · Level 1 · Level 2 · Level 3 · Level 4

Inlet Fan Step

Read switch state
MODBUSR(A, 1101, Int16)
Exhaust Fan Step Multi-value Switch Read-only
Register: A:1102 Int16 Unit: step numeric
Values / States: Off · Level 1 · Level 2 · Level 3 · Level 4

Exhaust Fan Step

Read switch state
MODBUSR(A, 1102, Int16)
Days Since Filter Change Variable Read-only
Register: A:1103 Int16 Unit: days numeric

Days Since Filter Change

Read
MODBUSR(A, 1103, Int16)
Days To Filter Change Variable Read-only
Register: A:1104 Int16 Unit: days numeric

Days To Filter Change

Read
MODBUSR(A, 1104, Int16)
Inlet Temperature Setpoint Temperature Sensor Read-only
Register: A:1201 (implicit) Temperature Unit: °C numeric

Inlet Temperature Setpoint

Read temperature
MODBUSR(A, 1201, Int16) / 100
Controlled Temperature Temperature Sensor Read-only

Actual value of the master controlled temperature sensor

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

Controlled Temperature

Read temperature
MODBUSR(A, 1202, Int16) / 100
Room Temperature Temperature Sensor Read-only
Register: A:1203 (implicit) Temperature Unit: °C numeric

Room Temperature

Read temperature
MODBUSR(A, 1203, Int16) / 100
Heat Exchanger Efficiency Temperature Sensor Read-only

Passive heat exchanger efficiency percentage

Register: A:1204 (implicit) Temperature Unit: % numeric

Heat Exchanger Efficiency

Read temperature
MODBUSR(A, 1204, Int16) / 100
Hotgas Valve Heat Switch Read-only
Register: H:112 Bool

Hotgas Valve Heat

Read switch state
MODBUSR(H, 112, Bool)
Hotgas Valve Cool Switch Read-only
Register: H:113 Bool

Hotgas Valve Cool

Read switch state
MODBUSR(H, 113, Bool)
Condenser Close Switch Read-only
Register: H:115 Bool

Condenser Close

Read switch state
MODBUSR(H, 115, Bool)
Water Heater Switch Read-only
Register: H:116 Bool

Water Heater

Read switch state
MODBUSR(H, 116, Bool)
Circulation Pump Switch Read-only
Register: H:118 Bool

Circulation Pump

Read switch state
MODBUSR(H, 118, Bool)
Defrosting Switch Read-only
Register: H:125 Bool

Defrosting

Read switch state
MODBUSR(H, 125, Bool)
Alarm Relay Switch Read-only
Register: H:126 Bool

Alarm Relay

Read switch state
MODBUSR(H, 126, Bool)
Pre-Heater Switch Read-only

Preheater or earth tube activation state

Register: H:127 Bool

Pre-Heater

Read switch state
MODBUSR(H, 127, Bool)
Exhaust Fan Speed Variable Read-only

Exhaust fan speed as percentage of maximum capacity

Register: H:200 Int16 Unit: % numeric

Exhaust Fan Speed

Read
MODBUSR(H, 200, Int16)
Air Heater Capacity Variable Read-only

Air heater element capacity as percentage of maximum output

Register: H:202 Int16 Unit: % numeric

Air Heater Capacity

Read
MODBUSR(H, 202, Int16)
Run Set Switch

User on/off control — turns the unit on or off

Register: H:1001 Bool

Run Set

Read switch state
MODBUSR(H, 1001, Bool)
Write switch state
MODBUSWNE(H, 1001, Bool, St)
Mode Set Multi-value Switch

Operating mode selector — Off, Heat, Cool, Service

Register: H:1002 Int16 numeric
Values / States: Off · Heat · Cool · Service

Mode Set

Read switch state
MODBUSR(H, 1002, Int16)
Write switch state
MODBUSWNE(H, 1002, Int16, Mu)
Ventilation Level Set Multi-value Switch
Register: H:1002 Int16 Unit: step numeric
Values / States: Level 0 · Level 1 · Level 2 · Level 3 · Level 4

Ventilation Level Set

Read switch state
MODBUSR(H, 1002, Int16)
Write switch state
MODBUSWNE(H, 1002, Int16, Mu)
Temperature Setpoint Thermostat

Room temperature setpoint — reads current from T15 room sensor, writes desired temperature

Register: A:215 (current) / H:1004 (desired)H:1004 Int16 Unit: °C numeric

Temperature Setpoint

Read temperature
MODBUSR(A, 215, Int16) / 100
Read desired temperature
MODBUSR(H, 1004, Int16) / 100
Write desired temperature
MODBUSWNE(H, 1004, Int16, Se * 100)
Service Mode Multi-value Switch
Register: H:1005 Int16 numeric
Values / States: Off · Defrost · Flaps · Inlet · Exhaust · Compressor · Heating · Hot Water · Central Heat

Service Mode

Read switch state
MODBUSR(H, 1005, Int16)
Write switch state
MODBUSWNE(H, 1005, Int16, Mu)
Hot Water Setpoint T11 Thermostat

Hot water top (electric heater) temperature setpoint

Register: A:211 (current) / H:1700 (desired)H:1700 Int16 Unit: °C numeric

Hot Water Setpoint T11

Read temperature
MODBUSR(A, 211, Int16) / 100
Read desired temperature
MODBUSR(H, 1700, Int16) / 100
Write desired temperature
MODBUSWNE(H, 1700, Int16, Se * 100)
Hot Water Setpoint T12 Thermostat

Hot water bottom (compressor) temperature setpoint

Register: A:212 (current) / H:1701 (desired)H:1701 Int16 Unit: °C numeric

Hot Water Setpoint T12

Read temperature
MODBUSR(A, 212, Int16) / 100
Read desired temperature
MODBUSR(H, 1701, Int16) / 100
Write desired temperature
MODBUSWNE(H, 1701, Int16, Se * 100)
Winter Temperature Threshold Temperature Sensor Read-only

Low outdoor temperature threshold for ventilation reduction

Register: H:4002 (implicit) Temperature Unit: °C numeric

Winter Temperature Threshold

Read temperature
MODBUSR(H, 4002, Int16) / 100
Winter Ventilation Step Temperature Sensor Read-only
Register: H:4003 (implicit) Temperature Unit: step numeric

Winter Ventilation Step

Read temperature
MODBUSR(H, 4003, Int16) / 100
Restart Mode Multi-value Switch Read-only

External fire alarm reset mode selector — Off, HPLP, Continue

Register: H:4040 Int16 numeric
Values / States: Off

Restart Mode

Read switch state
MODBUSR(H, 4040, Int16)
Connection: Modbus TCP • Slave ID: $[SlaveId]
Possible improvements (20)
  • A:200 Controller Board Temperature (T0) — Controller board temperature, scale /100 °C
  • A:202 Inlet Temperature Before Heater (T2) — Important for monitoring heating element effectiveness
  • A:204 Outlet Temperature (T4) — Exhaust air outlet temperature
  • A:205 Condenser Temperature (T5) — Heat pump condenser temperature
  • A:206 Evaporator Temperature (T6) — Heat pump evaporator temperature
  • A:207 Inlet Temperature After Heater (T7) — Key sensor for verifying actual supply air temperature
  • A:208 Outdoor Temperature (T8) — Outdoor temperature — important for climate overview
  • A:209 Heating Surface Temperature (T9) — Heating surface temperature sensor
  • A:210 External Room Temperature (T10) — External room temperature sensor (if installed)
  • A:213 EK Return Temperature (T13) — Central heating return temperature
  • A:214 EK Supply Temperature (T14) — Central heating supply temperature
  • A:221 Humidity (RH) — Humidity sensor value, scale /100, unit %. Important for IAQ monitoring
  • A:222 CO2 Level — CO2 sensor value in ppm. Important for IAQ monitoring
  • A:400 Alarm Status — Alarm state bitmask (0x80=active alarm, 0x0F=count)
  • H:1003 Ventilation Step Control (VentSet) — Writable ventilation step (0-4). Template reads from A:1100 but does not expose H:1003 write control
  • H:1006 Service Mode Capacity (ServicePct) — Service mode capacity setpoint, scale /100, unit %
  • H:400 Alarm Reset — Write 255 to clear all alarms, or 101-199 to clear specific alarm code
  • A:1200 Summer State — Summer/winter mode indicator (0=winter, 1=summer)
  • A:219 Suction Pressure — Compressor suction pressure in bar
  • A:220 Discharge Pressure — Compressor discharge pressure in bar

Sources