Reference · English
WB-MIR v.3 Modbus register map
Description
Register map WB-MIR v3 Registers contains the complete list of available registers, their addresses, data types, access modes and allowed values. Use this information to integrate the device with Modbus controllers and automation systems. Registers are grouped by function to simplify parameter lookup and configuration.
IR-related registers are described in detail in Using the IR transceiver in WB-MSW and WB-MIR.
| RO / RW | Read only / Read/Write |
| Shown in bold | Default register value |
| xN | Multiply the register value by this factor to obtain the value in the stated units.
If omitted, assume 1 |
| ⚡ | This register supports data transmission using events in Fast Modbus. |
| FW | Firmware version that introduced the register. Blank means it has always been available. |
| Error: | Value on error |
| Grey cell | Service register: purpose, format and contents may change in later firmware |
| Address | Register parameters | Channel | Description | Values | FW | |||
|---|---|---|---|---|---|---|---|---|
| Dec | Hex | Type | Access | Format | ||||
| 0 | 0x0000 | Discrete input | RO | u16 | Current state of the 1W input |
0 — open or 1-Wire mode selected, |
||
| 8 | 0x0008 | Holding | RW | u16 | Communication loss timeout | s, 1 - 65534 (10) |
4.32.1 | |
| 100 | 0x0064 | Holding | RW | u16 | Reset input activation counter | 1 - reset counter | ||
| 275 | 0x0113 | Holding | RW | u16 | 1W input mode |
0 — 1-wire, |
||
| 277 | 0x0115 | Input | RO | u16 | 1W input activation counter | |||
| 340 | 0x0154 | Holding | RW | u16 | Input debounce time | ms, 0 - 100 (50) |
||
| 375 | 0x0177 | Input | RO | u8 | Infrared transceiver present | 0 or 1 | ||
| 464 | 0x01D0 | Input ⚡ | RO | u16 | Short-press counter | |||
| 480 | 0x01E0 | Input ⚡ | RO | u16 | Long-press counter | |||
| 496 | 0x01F0 | Input ⚡ | RO | u16 | Double-press counter | |||
| 512 | 0x0200 | Input ⚡ | RO | u16 | Short-then-long-press counter | |||
| 956 | 0x03BC | Holding | RW | u8 | Action in safe mode | 0 - do nothing, 1 - play an IR command |
4.32.1 | |
| 957 | 0x03BD | Holding | RW | u8 | IR command number in safe mode | 1 - 80 (1) | 4.32.1 | |
| 1100 | 0x044C | Holding | RW | u16 | Long press time | ms 500 - 5000 (1000) |
||
| 1140 | 0x0474 | Holding | RW | u16 | Second press waiting time | ms 0 - 2000 (300) |
||
| 1-Wire sensors | ||||||||
| 24 | 0x0018 | Coil | RW | bool | Input 1 | Save newly detected sensors | 1 — save new sensors | 4.35.0 |
| 32 | 0x0020 | Coil | RW | bool | Save newly detected sensors on all inputs | 1 — save new sensors | 4.35.0 | |
| 16 | 0x0010 | Discrete input | RO | bool | Input 1 | Sensor polling status on the input. The sensor is polled without assignment by ID; this register is valid only with one sensor on the input |
0 — sensor missing or polling errors, 1 — sensor connected and polled successfully |
|
| 128 - 147 | 0x0080 - 0x0093 | Discrete input | RO | bool | Input 1 | Polling status of sensor 1–20. The sensor whose ID is stored in the corresponding assignment slot is polled (see Sensor ID 1–20 registers) |
0 — empty slot, sensor not found on bus, or polling errors, 1 — sensor connected and polled successfully |
4.35.0 |
| 7 | 0x0007 | Input | RO | s16 | Input 1 | DS18B20 sensor temperature. Valid only with one sensor on the input. Includes the correction assigned to the first slot |
x0.0625, °C Error: 0x7FFF |
|
| 20 | 0x0014 | Input | RO | s16 | Input 1 | Last valid DS18B20 temperature reading. Valid only with one sensor on the input. Includes the correction assigned to the first slot |
x0.0625, °C | 4.35.0 |
| 99 | 0x0063 | Holding | RW | u16 | DS18B20 erroneous-value filter. A reading of 85 °C is rejected if it differs from the previous reading by more than the filter threshold. |
x0.0625, °C 0 — filter disabled, 1…19200 (32) |
||
| 101 | 0x0065 | Holding | RW | u16 | Temperature sensor polling interval. When changing this parameter, also change the coefficient in register 99. | s, 1 - 60 (2) |
||
| 376 | 0x0178 | Input | RO | u8 | Input 1 | 1-Wire sensor present | 0 or 1 | |
| 448 | 0x01C0 | Input | RO | u8 | Input 1 | DS18B20 power status. May work incorrectly with some clone sensors |
1 — all sensors externally powered, 0 — at least one sensor uses parasitic power |
|
| 456 | 0x01C8 | Input | RO | u16 | Input 1 | Line-busy error counter | ||
| 1536 - 1555 | 0x0600 - 0x0613 | Input | RO | s16 | Input 1 | Sensor 1–20 temperature including correction | x0.0625, °C Error: 0x7FFF |
4.35.0 |
| 1616 - 1635 | 0x0650 - 0x0663 | Holding | RW | s16 | Input 1 | Sensor 1–20 temperature correction. Added to the sensor reading. Assigned to the slot, not the sensor ID: replacing the sensor in a slot retains the correction |
x0.0625, °C −160 to 160 (0), equivalent to ±10 °C |
≥ 4.36.0 |
| 1696 - 1715 | 0x06A0 - 0x06B3 | Input | RO | s16 | Input 1 | Sensor 1–20 temperature without correction | x0.0625, °C Error: 0x7FFF |
≥ 4.36.0 |
| 3328 | 0x0D00 | Input | RO | u8 | Input 1 | Number of newly detected sensors | 4.35.0 | |
| 3336 | 0x0D08 | Input | RO | u8 | Input 1 | Number of newly saved sensors | 4.35.0 | |
| 3344 | 0x0D10 | Input | RO | u8 | Input 1 | Number of detected sensors | 4.35.0 | |
| 3584 - 3603 | 0x0E00 - 0x0E13 | Input | RO | s16 | Input 1 | Last valid temperature of sensor 1–20 including correction | x0.0625, °C | 4.35.0 |
| 3680 - 3759 | 0x0E60 - 0x0EAF | Input | RO | u64 | Input 1 | ID of newly detected sensor 1–20 (4 registers per sensor) | byte 0 — family code, bytes 1–6 — serial number, byte 7 — reserved (0) 0 — sensor absent |
4.35.0 |
| 4352 - 4431 | 0x1100 - 0x114F | Input | RO | u64 | Input 1 | ID of detected sensor 1–20 (4 registers per sensor) | byte 0 — family code, bytes 1–6 — serial number, byte 7 — reserved (0) 0 — sensor absent |
4.35.0 |
| 5632 - 5711 | 0x1600 - 0x164F | Holding | RW | u64 | Input 1 | Sensor ID 1–20 — input assignment slot (4 registers per sensor) | byte 0 — family code, bytes 1–6 — serial number, byte 7 — reserved (0) 0 — sensor unused |
4.35.0 |
| Address | Register parameters | Description | Values | Note | |||
|---|---|---|---|---|---|---|---|
| Dec | Hex | Type | Access | Format | |||
| Connection settings | |||||||
| 110 | 0x006E | Holding | RW | u16 | RS-485 baud rate. RS-485 connection parameter settings |
×100, baud 12 — 1200 bit/s, 24 — 2400 bit/s, 48 — 4800 bit/s, 96 — 9600 bit/s, 192 — 19200 bit/s, 384 — 38400 bit/s, 576 — 57600 bit/s, 1152 — 115200 bit/s |
|
| 111 | 0x006F | Holding | RW | u16 | RS-485 parity setting | 0 — no parity (none), 1 — odd, 2 — even |
|
| 112 | 0x0070 | Holding | RW | u16 | RS-485 stop bits See: stop-bit tolerance |
1, 2 | |
| 128 | 0x0080 | Holding | RW | u16 | Device Modbus address (details) | ||
| Device model and firmware version | |||||||
| 200-205 | 0x00C8 - 0x00CD | Input | RO | string | Device model | ||
| 206-219 | 0x00CE - 0x00DB | Input | RO | string | Device model extension. | Read 20 registers (200–219) to obtain the device model | Only in firmware supporting Fast Modbus |
| 220-244 | 0x00DC - 0x00F4 | Input | RO | string | Firmware build commit hash and branch name (2 characters per register) | ||
| 250-265 | 0x00FA - 0x0109 | Input | RO | string | Firmware version | ||
| 266-269 | 0x010A - 0x010D | Input | RO | u64 | Serial number extension | ||
| 270-271 | 0x010E - 0x010F | Input | RO | u32 | Serial number | ||
| 290-301 | 0x0122 - 0x012D | Input | RO | string | Firmware signature | ||
| 320 | 0x0140 | Input | RO | u16 | Firmware version in numeric format (details) | MAJOR | Only in firmware supporting Fast Modbus |
| 321 | 0x0141 | MINOR | |||||
| 322 | 0x0142 | PATCH | |||||
| 323 | 0x0143 | s16 | SUFFIX | ||||
| 324-325 | 0x0144 - 0x0145 | Input | RO | u32 | Firmware version in numeric format | Only in firmware supporting Fast Modbus | |
| 326-327 | 0x0146 - 0x0147 | Input | RO | u32 | Firmware version in big-endian format | Only in firmware supporting Fast Modbus | |
| Other information | |||||||
| 104-105 | 0x0068 - 0x0069 | Input | RO | u32 | Uptime since boot | seconds | |
| 120 | 0x0078 | Holding | RW | u16 | Reboot device without saving state | Any non-zero value reboots the device | |
| 129 | 0x0081 | Holding | RW | u16 | Enter firmware update mode for 2 minutes | Any non-zero value enters firmware update mode | |
| 330-337 | 0x014A - 0x0151 | Input | RO | string | Bootloader version | ||
| 130 | 0x0082 | Holding | RW | u16 | Disable Status LED | 0 — enabled 1 — disabled |
|
| 113 | 0x0071 | Holding | RW | u16 | Delay before replying to a Modbus request | ms 0…254 (0) |
Only in firmware supporting Fast Modbus |
| 131 | 0x0083 | Holding | RW | u16 | Enter firmware update mode using the current communication settings. To check whether the firmware and bootloader support this feature, read this register. If reading succeeds and returns 0, the feature is supported.
|
Writing 1 enters firmware update mode | |
| 114 | 0x0072 | Holding | RW | u16 | Continuous reading across register gaps | 0 — disabled 1 — enabled 2 — enabled persistently across reboots |
Only in firmware supporting Fast Modbus |
| 121 | 0x0079 | Input | RO | u16 | Current supply voltage | mV | |
| 122 | 0x007A | Input | RO | u16 | Minimum supply voltage since boot, without averaging | mV | |
| 125 | 0x007D | Input | RO | u16 | Current supply voltage, without averaging | mV | |
| 119 | 0x0077 | Input | RO | u16 | Minimum microcontroller supply voltage since boot, before averaging | mV | |
| 123 | 0x007B | Input | RO | u16 | Microcontroller supply voltage | mV | |
| 124 | 0x007C | Input | RO | s16 | Internal microcontroller temperature | x0.1, °C | |
| 65402 | 0xFF7A | Holding | RW | u16 | Reset device settings to defaults. Communication settings are retained. The device reboots after the reset. |
Writing 1 resets the settings | Since firmware 4.33.0 |
| 304-319 | 0x0130-0x013F | Input | RO | string | Device batch number.
Available only on devices manufactured from 21 January 2026. |
Since firmware 4.34.0 | |
| 64256-64383 | 0xFB00-0xFB7F | Input | RO | u16 | FlashFS: free space per page | bytes | Since firmware 4.34.0 |
| 64384-64511 | 0xFB80-0xFBFF | Input | RO | u16 | FlashFS: total size of current files per page | bytes | |
| 64512-64639 | 0xFC00-0xFC7F | Input | RO | u16 | FlashFS: page fragmentation | 0…100 % 0 — all data is current, 100 — no current data | |
| 64640-64767 | 0xFC80-0xFCFF | Input | RO | u16 | FlashFS: page erase counter | ||
| 65504 | 0xFFE0 | Input | RO | u16 | Maximum stack usage | bytes 0 — stack corrupted |
Since firmware 4.34.0 |
| 65505 | 0xFFE1 | Input | RO | u16 | Free RAM | bytes | |
| 65506 | 0xFFE2 | Input | RO | u16 | Used RAM | bytes | |
| 65507 | 0xFFE3 | Input | RO | u16 | Stack size | bytes | |
| 65508 | 0xFFE4 | Input | RO | u16 | Cause of last MCU reset | 1 — LPWR, 2 — WWDG, 3 — IWDG, 4 — SFT, 5 — POR, 6 — PIN, 7 — OBL, 8 — V18PWR |
Since firmware 4.34.0 |
| 65509 | 0xFFE5 | Input | RO | u32 | Firmware update counter | Since firmware 4.34.0 | |