TapHome

ComWinTop CWT-THxxx

Modbus RTU
Submitted by
Last updated: 03. 2026
ComWinTop CWT-THxxx

The ComWinTop CWT-THxxx series are RS-485 Modbus RTU temperature and humidity sensors available in multiple probe form factors (CWT-TH01S through CWT-TH05S). The TapHome template reads temperature and relative humidity values and provides service actions for configuring the slave ID and baud rate directly from TapHome.

The sensors are powered by DC 5–30 V and communicate over RS-485 at distances up to 800 m, making them suitable for distributed building monitoring.

Hardware connection

Wiring

The sensor has a 4-wire cable:

Cable ColorFunction
BrownPower + (DC 5–30 V)
BlackPower − (GND)
Yellow / GreenRS-485 A+
BlueRS-485 B−

Connect the RS-485 A+ and B− wires to the corresponding terminals on a TapHome Modbus RTU gateway (e.g. TapHome Core RS-485 bus). The power GND and RS-485 GND should share a common ground.

Ensure proper grounding between the sensor and the Modbus gateway. Without a shared GND reference, communication errors are likely, especially on longer cable runs.

Specifications
ParameterValue
Power supplyDC 5–30 V, < 0.1 W
Temperature range−30°C to +80°C (±0.5°C)
Humidity range0–100% RH (±5% RH)
Resolution0.1°C / 0.1% RH
CommunicationRS-485 Modbus RTU
Max cable length800 m

Configuration

Communication parameters

The TapHome template uses 9600 baud, 8 data bits, no parity, 1 stop bit. The factory default baud rate is 4800 bps — use the Set Baud Rate service action in TapHome (or a Modbus tool) to change it to 9600 before importing the template.

Alternatively, if you prefer to keep the factory 4800 baud rate, adjust the baud rate in the TapHome module connection settings after import.

Slave ID

The default slave ID is 1. When connecting multiple CWT-THxxx sensors on the same RS-485 bus, each sensor needs a unique slave ID (1–254). Use the Set Slave ID service action in TapHome to change the address.

Device capabilities

Temperature and humidity monitoring

The template exposes a single Temperature & Humidity Sensor device that reads:

  • Temperature — ambient temperature in °C (register H:1, Int16, ÷10 conversion). Range −30°C to +80°C with 0.1°C resolution. Negative temperatures use two’s complement encoding.
  • Humidity — relative humidity in %RH (register H:0, UInt16, ÷1000 conversion). Range 0–100% RH with 0.1% resolution.
Service diagnostics and configuration

The module provides two service attributes and two service actions for bus configuration:

  • Slave ID (read from H:2000) — displays the current Modbus address
  • Baud Rate (read from H:2001) — displays the current baud rate (2400, 4800, or 9600)
  • Set Slave ID — writes a new address (1–254) to H:2000
  • Set Baud Rate — writes a new baud rate selection to H:2001 (0 = 2400, 1 = 4800, 2 = 9600)
Additional capabilities

The CWT-THxxx sensors also provide calibration registers for temperature offset (H:0x0050) and humidity offset (H:0x0051) with 0.1°C / 0.1% RH resolution. These allow fine-tuning measurements without modifying the TapHome configuration. Calibration support can be added in a future template update.

Troubleshooting

No readings after import
  1. Verify the baud rate matches between the sensor and TapHome — the template expects 9600 bps but the factory default is 4800
  2. Check the RS-485 wiring: A+ to A+, B− to B−, shared GND
  3. Confirm the correct slave ID is set in the TapHome import parameters
Incorrect humidity values

The template uses a ÷1000 scale factor for the humidity register, as defined in the XML template. If readings appear off by a factor of 100, this may indicate a firmware variation. The XML template is the authoritative source for the TapHome integration.

Communication errors on long cable runs
  1. Ensure a shared GND connection between the sensor and the gateway
  2. Use twisted-pair cable for the A+/B− lines
  3. Add a 120 Ω termination resistor at the end of the bus if the cable exceeds 100 m

Available devices

ComWinTop CWT-THxxx Module
Service Attributes
Slave ID
Baud RateCurrent communication speed — 2400, 4800, or 9600 bps
Service Actions
Set Slave IDChanges the Modbus slave address (1–254) for multi-sensor bus configurations
Set Baud RateChanges the communication speed — 2400, 4800, or 9600 bps

CWT-THxxx

Service Attributes
Slave ID
modbusr(H, 2000, Uint16)
Baud Rate
switch( modbusr(H, 2001, Uint16),
0, "2400",
1, "4800",
2, "9600",
"Unknown")
Service Actions
Set Slave ID
Parameters: ID (1–254 ID)
modbusw(H, 2000, Uint16, ID)
Set Baud Rate
Parameters: Baud Rate
modbusw(H, 2001, Uint16, bps)
Temperature & Humidity Sensor Temperature Sensor Read-only

Ambient temperature (°C) and relative humidity (%RH) with automatic unit conversion

Register: H:1 Int16 Unit: °C numeric

Temperature & Humidity Sensor

Read humidity
MODBUSR(H, 0, Uint16) / 1000
Read temperature
MODBUSR(H, 1, Int16) / 10
Connection: Modbus RTU • 9600 baud• 8N1 • Slave ID: $[SlaveId]
Possible improvements (2)
  • H:0x0050 Temperature Calibration — Int16 R/W, 0.1°C resolution offset adjustment for fine-tuning temperature readings
  • H:0x0051 Humidity Calibration — UInt16 R/W, 0.1% RH resolution offset adjustment for fine-tuning humidity readings

Sources