TapHome

Sinclair Uni Split Air Conditioning

Modbus RTU
Submitted by
Last updated: 03. 2026
Sinclair Uni Split Air Conditioning

The Sinclair Uni Split is a DC Inverter split air conditioning unit with an integrated Modbus RTU (RS-485) BMS interface built directly into the indoor unit controller. No external communication module is required. The TapHome template provides temperature control, operation mode selection, fan speed, vertical and horizontal swing positions, sleep mode and outdoor temperature monitoring.

Up to 255 units can be connected on a single Modbus RTU bus. Each unit requires a unique slave address (1–255) configured through the wired controller (refer to the unit’s service manual for the address setting procedure).

Hardware connection

RS-485 wiring

The Sinclair Uni Split indoor unit has an integrated RS-485 interface that connects directly to TapHome Core:

  • A+ on the indoor unit RS-485 terminal –> A+/D+ on TapHome
  • B- on the indoor unit RS-485 terminal –> B-/D- on TapHome
  • GND –> GND on TapHome power supply

Important – Grounding

The GND wire must be connected between the indoor unit and TapHome. Without proper grounding, communication errors may occur.

Technical specifications
ParameterValue
InterfaceRS-485
ProtocolModbus RTU
Baud rate9600 bps (default)
Data bits8
ParityNone
Stop bits1
Slave address1–255
Max units255 per bus

Configuration

Enabling Modbus communication

The Modbus interface is integrated into the indoor unit controller and is active by default. The slave address must be configured through the wired controller before connecting to TapHome:

  1. Access the service settings on the wired controller (refer to the unit’s service manual)
  2. Set the Modbus slave address (1–255). Use address 1 for a single unit
  3. Set the address mode: “central controller” mode supports addresses 1–16; “PC address” mode supports addresses 1–255
  4. Connect the RS-485 wiring between the unit and TapHome Core
  5. In TapHome, configure the Modbus RTU connection with: 9600 baud, no parity, 1 stop bit, 8 data bits

The BMS/PC control is equal to the local control. The command sent later takes priority – if TapHome writes a value, it can be overridden by the local remote controller and vice versa.

Device capabilities

Temperature control

Ambient Temperature (H:4 read / H:20 write) is the primary thermostat device. It reads the indoor ambient temperature from register H:4 with x10 encoding (divided by 10 for display in degrees Celsius) and writes the temperature setpoint to register H:20 in the range of 16–30 degrees Celsius.

Two service attributes provide additional temperature readings:

  • Temperature of Air Return (H:82) – ambient temperature at the air return port (x10 encoding)
  • Temperature of Light Board (H:83) – ambient temperature of the indoor unit’s light board (x10 encoding)

Outdoor Temperature (H:49) reads the outdoor ambient temperature directly in degrees Celsius (no conversion needed, accuracy 1 degree Celsius, range -100 to 155 degrees Celsius).

Power and operation mode
  • Power ON/OFF (H:2) – turns the indoor unit on (0xAA = 170) or off (0x55 = 85). The template uses a Switch() conversion to map these values to standard ON/OFF states
  • Operation Mode (H:17) – selects the operating mode: Cooling (1), Heating (2), Drying (3), Fan Only (4), or Auto (5)

Cooling-only units: On units that support cooling only, the heating mode command is invalid. The unit will not respond to heating instructions.

Fan speed

Fan Speed (H:19) controls the fan with seven levels: Auto (0), Very Low (1), Low (2), Medium (3), High (4), Very High (5), and Turbo (6).

Swing control

Up/Down Swing (H:22) controls the vertical vane position with 10 options: Off (0), Full Swing (1), Position 1–5 (2–6), 3-5 Area Swing (7), 2-5 Area Swing (8), and 2-4 Area Swing (9).

Left/Right Swing (H:23) controls the horizontal vane position: Off (0), Same Direction Swing (1), Position 1–5 (2–6), Opposite Direction Swing (7), and 1-5 Position (9).

Sleep mode

Sleep Mode (H:25) provides four options: No Sleep (0), Sleep Mode 1 (1), Sleep Mode 2 (2), and Sleep Mode 3 (3). Each sleep mode applies different temperature adjustments during the night for improved comfort and energy savings.

Sleep mode is invalid when the unit is in Fan Only or Auto mode.

