- Home
- Modbus register maps
- Janitza
- UMG 96-S2 energy analyser (serial Modbus)
Power meter (energy analyser) · Modbus register map
Janitza UMG 96-S2 energy analyser (serial Modbus) Modbus register map
Updated 29 October 2026
The UMG 96-S2 is an energy analyser with a serial Modbus slave port (baud and framing set by parameters 1 and 2). Values are big-endian 32-bit floats that include the CT/VT ratios. This map covers the 19000-19120 'frequently required readings' block (volts, amps, power, PF, frequency, energy, THD), total power factor, the bus and transformer parameters, the digital output source and the reset commands.
This page lists 61 Modbus registers for the Janitza UMG 96-S2 energy analyser (serial Modbus) — 10 writable — with the table, 0-based wire address, data type, word order, scale, units and access of each, re-typed from Janitza’s own free documentation (linked below) and checked against it.
- Manufacturer
- Janitza
- Model
- UMG 96-S2 energy analyser (serial Modbus)
- Equipment type
- Power meter (energy analyser)
- Registers
- 61 (10 writable)
- Transport
- Modbus RTU
- Default unit ID
- Not stated
- Documented addressing
- 0-based (the number printed is the address on the wire)
- 32-bit word order
- ABCD high word first (big-endian)
- Also known as
- UMG96-S2, UMG 96 S2, UMG96S2, Janitza UMG96-S2
Integration notes: Janitza UMG 96-S2 energy analyser (serial Modbus)
Read holding registers (function 03) from 19000: the block gives volts, amps, power, power factor, frequency, energy and THD as big-endian floats. Set the bus address, baud rate and framing with parameters 0-2.
Minimum registers to map
Addresses are 0-based wire addresses. Enough to monitor and run the unit; map more as the job needs.
| Register | Name | Type | Why | Access |
|---|---|---|---|---|
| HR 19000 | Voltage L1-N | FLOAT32 ABCD | Voltage L1-N | Read |
| HR 19012 | Current L1 | FLOAT32 ABCD | Current L1 | Read |
| HR 19026 | Real power total | FLOAT32 ABCD | Total active power | Read |
| HR 1018 | Power factor total | FLOAT32 ABCD | Total power factor | Read |
| HR 19050 | Frequency | FLOAT32 ABCD | Frequency | Read |
| HR 19068 | Active energy L1-L3, consumed | FLOAT32 ABCD | Consumed active energy total | Read |
| HR 19076 | Active energy L1-L3, delivered | FLOAT32 ABCD | Delivered active energy total | Read |
Enable Modbus control & writes
Device address, baud rate and framing are parameters 0, 1 and 2, readable and writable over Modbus. The list gives no other enable step.
Byte order & addressing
- Addresses are used as printed (0-based).
- Floats are ABCD; add 32768 to an address to get the same value little-endian.
- Energy is in Wh and varh, not kWh.
- 19052 rotation field is an INT32, not a float.
Network setup
- Baud options: 9600, 19200, 38400 (parameter 1).
- Set CT and VT ratios (parameters 10-16) so the floats read in primary units.
- Write 1 to 507 to clear energy, or to 506 to clear min/max values.
Watch out for
- Framing parameter 2 mixes stop-bit and parity choices in one value; match the master to it exactly.
Janitza UMG 96-S2 energy analyser (serial Modbus) Modbus registers
Address = 0-based wire address (the documented number is shown under it when it differs) · Order: ABCD = high word first, CDAB = low word first · Scale: engineering value = raw × scale.
| Table | Address | Name | Description | Type | Order | Scale | Units | Access | Values / bits |
|---|---|---|---|---|---|---|---|---|---|
| HR | 0 | Device address | Modbus device address (printed range 0-255). | INT16 | Read/write | ||||
| HR | 1 | Baud rate | INT16 | Read/write | 0 = 9600; 1 = 19200; 2 = 38400 | ||||
| HR | 2 | Framing | Stop bits / parity. | INT16 | Read/write | 0 = 1 stop bit; 1 = 2 stop bits; 2 = Even parity; 3 = Odd parity | |||
| HR | 10 | CT primary | FLOAT32 | ABCD | A | Read/write | |||
| HR | 12 | CT secondary | 1 or 5 A. | FLOAT32 | ABCD | A | Read/write | ||
| HR | 14 | VT primary | FLOAT32 | ABCD | V | Read/write | |||
| HR | 16 | VT secondary | 100 or 400 V. | FLOAT32 | ABCD | V | Read/write | ||
| HR | 100 | Digital output 1 function | INT16 | Read/write | 0 = P (active power); 1 = Q (reactive power); 2 = S (apparent power); 3 = Off | ||||
| HR | 506 | Delete min/max values | Write 1 to clear stored minimum and maximum values. | INT16 | Read/write | ||||
| HR | 507 | Delete energy | Write 1 to clear the energy counters. | INT16 | Read/write | ||||
| HR | 1018 | Power factor total | Psum3 / Ssum3. | FLOAT32 | ABCD | Read | |||
| HR | 1038 | CosPhi total | FLOAT32 | ABCD | Read | ||||
| HR | 19000 | Voltage L1-N | FLOAT32 | ABCD | V | Read | |||
| HR | 19002 | Voltage L2-N | FLOAT32 | ABCD | V | Read | |||
| HR | 19004 | Voltage L3-N | FLOAT32 | ABCD | V | Read | |||
| HR | 19006 | Voltage L1-L2 | FLOAT32 | ABCD | V | Read | |||
| HR | 19008 | Voltage L2-L3 | FLOAT32 | ABCD | V | Read | |||
| HR | 19010 | Voltage L3-L1 | FLOAT32 | ABCD | V | Read | |||
| HR | 19012 | Current L1 | FLOAT32 | ABCD | A | Read | |||
| HR | 19014 | Current L2 | FLOAT32 | ABCD | A | Read | |||
| HR | 19016 | Current L3 | FLOAT32 | ABCD | A | Read | |||
| HR | 19018 | Neutral current (vector sum) | Calculated vector sum of the three phase currents. | FLOAT32 | ABCD | A | Read | ||
| HR | 19020 | Real power L1 | FLOAT32 | ABCD | W | Read | |||
| HR | 19022 | Real power L2 | FLOAT32 | ABCD | W | Read | |||
| HR | 19024 | Real power L3 | FLOAT32 | ABCD | W | Read | |||
| HR | 19026 | Real power total | Sum of L1-L3. | FLOAT32 | ABCD | W | Read | ||
| HR | 19028 | Apparent power L1 | FLOAT32 | ABCD | VA | Read | |||
| HR | 19030 | Apparent power L2 | FLOAT32 | ABCD | VA | Read | |||
| HR | 19032 | Apparent power L3 | FLOAT32 | ABCD | VA | Read | |||
| HR | 19034 | Apparent power total | Sum of L1-L3. | FLOAT32 | ABCD | VA | Read | ||
| HR | 19036 | Reactive power L1 | FLOAT32 | ABCD | var | Read | |||
| HR | 19038 | Reactive power L2 | FLOAT32 | ABCD | var | Read | |||
| HR | 19040 | Reactive power L3 | FLOAT32 | ABCD | var | Read | |||
| HR | 19042 | Reactive power total | Sum of L1-L3. | FLOAT32 | ABCD | var | Read | ||
| HR | 19044 | Power factor L1 | FLOAT32 | ABCD | Read | ||||
| HR | 19046 | Power factor L2 | FLOAT32 | ABCD | Read | ||||
| HR | 19048 | Power factor L3 | FLOAT32 | ABCD | Read | ||||
| HR | 19050 | Frequency | FLOAT32 | ABCD | Hz | Read | |||
| HR | 19052 | Rotation field | Integer here, not float. | INT32 | ABCD | Read | 0 = None; 1 = Clockwise; -1 = Anticlockwise | ||
| HR | 19054 | Active energy L1 | FLOAT32 | ABCD | Wh | Read | |||
| HR | 19056 | Active energy L2 | FLOAT32 | ABCD | Wh | Read | |||
| HR | 19058 | Active energy L3 | FLOAT32 | ABCD | Wh | Read | |||
| HR | 19060 | Active energy L1-L3 | Three-phase total, not split into consumed and delivered. | FLOAT32 | ABCD | Wh | Read | ||
| HR | 19062 | Active energy L1, consumed | FLOAT32 | ABCD | Wh | Read | |||
| HR | 19064 | Active energy L2, consumed | FLOAT32 | ABCD | Wh | Read | |||
| HR | 19066 | Active energy L3, consumed | FLOAT32 | ABCD | Wh | Read | |||
| HR | 19068 | Active energy L1-L3, consumed | FLOAT32 | ABCD | Wh | Read | |||
| HR | 19070 | Active energy L1, delivered | FLOAT32 | ABCD | Wh | Read | |||
| HR | 19072 | Active energy L2, delivered | FLOAT32 | ABCD | Wh | Read | |||
| HR | 19074 | Active energy L3, delivered | FLOAT32 | ABCD | Wh | Read | |||
| HR | 19076 | Active energy L1-L3, delivered | FLOAT32 | ABCD | Wh | Read | |||
| HR | 19084 | Apparent energy L1-L3 | FLOAT32 | ABCD | VAh | Read | |||
| HR | 19092 | Reactive energy L1-L3 | FLOAT32 | ABCD | varh | Read | |||
| HR | 19100 | Reactive energy inductive L1-L3 | FLOAT32 | ABCD | varh | Read | |||
| HR | 19108 | Reactive energy capacitive L1-L3 | FLOAT32 | ABCD | varh | Read | |||
| HR | 19110 | THD voltage L1-N | FLOAT32 | ABCD | % | Read | |||
| HR | 19112 | THD voltage L2-N | FLOAT32 | ABCD | % | Read | |||
| HR | 19114 | THD voltage L3-N | FLOAT32 | ABCD | % | Read | |||
| HR | 19116 | THD current L1 | FLOAT32 | ABCD | % | Read | |||
| HR | 19118 | THD current L2 | FLOAT32 | ABCD | % | Read | |||
| HR | 19120 | THD current L3 | FLOAT32 | ABCD | % | Read |
Notes on this map
- Byte order: the list says its addresses return data big-endian (high byte first, high word in the lower register = ABCD). Adding 32768 to an address returns the same value little-endian; that mirror block is not listed.
- Unlike other Janitza lists, 19044-19048 are printed as 'power factor' (not CosPhi), 19068 is the consumed L1-L3 total, and the rotation field 19052 is an int (signed 32-bit) rather than a float.
- Transfer parameters (p. 5): 9600, 19200 or 38400 baud, 8 data bits; the page names odd/even parity and 1 or 2 stop bits, while parameter 2 also offers stop-bit-only framing. The list gives no defaults, so defaults are left blank.
- Parameter 0 is printed with a range of 0-255 and a footnote mark whose text is not on the page; use 1-247 for a normal Modbus slave address.
- Left out: display, averaging-time and threshold parameters, the pulse valence at 102 (range given but no unit beyond 'e.g. imp/kWh'), tariff assignment bits, mean/min/max blocks, tariff energy and the double-type energy copies.
- The address list names no physical interface (RS-485) or framing mode (RTU); RTU is assumed from the serial baud/parity parameters. Confirm in the device user manual.
Check it against the live device. A register map tells you what the controller can expose; the unit in front of you may differ by firmware or options. Read a few registers and compare them with the unit’s own display; for a 32-bit value the float and byte-order decoder shows all four word orders at once, so a wrong word order or scale is obvious. New to this? Read what a register map is and why addresses are off by one.
Questions about the Janitza UMG 96-S2 energy analyser (serial Modbus)
What Modbus registers does the Janitza UMG 96-S2 energy analyser (serial Modbus) have?
This map lists 61 registers: 61 holding registers. 10 of them can be written. Registers vary with firmware, options and configuration, so confirm against the device.
Are the Janitza UMG 96-S2 energy analyser (serial Modbus) Modbus addresses 0-based or 1-based?
The manufacturer's document numbers registers 0-based (the number printed is the address on the wire). Every address on this page is the 0-based wire address you put in the request; the documented number is shown under it where it differs. Addresses are printed as the protocol address and sent unchanged: 19000 is requested as 19000. The parameter list starts at address 0 (device address), which only fits 0-based numbering. In a 1-based or Modicon tool enter 19001 / 419001.
What byte order does the Janitza UMG 96-S2 energy analyser (serial Modbus) use for 32-bit values?
Multi-register values in this map use ABCD (high word first (big-endian)). Set your client to this order for every 32/64-bit value in the table.
What are the minimum Modbus registers to integrate the Janitza UMG 96-S2 energy analyser (serial Modbus)?
Start with HR 19000 Voltage L1-N (Voltage L1-N); HR 19012 Current L1 (Current L1); HR 19026 Real power total (Total active power); HR 1018 Power factor total (Total power factor); HR 19050 Frequency (Frequency); HR 19068 Active energy L1-L3, consumed (Consumed active energy total); HR 19076 Active energy L1-L3, delivered (Delivered active energy total).
How do I enable Modbus control of the Janitza UMG 96-S2 energy analyser (serial Modbus)?
Device address, baud rate and framing are parameters 0, 1 and 2, readable and writable over Modbus. The list gives no other enable step.
Where is the official Janitza UMG 96-S2 energy analyser (serial Modbus) Modbus documentation?
The source is Energy Analyser UMG 96-S2 - Modbus-address list and Formulary (2.062.026.1.b), revision 2019-10, published free by Janitza at https://www.janitza.com/files/download/manuals/current/UMG96-S2/janitza-mal-umg96s2-en.pdf.
More Janitza Modbus register maps
- Power meter (power analyser)
Janitza UMG 104 power analyser (RS-485 Modbus RTU)
UMG 104 DIN-rail power analyser, firmware 1.268, per address list 1.041.006.1.e (01/2023).
Also known as: UMG104, UMG 104, Janitza UMG104 - Power meter (power quality analyser)
Janitza UMG 509-PRO power quality analyser (Modbus RTU / Modbus TCP)
UMG 509-PRO per Modbus address list 1.059.004.2.n (06/2024).
Also known as: UMG509-PRO, UMG 509PRO, UMG509PRO, Janitza UMG 509 - Power meter (power quality analyser)
Janitza UMG 512-PRO power quality analyser (Modbus RTU / Modbus TCP)
UMG 512-PRO power quality analyser, per address list 1.054.016.3.k (08/2023).
Also known as: UMG512-PRO, UMG 512, UMG512, UMG 512 PRO, Janitza UMG512-PRO - Power meter (power quality analyser)
Janitza UMG 604-PRO power analyser (Modbus RTU / Modbus TCP)
UMG 604-PRO from firmware release 5.028, per address list 1.033.034.e (08/2023).
Also known as: UMG604-PRO, UMG 604PRO, UMG604PRO, UMG 604-EP PRO, Janitza UMG 604 - Power meter (power quality analyser)
Janitza UMG 605-PRO power quality analyser (Modbus RTU / Modbus TCP)
UMG 605-PRO from firmware release 5.028, per address list 1.038.009.7.h (09/2022).
Also known as: UMG605-PRO, UMG 605PRO, UMG605PRO, Janitza UMG 605 - Power meter (power analyser)
Janitza UMG 96RM power analyser (basic device, RS-485 Modbus RTU)
UMG 96RM basic device from firmware release 1.14, per address list 1.040.034.t; the same list covers the shared registers of the -P, -CBM and -PN extensions. Other UMG 96RM variants (e.g. the Ethernet -E / -EL) are not covered by this list.
Also known as: UMG96RM, UMG 96 RM, UMG 96RM-P, UMG 96RM-CBM, UMG 96RM-PN, Janitza UMG96RM - Power meter (power analyser)
Janitza UMG 96RM-E power analyser (Ethernet, Modbus TCP / RTU)
UMG 96RM-E from firmware 3.01 / hardware release 104, per address list 1.040.085.8.n (06/2024).
Also known as: UMG96RM-E, UMG 96 RM-E, UMG96RME, Janitza UMG96RM-E
Source: Energy Analyser UMG 96-S2 - Modbus-address list and Formulary · 2.062.026.1.b · rev. 2019-10. Register numbers, types, scaling and units are reproduced as published; descriptions are our own.