---
title: "ComWinTop CWT-TM-8PT"
description: "Read 8 PT100/PT1000 temperature channels via Modbus RTU. DIN-rail module with RS-485, -180 to +650 °C range, 0.25 °C accuracy. TapHome integration template."
url: "https://taphome.com/en/compatibility/comwintop-8-channels-pt100-pt1000/"
language: en
lastmod: 2026-03-31
generator: hugo
ai:
  topics: ["modbus-rtu","sensor","rs485","temperature","din-rail","pt100","pt1000"]
  questions: ["How to integrate ComWinTop CWT-TM-8PT with TapHome?","What does the ComWinTop 8-channel temperature sensor TapHome template read?","How to connect ComWinTop PT100/PT1000 module via RS-485 to TapHome?","How to change the Modbus slave ID on a ComWinTop CWT-TM-8PT module?","What is the difference between PT100 and PT1000 variants of ComWinTop CWT-TM-8PT?"]
---

# ComWinTop CWT-TM-8PT

Communication: Modbus RTU

- [ComWinTop Store — CWT-TM-8PT](https://store.comwintop.com/products/8-channels-pt100-pt1000-rs485-modbus-output-temperature-acquisition-module)

## Integration guide

The ComWinTop CWT-TM-8PT is a DIN-rail mounted temperature acquisition module available in two variants — CWT-TM-8PT100 (for PT100 sensors) and CWT-TM-8PT1000 (for PT1000 sensors). It reads up to 8 temperature channels and exposes them over Modbus RTU via RS-485. TapHome polls all 8 channels as individual temperature sensors with a 15-second update interval.

## Hardware connection

### Technical specifications

| Parameter | Value |
|-----------|-------|
| Power supply | DC 8–30 V |
| Sensor type | PT100 or PT1000 (depending on model) |
| Measurement range | -180 °C to +650 °C |
| Resolution | 0.1 °C |
| Accuracy | 0.25 °C |
| Sensor connections | 2-wire and 3-wire |
| Output | RS-485 (Modbus RTU), isolated |
| Operating temperature | -30 °C to +55 °C |
| Mounting | 35 mm DIN rail |
| Dimensions | 88 x 72 x 59 mm |

### RS-485 wiring

Connect the module to the TapHome Modbus RTU Gateway using a 3-wire RS-485 connection:

- **A (D+)** → A+/D+ on TapHome RS-485
- **B (D-)** → B-/D- on TapHome RS-485
- **GND** → GND on TapHome power supply

### Sensor wiring

Each channel has three terminals: **RTDx+**, **RTDx-**, and **GND**.

**Three-wire connection (recommended):**
- RTDx+ → sensor wire 1
- RTDx- → sensor wire 2
- GND → sensor wire 3 (compensation wire)

Three-wire wiring compensates for lead wire resistance and provides better accuracy.

**Two-wire connection:**
- RTDx+ → sensor wire 1
- RTDx- → sensor wire 2
- **Short RTDx- and GND together** for each two-wire channel

> [!WARNING]
> For two-wire connections, the RTDx- and GND terminals **must** be shorted together. Without this jumper, the measurement will be inaccurate due to uncompensated lead resistance.

## Configuration

The module ships with default communication parameters that match the TapHome template — no configuration is needed for a single-module setup.

### Default parameters

| Parameter | Default value |
|-----------|---------------|
| Baud rate | 9600 |
| Data bits | 8 |
| Parity | None |
| Stop bits | 1 |
| Slave ID | 1 |

### Changing the slave ID

When connecting multiple modules on the same RS-485 bus, each module must have a unique slave address. The slave ID is stored in holding register 0x10 (high byte) and can be changed via a Modbus write command (function code 06H). The valid range is 1–250.

After changing the slave ID, update the **Slave Id** import parameter in TapHome to match the new address.

### Changing baud rate and parity

Baud rate and parity are stored in register 0x10 (low byte). Supported baud rates: 1200, 2400, 4800, 9600 (default), 14400, 19200. Parity options: None (default), Even, Odd.

> [!TIP]
> The module exposes three service attributes in TapHome — **Slave ID**, **Speed**, and **Parity** — so you can verify the current communication parameters directly from the TapHome interface without additional tools.

## Device capabilities

### Temperature channels

The template provides 8 independent temperature sensors, one per channel. Each sensor reads its value from a dedicated Float register (IEEE 754, 4 bytes) over Modbus RTU. The readings are direct °C values — no conversion or scaling is required.

| Channel | Register | Sensor |
|---------|----------|--------|
| 1 | H:0x30 | Temperature Sensor (1) |
| 2 | H:0x32 | Temperature Sensor (2) |
| 3 | H:0x34 | Temperature Sensor (3) |
| 4 | H:0x36 | Temperature Sensor (4) |
| 5 | H:0x38 | Temperature Sensor (5) |
| 6 | H:0x3A | Temperature Sensor (6) |
| 7 | H:0x3C | Temperature Sensor (7) |
| 8 | H:0x3E | Temperature Sensor (8) |

All channels are read-only and polled every 15 seconds. Unused channels (with no sensor connected) will report a fault value — the module supports disconnection and short-circuit detection on sensor inputs.

### Additional capabilities

The module also provides an alternative UINT register set (H:0x68–H:0x6F) with 2-byte integers and 0.1 °C resolution. The TapHome template uses the Float format for higher precision. Both formats read the same physical sensors — the UINT registers can be used as a lightweight alternative if needed in a future template update.

## Troubleshooting

### No temperature readings

1. Verify the RS-485 wiring — A (D+) and B (D-) must not be swapped
2. Check that the slave ID in TapHome matches the module configuration (default: 1)
3. Confirm baud rate 9600, parity None, 1 stop bit in TapHome gateway settings
4. Ensure the module is powered (DC 8–30 V)

### Inaccurate readings

1. For two-wire connections, verify that RTDx- and GND are shorted together on each channel
2. Consider switching to three-wire sensor connections for better accuracy
3. Check for long cable runs — lead wire resistance affects two-wire measurements

### Sensor fault reported

1. Check the physical connection between the sensor and the module terminal
2. Verify the sensor type matches the module variant (PT100 sensor with CWT-TM-8PT100, PT1000 with CWT-TM-8PT1000)
3. The module detects both disconnection and short-circuit conditions on sensor inputs

## Available devices 8

These devices appear in TapHome after import.

ComWinTop 8-Channel PT100/PT1000 Module

Service Attributes

|          |                                                                             |
|----------|-----------------------------------------------------------------------------|
| Slave ID |                                                                             |
| Speed    | Communication baud rate — 9600 (default), 1200, 2400, 4800, 14400, or 19200 |
| Parity   | Serial parity setting — None (default), Even, or Odd                        |

Service Attributes

Slave ID

```taphome
getbyte(modbusr(H, 0x10, Uint16), 1)
```

Speed

```taphome
var ret := getbyte(modbusr(H, 0x10, Uint16), 0);

switch(getbits(ret, 0, 3),
0, "9600 (default)",
1, "1200",
2, "2400",
3, "4800",
4, "9600",
5, "14400",
6, "19200",
"unknown");
```

Parity

```taphome
var ret := getbyte(modbusr(H, 0x10, Uint16), 0);

switch(getbits(ret, 3, 2),
0, "None",
1, "Even",
2, "Odd",
"Odd");
```

Temperature Sensor (1) Temperature Sensor Read-only

Register: H:0x30 Float Unit: °C IEEE 754 float

Read temperature

```taphome
MODBUSR(H, 0x30, float)
```

Temperature Sensor (2) Temperature Sensor Read-only

Register: H:0x32 Float Unit: °C IEEE 754 float

Read temperature

```taphome
MODBUSR(H, 0x32, Float)
```

Temperature Sensor (3) Temperature Sensor Read-only

Register: H:0x34 Float Unit: °C IEEE 754 float

Read temperature

```taphome
MODBUSR(H, 0x34, Float)
```

Temperature Sensor (4) Temperature Sensor Read-only

Register: H:0x36 Float Unit: °C IEEE 754 float

Read temperature

```taphome
MODBUSR(H, 0x36, Float)
```

Temperature Sensor (5) Temperature Sensor Read-only

Register: H:0x38 Float Unit: °C IEEE 754 float

Read temperature

```taphome
MODBUSR(H, 0x38, Float)
```

Temperature Sensor (6) Temperature Sensor Read-only

Register: H:0x3A Float Unit: °C IEEE 754 float

Read temperature

```taphome
MODBUSR(H, 0x3A, Float)
```

Temperature Sensor (7) Temperature Sensor Read-only

Register: H:0x3C Float Unit: °C IEEE 754 float

Read temperature

```taphome
MODBUSR(H, 0x3C, Float)
```

Temperature Sensor (8) Temperature Sensor Read-only

Register: H:0x3E Float Unit: °C IEEE 754 float

Read temperature

```taphome
MODBUSR(H, 0x3E, Float)
```

**Connection:** Modbus RTU • 9600 baud• 8N1 • Slave ID: $\[SlaveId]

Possible improvements (8)

- H:0x68 Channel 1 Temperature (UINT) — Alternative UINT format (2 bytes, scale 0.1). Template uses Float format (0x30) instead — both read the same physical sensor
- H:0x69 Channel 2 Temperature (UINT) — Alternative UINT format (2 bytes, scale 0.1). Template uses Float format (0x32) instead
- H:0x6A Channel 3 Temperature (UINT) — Alternative UINT format (2 bytes, scale 0.1). Template uses Float format (0x34) instead
- H:0x6B Channel 4 Temperature (UINT) — Alternative UINT format (2 bytes, scale 0.1). Template uses Float format (0x36) instead
- H:0x6C Channel 5 Temperature (UINT) — Alternative UINT format (2 bytes, scale 0.1). Template uses Float format (0x38) instead
- H:0x6D Channel 6 Temperature (UINT) — Alternative UINT format (2 bytes, scale 0.1). Template uses Float format (0x3A) instead
- H:0x6E Channel 7 Temperature (UINT) — Alternative UINT format (2 bytes, scale 0.1). Template uses Float format (0x3C) instead
- H:0x6F Channel 8 Temperature (UINT) — Alternative UINT format (2 bytes, scale 0.1). Template uses Float format (0x3E) instead

## Import parameters

Enter these values when you import the XML.

| Asked in the app | Default       |
|------------------|---------------|
| Slave Id         | `1`           |
| IP address       | `192.168.1.0` |

## Sources

- ComWinTop Store — CWT-TM-8PT Product Page (Specs, Register Map, Wiring)
  
  [store.comwintop.com](https://store.comwintop.com/products/8-channels-pt100-pt1000-rs485-modbus-output-temperature-acquisition-module) 2026-03-31
- Home Assistant Community — ComWinTop Modbus RTU Configuration
  
  [community.home-assistant.io](https://community.home-assistant.io/t/config-for-rtu-modbus-temperature-sensor/732447) 2026-03-31

## Related Documentation

- [Modbus Integration](https://taphome.com/en/compatibility/modbus-guide/)
- [Modbus](https://taphome.com/en/docs/integration/modbus/)
- [Simple configuration using templates](https://taphome.com/en/docs/integration/modbus/templates/)
- [Modbus scripts and prefetch](https://taphome.com/en/docs/script/modbus-scripts/)
- [Modbus functions](https://taphome.com/en/docs/script/modbus/)
- [Modbus data types](https://taphome.com/en/docs/script/modbus-data-types/)

