Janitza UMG 96-RM-E Modbus register map
Also searched as: UMG 96RM-E · UMG96RM-E
61 Modbus registers of the Janitza UMG 96-RM-E, with the address on the wire, the 30001-style reference, data type, byte order, unit and scale. Transcribed from UMG 96RM-E Modbus-address list and Formulary (from firmware 3.01 / hardware release 104, 07/2025).
Janitza UMG 96RM-E panel power analyser with Ethernet and RCM; 32-bit float readings from the common 19000 block.
- Device type
- Power analyser
- Registers
- 61
- Interfaces
- Modbus TCP, Modbus RTU
- Byte order (multi-register values)
- ABCD
- Serial settings
- 8 data bits, no parity, 2 stop bits; 9600 to 115200 baud
Hardware verification
Not yet verified on hardware. The map is transcribed from the vendor document and checked against it by script; check the first readings against the device display.
Connection notes
- Addresses are the list's register numbers, sent unchanged: Janitza's UMG address lists number from register 0 and give no example frame.
- Only the float block of frequently required readings (19000-19120) is transcribed; the list repeats many of these values at other addresses, as floats and as scaled shorts.
- Function 03 and 04 both read these registers; floats are big-endian (ABCD). The list says adding 32768 to an address returns the same value little-endian.
- Float and integer values include the configured current and voltage transformer ratios.
Registers
Grouped as in the vendor document.
Voltage 6 registers
| Name and key | Reference | Address | Type | Byte order | Unit | Scale |
|---|---|---|---|---|---|---|
Voltage L1-Nvoltage_l1_n | 419001 | 0x4A38 | float32 | ABCD | V | |
Voltage L2-Nvoltage_l2_n | 419003 | 0x4A3A | float32 | ABCD | V | |
Voltage L3-Nvoltage_l3_n | 419005 | 0x4A3C | float32 | ABCD | V | |
Voltage L1-L2voltage_l1_l2 | 419007 | 0x4A3E | float32 | ABCD | V | |
Voltage L2-L3voltage_l2_l3 | 419009 | 0x4A40 | float32 | ABCD | V | |
Voltage L1-L3voltage_l3_l1 | 419011 | 0x4A42 | float32 | ABCD | V |
Current 4 registers
| Name and key | Reference | Address | Type | Byte order | Unit | Scale |
|---|---|---|---|---|---|---|
Current I L1current_l1 | 419013 | 0x4A44 | float32 | ABCD | A | |
Current I L2current_l2 | 419015 | 0x4A46 | float32 | ABCD | A | |
Current I L3current_l3 | 419017 | 0x4A48 | float32 | ABCD | A | |
Vector sum; IN=I1+I2+I3current_vector_sum | 419019 | 0x4A4A | float32 | ABCD | A |
Power 12 registers
| Name and key | Reference | Address | Type | Byte order | Unit | Scale |
|---|---|---|---|---|---|---|
Real power P1 L1Nactive_power_l1 | 419021 | 0x4A4C | float32 | ABCD | W | |
Real power P2 L2Nactive_power_l2 | 419023 | 0x4A4E | float32 | ABCD | W | |
Real power P3 L3Nactive_power_l3 | 419025 | 0x4A50 | float32 | ABCD | W | |
Sum; Psum3=P1+P2+P3active_power_total | 419027 | 0x4A52 | float32 | ABCD | W | |
Apparent power S1 L1Napparent_power_l1 | 419029 | 0x4A54 | float32 | ABCD | VA | |
Apparent power S2 L2Napparent_power_l2 | 419031 | 0x4A56 | float32 | ABCD | VA | |
Apparent power S3 L3Napparent_power_l3 | 419033 | 0x4A58 | float32 | ABCD | VA | |
Sum; Ssum3=S1+S2+S3apparent_power_total | 419035 | 0x4A5A | float32 | ABCD | VA | |
Fund. reactive power Q1 L1Nreactive_power_l1 | 419037 | 0x4A5C | float32 | ABCD | var | |
Fund. reactive power Q2 L2Nreactive_power_l2 | 419039 | 0x4A5E | float32 | ABCD | var | |
Fund. reactive power Q3 L3Nreactive_power_l3 | 419041 | 0x4A60 | float32 | ABCD | var | |
Sum; Qsum3=Q1+Q2+Q3reactive_power_total | 419043 | 0x4A62 | float32 | ABCD | var |
Frequency 1 registers
| Name and key | Reference | Address | Type | Byte order | Unit | Scale |
|---|---|---|---|---|---|---|
Measured frequencyfrequency | 419051 | 0x4A6A | float32 | ABCD | Hz |
Energy 28 registers
| Name and key | Reference | Address | Type | Byte order | Unit | Scale |
|---|---|---|---|---|---|---|
Real energy L1active_energy_l1 | 419055 | 0x4A6E | float32 | ABCD | Wh | |
Real energy L2active_energy_l2 | 419057 | 0x4A70 | float32 | ABCD | Wh | |
Real energy L3active_energy_l3 | 419059 | 0x4A72 | float32 | ABCD | Wh | |
Real energy L1..L3active_energy_total | 419061 | 0x4A74 | float32 | ABCD | Wh | |
Real energy L1, consumedactive_energy_consumed_l1 | 419063 | 0x4A76 | float32 | ABCD | Wh | |
Real energy L2, consumedactive_energy_consumed_l2 | 419065 | 0x4A78 | float32 | ABCD | Wh | |
Real energy L3, consumedactive_energy_consumed_l3 | 419067 | 0x4A7A | float32 | ABCD | Wh | |
Real energy L1..L3, consumedactive_energy_consumed_total | 419069 | 0x4A7C | float32 | ABCD | Wh | |
Real energy L1, deliveredactive_energy_delivered_l1 | 419071 | 0x4A7E | float32 | ABCD | Wh | |
Real energy L2, deliveredactive_energy_delivered_l2 | 419073 | 0x4A80 | float32 | ABCD | Wh | |
Real energy L3, deliveredactive_energy_delivered_l3 | 419075 | 0x4A82 | float32 | ABCD | Wh | |
Real energy L1..L3, deliveredactive_energy_delivered_total | 419077 | 0x4A84 | float32 | ABCD | Wh | |
Apparent energy L1apparent_energy_l1 | 419079 | 0x4A86 | float32 | ABCD | VAh | |
Apparent energy L2apparent_energy_l2 | 419081 | 0x4A88 | float32 | ABCD | VAh | |
Apparent energy L3apparent_energy_l3 | 419083 | 0x4A8A | float32 | ABCD | VAh | |
Apparent energy L1..L3apparent_energy_total | 419085 | 0x4A8C | float32 | ABCD | VAh | |
Reactive energy L1reactive_energy_l1 | 419087 | 0x4A8E | float32 | ABCD | varh | |
Reactive energy L2reactive_energy_l2 | 419089 | 0x4A90 | float32 | ABCD | varh | |
Reactive energy L3reactive_energy_l3 | 419091 | 0x4A92 | float32 | ABCD | varh | |
Reactive energy L1..L3reactive_energy_total | 419093 | 0x4A94 | float32 | ABCD | varh | |
Reactive energy ind. L1reactive_energy_inductive_l1 | 419095 | 0x4A96 | float32 | ABCD | varh | |
Reactive energy ind. L2reactive_energy_inductive_l2 | 419097 | 0x4A98 | float32 | ABCD | varh | |
Reactive energy ind. L3reactive_energy_inductive_l3 | 419099 | 0x4A9A | float32 | ABCD | varh | |
Reactive energy ind. L1..L3reactive_energy_inductive_total | 419101 | 0x4A9C | float32 | ABCD | varh | |
Reactive energy cap. L1reactive_energy_capacitive_l1 | 419103 | 0x4A9E | float32 | ABCD | varh | |
Reactive energy cap. L2reactive_energy_capacitive_l2 | 419105 | 0x4AA0 | float32 | ABCD | varh | |
Reactive energy cap. L3reactive_energy_capacitive_l3 | 419107 | 0x4AA2 | float32 | ABCD | varh | |
Reactive energy cap. L1..L3reactive_energy_capacitive_total | 419109 | 0x4AA4 | float32 | ABCD | varh |
Status 1 registers
| Name and key | Reference | Address | Type | Byte order | Unit | Scale |
|---|---|---|---|---|---|---|
Rotation field; 1=right, 0=none, -1=leftrotation_field | 419053 | 0x4A6C | float32 | ABCD |
Power factor 3 registers
| Name and key | Reference | Address | Type | Byte order | Unit | Scale |
|---|---|---|---|---|---|---|
CosPhi; UL1 IL1 (fundamental comp.)cos_phi_l1 | 419045 | 0x4A64 | float32 | ABCD | ||
CosPhi; UL2 IL2 (fundamental comp.)cos_phi_l2 | 419047 | 0x4A66 | float32 | ABCD | ||
CosPhi; UL3 IL3 (fundamental comp.)cos_phi_l3 | 419049 | 0x4A68 | float32 | ABCD |
Harmonics 6 registers
| Name and key | Reference | Address | Type | Byte order | Unit | Scale |
|---|---|---|---|---|---|---|
Harmonic, THD U L1-Nthd_voltage_l1_n | 419111 | 0x4AA6 | float32 | ABCD | % | |
Harmonic, THD U L2-Nthd_voltage_l2_n | 419113 | 0x4AA8 | float32 | ABCD | % | |
Harmonic, THD U L3-Nthd_voltage_l3_n | 419115 | 0x4AAA | float32 | ABCD | % | |
Harmonic, THD I L1thd_current_l1 | 419117 | 0x4AAC | float32 | ABCD | % | |
Harmonic, THD I L2thd_current_l2 | 419119 | 0x4AAE | float32 | ABCD | % | |
Harmonic, THD I L3thd_current_l3 | 419121 | 0x4AB0 | float32 | ABCD | % |
Source documents
- UMG 96RM-E Modbus-address list and Formulary , Janitza electronics GmbH, 1.040.085.8.o, from firmware 3.01 / hardware release 104, 07/2025 (accessed 2026-11-09) Section "Frequently required readings", page 19.
Read it by name
Read the UMG 96-RM-E with an AI assistant
The Proxus Industrial MCP Server includes this map. Set it on the device, and Claude, Cursor or VS Code reads registers by key with the right type, byte order, scale and unit. It only reads.
proxus-mcp.json
{
"devices": {
"umg-1": {
"protocol": "modbus-tcp",
"host": "192.168.10.40",
"unit_id": 1,
"map": "janitza/umg-96-rm-e"
}
}
} Ask your assistant
Read voltage_l1_n, voltage_l2_n, voltage_l3_n from umg-1.
The tool call it makes
read_named(device: "umg-1", keys: ["voltage_l1_n", "voltage_l2_n", "voltage_l3_n"]) Have this device? Verify the map.
Ask your assistant to run verify_device_map. It reads every register once, read-only, checks that the values are plausible and asks you to compare two values with the display. You get a report and a prefilled GitHub issue to submit; your name goes on this map’s verified list.
Collecting from many devices?
Proxus reads Modbus TCP and RTU devices next to the machines, keeps the history and delivers the values to dashboards, databases and AI.