Additional capabilities

The Sinclair Uni Split also exposes Modbus registers for fresh air valve control, clean function with contamination grade monitoring, energy saving temperature limits (cooling lower limit and heating upper limit), remote lock and shield functions (temperature, mode, ON/OFF, energy saving), absence mode (sets temperature to 8 degrees Celsius), turbo mode, silent mode, X-fan (post-shutdown fan operation), child lock, and Celsius/Fahrenheit selection. Read-only status registers include compressor status, outdoor fan status, 4-way valve status, system defrosting state, and cooling-only/heat-pump identification. These can be added in a future template update.

The energy saving registers (H:35, H:36) allow setting temperature limits for cooling and heating. When energy saving is active, the setpoint must respect these limits – otherwise the unit will not respond to temperature commands.

Troubleshooting

No Modbus communication
  1. Check RS-485 cables: Verify A+, B-, and GND connections between the indoor unit and TapHome Core
  2. Verify the slave address: Confirm the address set on the wired controller matches the TapHome configuration
  3. Check communication parameters: TapHome must be set to 9600 baud, no parity, 1 stop bit, 8 data bits
  4. Power cycle the unit: After the indoor unit powers on, it may report alarm code 0x04 until it receives the first valid Modbus frame – this is normal behavior
Alarm code 0x04 (slave device failure)

This alarm indicates communication failure between the Modbus interface and the air conditioning unit itself. Check:

  1. The indoor unit is powered on and operating normally
  2. The wired controller is properly connected
  3. Power cycle the indoor unit if the error persists
Alarm code 0x03 (illegal data)

The transmitted data is incorrect or beyond the valid range. Verify that register values being written are within the documented ranges (e.g., temperature setpoint 16–30, fan speed 0–6, mode 1–5).

Heating mode not working

Check whether the unit is a cooling-only model. Read Coil bit 177 – if the value is 1, the unit supports cooling only, and heating commands are invalid.

Available devices

Sinclair Uni Split Module
Ambient Temperature Thermostat

Indoor ambient temperature with setpoint control (16-30 C) and air return / light board temperature service attributes

Register: H:4H:20 Int16 Unit: °C numeric
Service Attributes
Temperature of Air Return
Temperature of Light Board

Ambient Temperature

Read temperature
MODBUSR(H, 4, Int16) / 10
Read desired temperature
MODBUSR(H, 20, Int16)
Write desired temperature
MODBUSW(H, 20, Int16, Se)
Service Attributes
Temperature of Air Return
ModbusR(H, 82, Int16)*0.1 + " °C"
Temperature of Light Board
ModbusR(H, 83, Int16)*0.1 + " °C";
Fan Speed Multi-value Switch

Fan speed selector with 7 levels: Auto, Very Low, Low, Medium, High, Very High, Turbo

Register: H:19 UInt16 numeric
Values / States: Auto · Very Low · Low · Medium · High · Very High · Turbo

Fan Speed

Read switch state
MODBUSR(H, 19, Uint16);
Write switch state
MODBUSW(H, 19, UInt16, Mu)
Left/Right Swing Multi-value Switch

Horizontal vane position: Off, same/opposite direction swing, 5 fixed positions, combined 1-5 position

Register: H:23 UInt16 numeric
Values / States: Off · left to right swing · 1 position · 2 position · 3 position · 4 position · 5 position · Air Swing at Opposite Direction · 15 position

Left/Right Swing

Read switch state
var reg := MODBUSR(H, 23, UInt16);
reg
Write switch state
MODBUSW(H, 23, Uint16, Mu);
Operation Mode Multi-value Switch
Register: H:17 UInt16 numeric
Values / States: Cooling · Heating · Drying · Fan Only · Auto

Operation Mode

Read switch state
var reg := MODBUSR(H, 17, uInt16);
reg
Write switch state
MODBUSW(H, 17, Uint16, Mu);
Outdoor Temperature Temperature Sensor Read-only

Outdoor ambient temperature from the outdoor unit (-100 to 155 C)

Register: H:49 Int16 Unit: °C numeric

Outdoor Temperature

Read temperature
MODBUSR(H, 49, Int16);
Power ON/OFF Switch
Register: H:2 UInt16

Power ON/OFF

