
The QDL80A is a pressure and temperature transmitter that communicates via Modbus RTU over RS-485 in half-duplex mode. The TapHome template uses the primary measurement output register (H:4) as a temperature sensor, with the unit set to °C via holding register H:2. The raw integer value is automatically scaled using the decimal point setting from H:3.
The device supports slave addresses 1–247 and baud rates from 1200 to 38400. Default serial settings are 9600, N, 8, 1.
Hardware connection
RS-485 wiring
The QDL80A uses a 4-wire RS-485 connection with a Hirschmann connector:

For RS-485 Modbus RTU communication, use the RS485 output four-wire wiring diagram (bottom left):
- NO-1 (Red) — 24V+ power supply
- NO-2 (Black) — 24V- power supply ground
- NO-3 (Blue) — RS-485 PC A (connect to A+/D+ on TapHome)
- Ground Wire (Yellow) — RS-485 PC B (connect to B-/D- on TapHome)
Technical specifications
- Power supply: DC 12–32V
- Communication: RS-485 half-duplex, Modbus RTU
- Baud rate: 9600 (default), configurable: 1200, 2400, 4800, 9600, 19200, 38400
- Serial format: No parity, 8 data bits, 1 stop bit
- Slave address range: 1–247
- Connected thread: M20x1.5 (default), G1/2, G1/4
The wiring diagram labels “PC A” and “PC B” correspond to RS-485 data lines. Connect PC A to A+/D+ and PC B (Ground Wire / Yellow) to B-/D- on the TapHome Modbus RTU gateway. Ensure the power supply ground is shared between the transmitter and the gateway.
Configuration
Setting the unit to °C
The QDL80A is a combined pressure/temperature transmitter. The TapHome template reads the primary measurement output (H:4), which reports in whatever unit is configured in register H:2. For temperature measurement, the unit must be set to °C.
The template exposes register H:2 as a service attribute (“Unit”) — verify it shows °C (value 20 in the register). If the device is configured for a pressure unit, the temperature reading will be incorrect.
Slave ID
The default slave address is 1. To change it, use the “Rewrite the Slave Address” service action in TapHome, which writes to register H:0. The device replies using the old address, then switches to the new one. Valid range: 1–247.
After changing the slave address, update the Slave ID in the TapHome module connection settings to match.
Baud rate
The default baud rate is 9600. The current baud rate is visible via the “Baud Rate” service attribute. To change the baud rate, write to register H:1 directly (not exposed as a service action in the template). After the reply, the transmitter switches to the new baud rate.
| Register value | Baud rate |
|---|---|
| 0 | 1200 |
| 1 | 2400 |
| 2 | 4800 |
| 3 | 9600 (default) |
| 4 | 19200 |
| 5 | 38400 |
The TapHome Modbus RTU gateway baud rate must match the transmitter setting. If communication fails after a baud rate change, reconfigure the gateway to the new rate.
Decimal point configuration
Register H:3 controls the number of decimal places for the primary measurement output (H:4). The TapHome template reads both registers and applies the formula H:4 / 10^(H:3) automatically.
| H:3 value | Format | Example: raw 2400 → |
|---|---|---|
| 0 | #### | 2400 |
| 1 | ###.# | 240.0 |
| 2 | ##.## | 24.00 |
| 3 | #.### | 2.400 |
| 4 | #.#### | 0.2400 |
For temperature in °C with one decimal place, H:3 should be set to 1 (typical factory default for temperature).
Device capabilities
Temperature measurement
The template provides a single temperature sensor that reads the primary measurement output from holding register H:4. The raw integer value is divided by 10^(H:3) to produce the final reading in °C.
Four service attributes are available on the module for monitoring the device configuration:
- Slave Address (H:0) — current Modbus slave address
- Baud Rate (H:1) — current serial baud rate (displayed as the actual rate: 1200, 2400, …, 38400)
- Unit (H:2) — configured measurement unit (should show °C for temperature use)
- Decimal Points (H:3) — number of decimal places applied to the measurement value
One service action is available:
- Rewrite the Slave Address — changes the Modbus slave address (range 1–255)
Additional capabilities
The QDL80A also has a dedicated temperature channel on register H:5 with its own unit setting (H:6, °C or °F) and decimal point configuration (H:7). This second channel could be added as an additional temperature sensor in a future template update. The device also supports parity configuration via register H:37 (no parity, odd, or even).
Troubleshooting
No communication
- Verify the RS-485 wiring: PC A → A+/D+, PC B (Yellow) → B-/D- on TapHome
- Confirm the slave address in TapHome matches the device (default: 1)
- Check that baud rate, parity (none), data bits (8), and stop bits (1) match between the transmitter and TapHome gateway
- Ensure the power supply is within the DC 12–32V range
Incorrect temperature reading
- Check the unit register (H:2) — it must be set to °C (value 20). If set to a pressure unit, the reading will be the pressure value, not temperature
- Verify the decimal point setting (H:3) matches the expected precision — a wrong decimal point will shift the value by orders of magnitude
- Note that H:4 is the primary measurement output. If the device is factory-configured for pressure, H:4 reports pressure. Use H:5 for the dedicated temperature channel (not in current template)
Abnormal Modbus responses
The QDL80A returns error codes via function code 0x80 + original function code:
- 0x01 — Invalid instruction (unsupported function code)
- 0x02 — Invalid address (register address out of range)