Liebert/Vertiv UPS (IntelliSlot Modbus)
Register map(s) for this device, with a note of how far each has been checked. Addresses are
0-based, as on the wire. Scale and byte order are confirmed only at the hardware-verified rung.
coherence-checked
Round-trips through a real Modbus stack with no overlapping addresses and a word-order-sensitive codec — the map is internally coherent and wire-decodable. Does NOT prove byte-order or scaling match a real device: the emulator is seeded from the map's own types, so a uniformly wrong byte-order still round-trips. Only hardware-verified confirms byte-order/scale on the wire.
| point | address (0-based) | type | scale | unit |
| voltage_in_x_y | 0 | U16 | 1 | |
| voltage_in_y_z | 1 | U16 | 1 | |
| voltage_in_z_x | 2 | U16 | 1 | |
| voltage_out_a_b | 3 | U16 | 1 | |
| voltage_out_b_c | 4 | U16 | 1 | |
| voltage_out_c_a | 5 | U16 | 1 | |
| voltage_out_a_n | 6 | U16 | 1 | |
| voltage_out_b_n | 7 | U16 | 1 | |
| voltage_out_c_n | 8 | U16 | 1 | |
| current_out_a | 9 | U16 | 1 | |
| current_out_b | 10 | U16 | 1 | |
| current_out_c | 11 | U16 | 1 | |
| ground_current | 12 | U16 | 0.1 | |
| neutral_current | 13 | U16 | 1 | |
| kva | 14 | U16 | 1 | |
| kw | 15 | U16 | 1 | |
| frequency | 16 | U16 | 0.1 | |
| percent_capacity_a | 17 | U16 | 1 | |
| percent_capacity_b | 18 | U16 | 1 | % |
| percent_capacity_c | 19 | U16 | 1 | deg C |
| power_factor | 20 | U16 | 0.01 | deg C |
link settings as documented (unverified): RTU; baud 9600/19200/38400; FC 01,02,03,04,05,06,15,16; Supports EIA-485/422 2 wire physical port.
bench facts as documented (unverified)
| terminals | 2 wire |
| connector | EIA-485/422 |
| wiring notes | Supports EIA-485/422 2 wire physical port. |
| max registers/read | 127 |
| protocol notes | Write Multiple Registers supports writing values into a block of contiguous registers (1 to 120). |
| doc revision | SL-28170_REV11_03-14 |
field reports — community-sourced, unverified (checked 2026-06-11)
- Users attempting to read registers on specific models (e.g., Liebert GXT5) may encounter IllegalAddress errors if they attempt to read holding registers (FC 03) instead of input registers (FC 04) as specified in the manual. [source]
- On some Liebert GXT MTX+ models, users report being unable to read discrete input status bits (starting at 10002 / 10042) using standard Modbus scanners, while holding registers are accessible. [source]
- Frequency and Power Factor registers require scaling (divided by 10 and 100 respectively) to obtain the actual values, which can cause integration confusion if not handled in the client. [source]
- confirmed: comms defaults (baud rates 9600/19200/38400, RTU framing, parity N, stop bits 1, EIA-485/422 2-wire physical port) — confirmed by Table 2.1 of SL-28170 [12.1.2]
- confirmed: function codes [1, 2, 3, 4, 5, 6, 15, 16] — confirmed by Table 2.2 of SL-28170
- confirmed: quirks (max_read_registers: 127, Write Multiple Registers supports writing values into a block of contiguous registers 1 to 120) — confirmed by Section 2.3 of SL-28170
- confirmed: register map summary (voltage_in_x_y @ 0, voltage_in_y_z @ 1, etc.) — confirmed by Table 3.42 (FPC, PPC—Input and Holding—PMP2) and Table 30 (Liebert PowerSure Interactive) of SL-28170
The trust ladder
Each rung states what it proved and what it did not. Gray until proven; green is earned by hardware only.
- generated — A prompt produced it. Unproven — anyone can regenerate this.
- structure-verified — Decode path is structurally sound (addresses, widths, finite values). Does NOT prove word order or scaling.
- coherence-checked — Round-trips through a real Modbus stack with no overlapping addresses and a word-order-sensitive codec — the map is internally coherent and wire-decodable. Does NOT prove byte-order or scaling match a real device: the emulator is seeded from the map's own types, so a uniformly wrong byte-order still round-trips. Only hardware-verified confirms byte-order/scale on the wire.
- hardware-verified (software-key) x1 — Matched a real device with operator-attested readings as ground truth — the only rung that confirms word order + scaling on the wire.