Read switch state
Switch(MODBUSR(H, 2, Uint16), 0xAA, 1, 0);
Write switch state
var res := Switch(St,1,  0xAA, 0x55);
MODBUSWNE(H, 2, Uint16, res);
Sleep Mode Multi-value Switch

Night comfort mode with automatic temperature adjustments: No Sleep, Sleep 1, Sleep 2, Sleep 3

Register: H:25 UInt16 numeric
Values / States: No Sleep · Sleep Mode · Sleep Mode 2 · Sleep Mode 3

Sleep Mode

Read switch state
MODBUSR(H, 25, Uint16);
Write switch state
MODBUSW(H, 25, Uint16, Mu)
Up/Down Swing Multi-value Switch

Vertical vane position: Off, full swing, 5 fixed positions, area swing modes (3-5, 2-5, 2-4)

Register: H:22 UInt16 numeric
Values / States: Off · up and down · 1 position · 2 position · 3 position · 4 position · 5 position · 35 air swing · 25 air swing · 24 air swing

Up/Down Swing

Read switch state
MODBUSR(H, 22, Uint16);
Write switch state
MODBUSW(H, 22, UInt16, Mu);
Connection: Modbus RTU • 9600 baud• 8N1 • Slave ID: $[SlaveId]
Possible improvements (30)
  • H:24 Fresh Air Valve Status — W/R, 0–10 modes of fresh air valve. Not implemented in template
  • H:34 Clean Function — W/R, 00=no clean, 10–39=contamination grade
  • H:35 Temp Lower Limit for Energy Saving (Cooling) — W/R, 16–30°C. Cooling set temp must be higher than this for energy saving
  • H:36 Temp Upper Limit for Energy Saving (Heating) — W/R, 16–30°C. Heating set temp must be lower than this for energy saving
  • H:5 IDU Address — R only, 1–16 (central controller) or 1–255 (PC address mode)
  • H:39 Ambient Temp Sensor Selection — R only, 01=air return, 10=wired controller, 11=mixed per mode
  • H:77 DRED Function — R only, 0=no DRED, 1–3=DRED modes (Demand Response)
  • Coil:17 Remote Lock — W/R, locks unit from local control by long-distance monitoring
  • Coil:18 Remote Temp Shield — W/R, shields temperature setting from local control. Invalid in auto mode
  • Coil:19 Remote Mode Shield — W/R, shields mode setting from local control
  • Coil:20 Remote ON/OFF Shield — W/R, shields ON/OFF from local control
  • Coil:21 Remote Energy Saving Shield — W/R, shields energy saving setting from local control
  • Coil:24 Absence Mode — W/R, 0=off, 1=on. Sets temp to 8°C
  • Coil:25 Healthy Function — W/R, 0=off, 1=on
  • Coil:26 I-Demand (Comfortable Energy Saving) — W/R, 0=off, 1=on
  • Coil:27 Turbo — W/R, 0=off, 1=on
  • Coil:28 E-Heating Permission — W/R, 0=permit, 1=not permit (inverted logic)
  • Coil:29 X-Fan — W/R, 0=off, 1=on. Fan runs 2 min after power-off when energized
  • Coil:30 Silent Mode — W/R, 0=off, 1=on
  • Coil:31 Low Temp Drying Mode — W/R, 0=off, 1=on. Set temp drops to 12°C
  • Coil:32 Energy Saving Cooling Active — W/R. Both cooling and heating energy saving flags must be set simultaneously
  • Coil:33 Energy Saving Heating Active — W/R. Both cooling and heating energy saving flags must be set simultaneously
  • Coil:34 Child Lock — W/R, 1=locked, 0=unlocked
  • Coil:35 ON/OFF Memory — W/R, 0=memorize, 1=not memorize (inverted logic)
  • Coil:36 Celsius/Fahrenheit — W/R, 0=Celsius, 1=Fahrenheit
  • Coil:151 Compressor Status — R only, 1=on, 0=off
  • Coil:150 4-Way Valve Status — R only, 1=on, 0=off
  • Coil:147 Outdoor Fan Status — R only, 1=on, 0=off
  • Coil:179 System Defrosting — R only, 1=defrosting, 0=not
  • Coil:177 Cooling Only / Heat Pump Flag — R only, 0=cool+heat, 1=cool only

Sources