Vaisala · Sensor
HMP110 / HMP110T humidity and temperature probe (also HMP60, HMP63, HMP113, HMP115) Modbus register map
Default configuration
- Protocol
- RS485
- Port
- 502
- Unit ID
- 240
- Addressing
- 1-based
- Byte order
- Big endian
- Word order
- Low word first
- Baud rate
- 19200
- Parity
- None
- Data bits
- 8
- Stop bits
- 2
This device has an RS-485 interface. Reach it through a Modbus RTU-to-TCP gateway, configured with the factory serial settings above.
Register map
| Address | Count | Name | Type | Unit | Scale | Access |
|---|---|---|---|---|---|---|
| 1 | 2 | Relative humidity (floating point) Register 1 (address 0x0000), 32-bit float. The table lists the low word at the register and the high word at address + 1. | Float32 | %RH | 1 | R |
| 3 | 2 | Temperature 1 (floating point) Register 3 (address 0x0002), 32-bit float. | Float32 | degC | 1 | R |
| 9 | 2 | Dew/frost point temperature (floating point) Register 9 (address 0x0008), 32-bit float. | Float32 | degC | 1 | R |
| 15 | 2 | Absolute humidity (floating point) Register 15 (address 0x000E), 32-bit float. | Float32 | g/m3 | 1 | R |
| 17 | 2 | Mixing ratio (floating point) Register 17 (address 0x0010), 32-bit float. | Float32 | g/kg | 1 | R |
| 19 | 2 | Wet-bulb temperature (floating point) Register 19 (address 0x0012), 32-bit float. | Float32 | degC | 1 | R |
| 27 | 2 | Enthalpy (floating point) Register 27 (address 0x001A), 32-bit float. | Float32 | kJ/kg | 1 | R |
| 257 | 1 | Relative humidity (integer) Register 257 (address 0x0100), 16-bit signed integer scaled by 10, as the table's unit column states (%RH * 10). | Int16 | %RH | 0.1 | R |
| 258 | 1 | Temperature 1 (integer) Register 258 (address 0x0101), 16-bit signed integer, unit degC * 10. | Int16 | degC | 0.1 | R |
| 261 | 1 | Dew/frost point temperature (integer) Register 261 (address 0x0104), 16-bit signed integer, unit degC * 10. | Int16 | degC | 0.1 | R |
| 264 | 1 | Absolute humidity (integer) Register 264 (address 0x0107), 16-bit signed integer, unit g/m3 * 10. | Int16 | g/m3 | 0.1 | R |
| 265 | 1 | Mixing ratio (integer) Register 265 (address 0x0108), 16-bit signed integer, unit g/kg * 10. | Int16 | g/kg | 0.1 | R |
| 266 | 1 | Wet-bulb temperature (integer) Register 266 (address 0x0109), 16-bit signed integer, unit degC * 10. | Int16 | degC | 0.1 | R |
| 270 | 1 | Enthalpy (integer) Register 270 (address 0x010D), 16-bit signed integer, unit kJ/kg * 10. | Int16 | kJ/kg | 0.1 | R |
| 785 | 2 | Measurement filtering factor Register 785 (address 0x0310), 32-bit float, 0.001 (maximum filtering) to 1.000 (no filtering). | Float32 | - | 1 | RW |
| 1537 | 1 | Modbus address Register 1537 (address 0x0600), 1 to 247. The new address is activated on device restart. | UInt16 | - | 1 | RW |
| 1538 | 1 | Bit rate Register 1538 (address 0x0601): 5 = 9600, 6 = 19200, 7 = 38400, 8 = 57600 bit/s. Activated on restart. | UInt16 | - | 1 | RW |
| 1539 | 1 | Parity, data and stop bits Register 1539 (address 0x0602): 0 = none/8/1, 1 = none/8/2, 2 = even/8/1, 3 = even/8/2, 4 = odd/8/1, 5 = odd/8/2. Activated on restart. | UInt16 | - | 1 | RW |
| 1540 | 1 | Response delay Register 1540 (address 0x0603), 0 to 1020 ms. | UInt16 | ms | 1 | RW |
| 1541 | 1 | Protocol Register 1541 (address 0x0604): 6 = Modbus RTU. Activated on restart. | UInt16 | - | 1 | RW |
| 1542 | 1 | Restart device Register 1542 (address 0x0605): writing 1 restarts the device so the communication settings above take effect. | UInt16 | - | 1 | W |
| 513 | 1 | Error status Register 513 (address 0x0200): 0x0000 = one or more errors active, 0x0001 = no errors. | UInt16 | - | 1 | R |
| 516 | 2 | Error code Register 516 (address 0x0203), 32-bit integer; the error-code table gives the bit values (1 = temperature measurement error, 2 = humidity measurement error, 4 = humidity sensor failure, ... 16384 = calibration certificate checksum mismatch). | Int32 | - | 1 | R |
| 518 | 2 | Security hash Register 518 (address 0x0205), 32-bit integer; it changes when any device setting or adjustment changes. | UInt32 | - | 1 | R |
Read this device live with Modbus Connect, free for Windows, macOS and Linux
Related guides
Notes
RS-485 probe: Modbus RTU over RS-485, reached through a Modbus RTU-to-TCP gateway; the serial block holds the factory settings of a device ordered with the Modbus option. Source: Vaisala "HMP60 and HMP110 Series User Guide" M211060EN-N, chapters "Modbus reference" - "Communication settings" (19200 bit/s, parity None, 8 data bits, 2 stop bits, device address 240, Modbus RTU) and "Modbus registers" (measurement data registers, configuration registers, status registers). Addressing: the guide states that registers are numbered in decimal starting from 1 and that register number 1 corresponds to address 0x0 in the PDU, so this seed stores the printed register numbers with one-based addressing. Word order: the guide places the least significant 16 bits of a 32-bit value at the listed register and the most significant 16 bits at the next register ("little-endian" or "Modicon" word order), which is the LowFirst setting used here; the guide warns that a wrong floating point setting can produce correct-looking but wrong values. The integer rows are the fixed-point alternative to the floating point rows for the same value (the guide recommends the 32-bit register) and are listed with the scaling column it prints (value * 10); the guide's own interpretation table applies to them, so raw 32767 means the value is 32767 or larger, 32768 means not available, 32769 means -32767 or smaller, and any other raw value is a plain two's-complement integer. The registers are reached with function code 03 and written with function code 16; function code 43/14 serves the device identification objects, which are not registers and are therefore not listed. The guide notes that the HMP110T model measures temperature only.