
The QDW90A is a generic piezoresistive pressure and level transmitter manufactured by Qidian (Anhui Qidian Automation Technology Co., Ltd.). It communicates via Modbus RTU over RS-485 and connects to TapHome through the Multi-Protocol Gateway. The same hardware platform supports pressure, level, temperature, and pH measurement depending on the installed sensor element.
The template reads the measurement value from holding register H:4 with automatic decimal scaling based on H:3. Four service attributes display the current device configuration (slave address, baud rate, measurement unit, and decimal format), and one service action allows remote slave address changes.
Hardware connection
RS-485 wiring
Connect the QDW90A to the TapHome Multi-Protocol Gateway using the RS-485 terminals:
| Sensor wire | Connection | Description |
|---|---|---|
| RED | +24 V | Power supply positive |
| BLACK | GND | Power supply ground |
| BLUE | A (RS485+) | Modbus data line A |
| YELLOW | B (RS485-) | Modbus data line B |
Wire colors may vary between OEM variants. Always verify the wiring against the documentation included with your specific unit before connecting.
Communication parameters
| Parameter | Default value |
|---|---|
| Baud rate | 9600 |
| Parity | None |
| Data bits | 8 |
| Stop bits | 1 |
| Slave ID | 1 |
The baud rate is configurable from 1200 to 115200 via register H:1. The slave address range is 1–255 and can be changed remotely using the Rewrite the Slave Address service action in TapHome.
After changing the slave address or baud rate, the transmitter replies using the original settings before switching to the new values. You must also write H:15 = 0 to persist changes to non-volatile memory.
Device capabilities
Pressure/level measurement
The template exposes one device — Pressure Level — that reads the measurement value from holding register H:4 (Int16). The raw value is automatically divided by 10 raised to the power of the decimal point setting from H:3:
| |
The measurement unit depends on the sensor configuration stored in H:2. The transmitter supports 23 different units:
| Code | Unit | Category |
|---|---|---|
| 0 | MPa | Pressure |
| 1 | KPa | Pressure |
| 2 | Pa | Pressure |
| 3 | bar | Pressure |
| 4 | mbar | Pressure |
| 5 | Kgcm2 | Pressure |
| 6 | PSI | Pressure |
| 7 | mH2O | Pressure |
| 8 | mmH2O | Pressure |
| 9 | inH2O | Pressure |
| 10 | H2O | Pressure |
| 11 | mHg | Pressure |
| 12 | mmHg | Pressure |
| 13 | inHg | Pressure |
| 14 | atm | Pressure |
| 15 | Torr | Pressure |
| 16 | m | Level |
| 17 | cm | Level |
| 18 | mm | Level |
| 19 | Kg | Weight |
| 20 | °C | Temperature |
| 21 | pH | pH value |
| 22 | °F | Temperature |
The template script applies an additional conversion for meters (code 16) and centimeters (code 17) to handle their specific scaling requirements.
Service attributes
The module exposes four service attributes for monitoring the device configuration:
- Slave Address (H:0) — current Modbus slave address (1–255)
- Baud Rate (H:1) — decoded baud rate from the internal code (1200, 2400, 4800, 9600, 19200, 38400, 57600, or 115200)
- Unit (H:2) — currently configured measurement unit displayed as its abbreviation (MPa, KPa, bar, PSI, mH2O, °C, pH, etc.)
- Decimal Points (H:3) — decimal point format (####, ###.#, ##.##, #.###, or .####)
Service action
- Rewrite the Slave Address — writes a new slave address (1–255) to H:0 and saves to non-volatile memory by writing H:15 = 0. The transmitter responds using the original address before switching.
Additional capabilities
The QDW90A also provides a Float32 measurement value at registers H:22–H:23 (IEEE 754, big-endian ABCD byte order) which gives the direct reading without decimal scaling. Additional registers include the range zero point (H:5), range full point (H:6), zero offset calibration (H:12), serial parity configuration (H:37), and a factory reset command (H:16). These can be added as custom Modbus devices in TapHome if needed.