WB-UPS v.3 Modbus register map
Description
| 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 | Description | Values | FW | |||
|---|---|---|---|---|---|---|---|
| Dec | Hex | Type | Access | Format | |||
| Backup power module state | |||||||
| 0 | 0x0000 | Input ⚡ | RO | u16 |
Battery state States other than Charging and Fully charged should be treated as alarms. |
0 — charging 1 — fully charged 2 — discharging 3 — fully discharged 4 — not charging |
|
| 1 | 0x0001 | Input ⚡ | RO | u16 | Temperature state | 0 — normal 1 — too low, operation prohibited 2 — low, discharge only 3 — high, discharge only 4 — too high, operation prohibited |
|
| 2 | 0x0002 | Input | RO | u16 | Input voltage | mV | |
| 3 | 0x0003 | Input | RO | u16 | Output voltage | mV | |
| 4 | 0x0004 | Input | RO | u16 | Battery voltage | mV | |
| 5 | 0x0005 | Input | RO | s16 | Battery current | mA | |
| 6 | 0x0006 | Input | RO | u16 | Current drawn by the device for battery charging | mA | |
| 7 | 0x0007 | Input | RO | u16 | Load current during battery operation | mA | |
| 8 | 0x0008 | Input | RO | u16 | Battery charge level | x0.01, % | |
| 23 | 0x0017 | Input | RO | u16 | Raw battery charge level | x0.01, % | 1.4.0 |
| 9 | 0x0009 | Input | RO | s16 | Battery temperature | x0.01, °C | |
| Backup power module control | |||||||
| 0 | 0x0000 | Coil | RW | bool | Load control in backup mode | 0 — off 1 — on |
|
| Backup power module parameters | |||||||
| 16 | 0x0010 | Holding | RW | u16 |
Output-voltage control mode.
When started with the button, output voltage is always 11.5 V. |
0 — automatic 1 — manual |
|
| 17 | 0x0011 | Holding | RW | u16 |
Output-voltage setpoint in manual mode. For correct operation, output voltage must be at least 0.7 V below input voltage. |
mV 9000 - 25600 (11500) |
|
| 18 | 0x0012 | Holding | RW | u16 | Battery charging current | mA 300 - 2000 (600) |
|
| 22 | 0x0016 | Holding | RW | u16 |
Parallel-connection mode. Allows multiple WB-UPS v.3 modules to increase output power. In this mode, output voltage may differ from its setpoint by 10% to distribute power evenly between modules. Use manual output-voltage control with the same setpoint on all parallel modules. |
0 - off 1 - enabled |
1.1.0 |
| Button state and press counters | |||||||
|
The WB-UPS v.3 button can control other devices through rules. With external power present, the button performs no action on the WB-UPS v.3 itself. Without external power, a long press turns the WB-UPS v.3 off. Press parameters are fixed:
| |||||||
| 0 | 0x0000 | Discrete Input ⚡ | RO | bool | WB-UPS v.3 enclosure button state | 0 — released 1 — pressed |
|
| 464 | 0x01D0 | Input ⚡ | RO | u16 | Short press counter | 0 − 65535 with wraparound |
|
| 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 | ||
| Calibration registers | |||||||
| 100 | 0x0064 | Holding | RW | u16 | Unlock writing to calibration registers.
To unlock, write value |
0 — writing prohibited 1 — writing allowed | |
| 352 | 0x0160 | Holding | RW | s16 | Charger Vbus k |
-32768 − 32767 (0)
|
|
| 353 | 0x0161 | Charger Vbus b | |||||
| 354 | 0x0162 | Charger Vbat k | |||||
| 355 | 0x0163 | Charger Vbat b | |||||
| 356 | 0x0164 | Charger Ibus k | |||||
| 357 | 0x0165 | Charger Ibus b | |||||
| 358 | 0x0166 | Charger Ibat k | |||||
| 359 | 0x0167 | Charger Ibat b | |||||
| 368 | 0x0170 | Holding | RW | s16 | Discharger Vbus k | ||
| 369 | 0x0171 | Discharger Vbus b | |||||
| 370 | 0x0172 | Discharger Vbat k | |||||
| 371 | 0x0173 | Discharger Vbat b | |||||
| 372 | 0x0174 | Discharger Ibus k | |||||
| 373 | 0x0175 | Discharger Ibus b | |||||
| 374 | 0x0176 | Discharger Ibat k | |||||
| 375 | 0x0177 | Discharger Ibat b | |||||
| 384 | 0x0180 | Holding | RW | s16 | Discharger Vout setpoint k | 1.1.0 | |
| 385 | 0x0181 | Discharger Vout setpoint b | |||||
| Service registers | |||||||
| 8 | 0x0008 | Discrete Input | RO | bool | Hardware temperature-protection state | 0 — normal 1 - protection tripped |
|
| 9 | 0x0009 | Discrete Input | RO | bool | Charger state | 0 - off 1 - enabled |
|
| 10 | 0x000A | Discharge converter state | |||||
| 10 | 0x000A | Input | RO | u16 | Current battery-charge current setpoint | mA | |
| 11 | 0x000B | Input | RO | u16 | Requested output-voltage setpoint | mV | |
| 12 | 0x000C | Input | RO | u16 | OCV | mV | |
| 13 | 0x000D | Input | RO | u16 | Actual output-voltage setpoint.
May differ from the requested value in parallel mode due to power reduction for balanced load sharing. This value is written to the discharge-converter IC. |
mV | 1.1.0 |
| 8 | 0x0008 | Coil | RW | bool | Restart charging algorithm.
Forces battery charging when battery voltage exceeds 7.8 V. Normally, charging starts below 7.8 V to extend battery life. |
Write 1to restart charging. | |
| 9 | 0x0009 | Coil | RW | bool | Disable button LED.
Not saved in nonvolatile memory. |
0 — enabled 1 — disabled |
|
| 19 | 0x0013 | Holding | RW | u16 | Battery discharge-current limit | mA 2000 - 6000 (4000) |
|
| 20 | 0x0014 | Holding | RW | u16 | VINREG setpoint | mV 4500 - 25600 (4500) |
|
| 21 | 0x0015 | Holding | RW | u16 | Charge counter | ×0.1 mAh | |
| 1024 | 0x0400 | Input | RO | u16 | Charger Vbus raw value | ||
| 1025 | 0x0401 | Charger Vbat raw value | |||||
| 1026 | 0x0402 | Charger Ibus raw value | |||||
| 1027 | 0x0403 | Charger Ibat raw value | |||||
| 1040 | 0x0410 | Input | RO | u16 | Discharger Vbus raw value | ||
| 1041 | 0x0411 | Discharger Vbat raw value | |||||
| 1042 | 0x0412 | Discharger Ibus raw value | |||||
| 1043 | 0x0413 | Discharger Ibat raw value | |||||
| 1056 | 0x0420 | Input | RO | u16 | Charger Vbus real filtered value | mV | |
| 1057 | 0x0421 | Charger Vbat real filtered value | |||||
| 1058 | 0x0422 | Charger Ibus real filtered value | mA | ||||
| 1059 | 0x0423 | Charger Ibat real filtered value | |||||
| 1072 | 0x0430 | Input | RO | u16 | Discharger Vbus real filtered value | mV | |
| 1073 | 0x0431 | Discharger Vbat real filtered value | |||||
| 1074 | 0x0432 | Discharger Ibus real filtered value | mA | ||||
| 1075 | 0x0433 | Discharger Ibat real filtered value | |||||
| 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 |
|
| 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 | |
| 113 | 0x0071 | Holding | RW | u16 | Delay before replying to a Modbus request | ms 0…254 (0) |
Only in firmware supporting Fast Modbus |
| 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 |
| 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 | |
| 304-319 | 0x0130-0x013F | Input | RO | string | Device batch number.
Available only on devices manufactured from 21 January 2026. |
Since firmware 1.3.0 | |
| 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 1.1.0 |
| 64256-64383 | 0xFB00-0xFB7F | Input | RO | u16 | FlashFS: free space per page | bytes | Since firmware 1.2.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 1.2.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 1.2.0 |
| 65509 | 0xFFE5 | Input | RO | u32 | Firmware update counter | Since firmware 1.2.0 | |