Janitza UMG 509-PRO Modbus register map
Also searched as: UMG509-PRO
61 Modbus registers of the Janitza UMG 509-PRO, with the address on the wire, the 30001-style reference, data type, byte order, unit and scale. Transcribed from UMG 509-PRO Modbus-address and Formulary (06/2025).
Janitza UMG 509-PRO panel power quality analyser; 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 L3-L1voltage_l3_l1 | 419011 | 0x4A42 | float32 | ABCD | V |
Current 4 registers
| Name and key | Reference | Address | Type | Byte order | Unit | Scale |
|---|---|---|---|---|---|---|
Apparent current, L1current_l1 | 419013 | 0x4A44 | float32 | ABCD | A | |
Apparent current, L2current_l2 | 419015 | 0x4A46 | float32 | ABCD | A | |
Apparent current, 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 L1active_power_l1 | 419021 | 0x4A4C | float32 | ABCD | W | |
Real power L2active_power_l2 | 419023 | 0x4A4E | float32 | ABCD | W | |
Real power L3active_power_l3 | 419025 | 0x4A50 | float32 | ABCD | W | |
Sum; Psum3=P1+P2+P3active_power_total | 419027 | 0x4A52 | float32 | ABCD | W | |
Apparent power L1apparent_power_l1 | 419029 | 0x4A54 | float32 | ABCD | VA | |
Apparent power L2apparent_power_l2 | 419031 | 0x4A56 | float32 | ABCD | VA | |
Apparent power L3apparent_power_l3 | 419033 | 0x4A58 | float32 | ABCD | VA | |
Sum; Ssum3=S1+S2+S3apparent_power_total | 419035 | 0x4A5A | float32 | ABCD | VA | |
Reactive power (mains frequ.) L1reactive_power_l1 | 419037 | 0x4A5C | float32 | ABCD | var | |
Reactive power (mains frequ.) L2reactive_power_l2 | 419039 | 0x4A5E | float32 | ABCD | var | |
Reactive power (mains frequ.) L3reactive_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, consumed, rate 1active_energy_consumed_total_rate_1 | 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 | |
Reaktive energy L1reactive_energy_l1 | 419087 | 0x4A8E | float32 | ABCD | varh | |
Reaktive energy L2reactive_energy_l2 | 419089 | 0x4A90 | float32 | ABCD | varh | |
Reaktive energy L3reactive_energy_l3 | 419091 | 0x4A92 | float32 | ABCD | varh | |
Reaktive energy L1..L3reactive_energy_total | 419093 | 0x4A94 | float32 | ABCD | varh | |
Reactive energy L1, inductivereactive_energy_inductive_l1 | 419095 | 0x4A96 | float32 | ABCD | varh | |
Reactive energy L2, inductivereactive_energy_inductive_l2 | 419097 | 0x4A98 | float32 | ABCD | varh | |
Reactive energy L3, inductivereactive_energy_inductive_l3 | 419099 | 0x4A9A | float32 | ABCD | varh | |
Reactive energy L1..L3, ind.reactive_energy_inductive_total | 419101 | 0x4A9C | float32 | ABCD | varh | |
Reactive energy L1, capacitivereactive_energy_capacitive_l1 | 419103 | 0x4A9E | float32 | ABCD | varh | |
Reactive energy L2, capacitivereactive_energy_capacitive_l2 | 419105 | 0x4AA0 | float32 | ABCD | varh | |
Reactive energy L3, capacitivereactive_energy_capacitive_l3 | 419107 | 0x4AA2 | float32 | ABCD | varh | |
Reactive energy L1..L3, cap.reactive_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 |
|---|---|---|---|---|---|---|
Fund.power factor, CosPhi; UL1 IL1cos_phi_l1 | 419045 | 0x4A64 | float32 | ABCD | ||
Fund.power factor, CosPhi; UL2 IL2cos_phi_l2 | 419047 | 0x4A66 | float32 | ABCD | ||
Fund.power factor, CosPhi; UL3 IL3cos_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 509-PRO Modbus-address and Formulary , Janitza electronics GmbH, 1.059.004.2.o, 06/2025 (accessed 2026-11-09) Section "Frequently required readings", pages 11-12.
Read it by name
Read the UMG 509-PRO 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-509-pro"
}
}
} 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.