{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "Janitza",
  "model": "UMG 96RM-E",
  "models": ["UMG 96RM-E", "UMG96RM-E"],
  "vendor_website": "janitza.com",
  "description": "96 mm panel power analyser with Ethernet (Modbus TCP) and RS-485 (Modbus RTU)",
  "revision": 2,
  "revised": "2026-10-17",
  "firmware": "from firmware 3.01, hardware release 104",
  "source": "Janitza electronics, \"UMG 96RM-E Modbus address list\" (2024-06)",
  "sources": [{"title": "UMG 96RM-E Modbus address list", "url": "https://www.janitza.com/files/download/manuals/current/UMG96RM/E/janitza-mal-umg96rme-en.pdf", "note": "frequently required readings (19000-19120) and parameter table", "date": "2024-06"}],
  "notes": [
    "Addresses are the protocol addresses of the address list; all values are holding registers (FC03 read, FC06/FC16 write).",
    "Values are big-endian; the device also serves them little-endian at the same address + 32768.",
    "Not in this map: the rest of the address list (200 ms values, mean, minimum and maximum values, Fourier analysis, configuration); this map covers the frequently required readings block.",
    "Parameter registers 0-50 can also be set with the device buttons."
  ],
  "protocol": "tcp+rtu",
  "unit_id": 1,
  "port": 502,
  "baudrate": 115200,
  "parity": "N",
  "databits": 8,
  "stopbits": 1,
  "byte_order": "big",
  "word_order": "big",
  "address_base": 0,
  "x_status": "official",
  "registers": [
    {"name": "Voltage L1-N", "group": "Measurements", "area": "holding", "address": 19000, "type": "float32", "unit": "V", "access": "R"},
    {"name": "Voltage L2-N", "group": "Measurements", "area": "holding", "address": 19002, "type": "float32", "unit": "V", "access": "R"},
    {"name": "Voltage L3-N", "group": "Measurements", "area": "holding", "address": 19004, "type": "float32", "unit": "V", "access": "R"},
    {"name": "Voltage L1-L2", "group": "Measurements", "area": "holding", "address": 19006, "type": "float32", "unit": "V", "access": "R"},
    {"name": "Voltage L2-L3", "group": "Measurements", "area": "holding", "address": 19008, "type": "float32", "unit": "V", "access": "R"},
    {"name": "Voltage L1-L3", "group": "Measurements", "area": "holding", "address": 19010, "type": "float32", "unit": "V", "access": "R"},
    {"name": "Current I L1", "group": "Measurements", "area": "holding", "address": 19012, "type": "float32", "unit": "A", "access": "R"},
    {"name": "Current I L2", "group": "Measurements", "area": "holding", "address": 19014, "type": "float32", "unit": "A", "access": "R"},
    {"name": "Current I L3", "group": "Measurements", "area": "holding", "address": 19016, "type": "float32", "unit": "A", "access": "R"},
    {"name": "Vector sum; IN=I1+I2+I3", "group": "Measurements", "area": "holding", "address": 19018, "type": "float32", "unit": "A", "access": "R"},
    {"name": "Real power P1 L1N", "group": "Measurements", "area": "holding", "address": 19020, "type": "float32", "unit": "W", "access": "R"},
    {"name": "Real power P2 L2N", "group": "Measurements", "area": "holding", "address": 19022, "type": "float32", "unit": "W", "access": "R"},
    {"name": "Real power P3 L3N", "group": "Measurements", "area": "holding", "address": 19024, "type": "float32", "unit": "W", "access": "R"},
    {"name": "Sum; Psum3=P1+P2+P3", "group": "Measurements", "area": "holding", "address": 19026, "type": "float32", "unit": "W", "access": "R"},
    {"name": "Apparent power S1 L1N", "group": "Measurements", "area": "holding", "address": 19028, "type": "float32", "unit": "VA", "access": "R"},
    {"name": "Apparent power S2 L2N", "group": "Measurements", "area": "holding", "address": 19030, "type": "float32", "unit": "VA", "access": "R"},
    {"name": "Apparent power S3 L3N", "group": "Measurements", "area": "holding", "address": 19032, "type": "float32", "unit": "VA", "access": "R"},
    {"name": "Sum; Ssum3=S1+S2+S3", "group": "Measurements", "area": "holding", "address": 19034, "type": "float32", "unit": "VA", "access": "R"},
    {"name": "Fund. reactive power Q1 L1N", "group": "Measurements", "area": "holding", "address": 19036, "type": "float32", "unit": "var", "access": "R"},
    {"name": "Fund. reactive power Q2 L2N", "group": "Measurements", "area": "holding", "address": 19038, "type": "float32", "unit": "var", "access": "R"},
    {"name": "Fund. reactive power Q3 L3N", "group": "Measurements", "area": "holding", "address": 19040, "type": "float32", "unit": "var", "access": "R"},
    {"name": "Sum; Qsum3=Q1+Q2+Q3", "group": "Measurements", "area": "holding", "address": 19042, "type": "float32", "unit": "var", "access": "R"},
    {"name": "- CosPhi; UL1 IL1 (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19044, "type": "float32", "access": "R"},
    {"name": "- CosPhi; UL2 IL2 (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19046, "type": "float32", "access": "R"},
    {"name": "- CosPhi; UL3 IL3 (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19048, "type": "float32", "access": "R"},
    {"name": "Measured frequency", "group": "Measurements", "area": "holding", "address": 19050, "type": "float32", "unit": "Hz", "access": "R"},
    {"name": "- Rotation field; 1=right, 0=none, -1=left", "group": "Measurements", "area": "holding", "address": 19052, "type": "float32", "access": "R"},
    {"name": "Real energy L1", "group": "Measurements", "area": "holding", "address": 19054, "type": "float32", "unit": "Wh", "access": "R"},
    {"name": "Real energy L2", "group": "Measurements", "area": "holding", "address": 19056, "type": "float32", "unit": "Wh", "access": "R"},
    {"name": "Real energy L3", "group": "Measurements", "area": "holding", "address": 19058, "type": "float32", "unit": "Wh", "access": "R"},
    {"name": "Real energy L1..L3", "group": "Measurements", "area": "holding", "address": 19060, "type": "float32", "unit": "Wh", "access": "R"},
    {"name": "Real energy L1, consumed", "group": "Measurements", "area": "holding", "address": 19062, "type": "float32", "unit": "Wh", "access": "R"},
    {"name": "Real energy L2, consumed", "group": "Measurements", "area": "holding", "address": 19064, "type": "float32", "unit": "Wh", "access": "R"},
    {"name": "Real energy L3, consumed", "group": "Measurements", "area": "holding", "address": 19066, "type": "float32", "unit": "Wh", "access": "R"},
    {"name": "Real energy L1..L3, consumed", "group": "Measurements", "area": "holding", "address": 19068, "type": "float32", "unit": "Wh", "access": "R"},
    {"name": "Real energy L1, delivered", "group": "Measurements", "area": "holding", "address": 19070, "type": "float32", "unit": "Wh", "access": "R"},
    {"name": "Real energy L2, delivered", "group": "Measurements", "area": "holding", "address": 19072, "type": "float32", "unit": "Wh", "access": "R"},
    {"name": "Real energy L3, delivered", "group": "Measurements", "area": "holding", "address": 19074, "type": "float32", "unit": "Wh", "access": "R"},
    {"name": "Real energy L1..L3, delivered", "group": "Measurements", "area": "holding", "address": 19076, "type": "float32", "unit": "Wh", "access": "R"},
    {"name": "Apparent energy L1", "group": "Measurements", "area": "holding", "address": 19078, "type": "float32", "unit": "VAh", "access": "R"},
    {"name": "Apparent energy L2", "group": "Measurements", "area": "holding", "address": 19080, "type": "float32", "unit": "VAh", "access": "R"},
    {"name": "Apparent energy L3", "group": "Measurements", "area": "holding", "address": 19082, "type": "float32", "unit": "VAh", "access": "R"},
    {"name": "Apparent energy L1..L3", "group": "Measurements", "area": "holding", "address": 19084, "type": "float32", "unit": "VAh", "access": "R"},
    {"name": "Reactive energy L1", "group": "Measurements", "area": "holding", "address": 19086, "type": "float32", "unit": "varh", "access": "R"},
    {"name": "Reactive energy L2", "group": "Measurements", "area": "holding", "address": 19088, "type": "float32", "unit": "varh", "access": "R"},
    {"name": "Reactive energy L3", "group": "Measurements", "area": "holding", "address": 19090, "type": "float32", "unit": "varh", "access": "R"},
    {"name": "Reactive energy L1..L3", "group": "Measurements", "area": "holding", "address": 19092, "type": "float32", "unit": "varh", "access": "R"},
    {"name": "Reactive energy ind. L1", "group": "Measurements", "area": "holding", "address": 19094, "type": "float32", "unit": "varh", "access": "R"},
    {"name": "Reactive energy ind. L2", "group": "Measurements", "area": "holding", "address": 19096, "type": "float32", "unit": "varh", "access": "R"},
    {"name": "Reactive energy ind. L3", "group": "Measurements", "area": "holding", "address": 19098, "type": "float32", "unit": "varh", "access": "R"},
    {"name": "Reactive energy ind. L1..L3", "group": "Measurements", "area": "holding", "address": 19100, "type": "float32", "unit": "varh", "access": "R"},
    {"name": "Reactive energy cap. L1", "group": "Measurements", "area": "holding", "address": 19102, "type": "float32", "unit": "varh", "access": "R"},
    {"name": "Reactive energy cap. L2", "group": "Measurements", "area": "holding", "address": 19104, "type": "float32", "unit": "varh", "access": "R"},
    {"name": "Reactive energy cap. L3", "group": "Measurements", "area": "holding", "address": 19106, "type": "float32", "unit": "varh", "access": "R"},
    {"name": "Reactive energy cap. L1..L3", "group": "Measurements", "area": "holding", "address": 19108, "type": "float32", "unit": "varh", "access": "R"},
    {"name": "Harmonic, THD U L1-N", "group": "Measurements", "area": "holding", "address": 19110, "type": "float32", "unit": "%", "access": "R"},
    {"name": "Harmonic, THD U L2-N", "group": "Measurements", "area": "holding", "address": 19112, "type": "float32", "unit": "%", "access": "R"},
    {"name": "Harmonic, THD U L3-N", "group": "Measurements", "area": "holding", "address": 19114, "type": "float32", "unit": "%", "access": "R"},
    {"name": "Harmonic, THD I L1", "group": "Measurements", "area": "holding", "address": 19116, "type": "float32", "unit": "%", "access": "R"},
    {"name": "Harmonic, THD I L2", "group": "Measurements", "area": "holding", "address": 19118, "type": "float32", "unit": "%", "access": "R"},
    {"name": "Harmonic, THD I L3", "group": "Measurements", "area": "holding", "address": 19120, "type": "float32", "unit": "%", "access": "R"},
    {"name": "Device address", "group": "Parameters", "area": "holding", "address": 0, "type": "int16", "access": "RW", "write_min": 1, "write_max": 247, "description": "Default 1; 0 and 248-255 are reserved"},
    {"name": "Baud rate", "group": "Parameters", "area": "holding", "address": 1, "type": "int16", "access": "RW", "enum": {"0": "9600", "1": "19200", "2": "38400", "3": "57600", "4": "115200"}, "description": "Default 4"},
    {"name": "Modbus master", "group": "Parameters", "area": "holding", "address": 2, "type": "int16", "access": "RW", "enum": {"0": "Slave", "1": "Master"}},
    {"name": "Stop bits and parity", "group": "Parameters", "area": "holding", "address": 3, "type": "int16", "access": "RW", "enum": {"0": "1 stop bit, no parity", "1": "2 stop bits, no parity", "2": "1 stop bit, even parity", "3": "1 stop bit, odd parity"}, "description": "Default 0"},
    {"name": "Current transformer I1 primary", "group": "Parameters", "area": "holding", "address": 10, "type": "float32", "unit": "A", "access": "RW"},
    {"name": "Current transformer I1 secondary", "group": "Parameters", "area": "holding", "address": 12, "type": "float32", "unit": "A", "access": "RW"},
    {"name": "Voltage transformer V1 primary", "group": "Parameters", "area": "holding", "address": 14, "type": "float32", "unit": "V", "access": "RW"},
    {"name": "Voltage transformer V1 secondary", "group": "Parameters", "area": "holding", "address": 16, "type": "float32", "unit": "V", "access": "RW"},
    {"name": "Current transformer I2 primary", "group": "Parameters", "area": "holding", "address": 18, "type": "float32", "unit": "A", "access": "RW"},
    {"name": "Current transformer I2 secondary", "group": "Parameters", "area": "holding", "address": 20, "type": "float32", "unit": "A", "access": "RW"},
    {"name": "Voltage transformer V2 primary", "group": "Parameters", "area": "holding", "address": 22, "type": "float32", "unit": "V", "access": "RW"},
    {"name": "Voltage transformer V2 secondary", "group": "Parameters", "area": "holding", "address": 24, "type": "float32", "unit": "V", "access": "RW"},
    {"name": "Current transformer I3 primary", "group": "Parameters", "area": "holding", "address": 26, "type": "float32", "unit": "A", "access": "RW"},
    {"name": "Current transformer I3 secondary", "group": "Parameters", "area": "holding", "address": 28, "type": "float32", "unit": "A", "access": "RW"},
    {"name": "Voltage transformer V3 primary", "group": "Parameters", "area": "holding", "address": 30, "type": "float32", "unit": "V", "access": "RW"},
    {"name": "Voltage transformer V3 secondary", "group": "Parameters", "area": "holding", "address": 32, "type": "float32", "unit": "V", "access": "RW"},
    {"name": "Frequency determination", "group": "Parameters", "area": "holding", "address": 34, "type": "int16", "unit": "Hz", "access": "RW", "description": "0 = automatic, 45-65 = fixed frequency"},
    {"name": "Password", "group": "Parameters", "area": "holding", "address": 50, "type": "int16", "access": "RW", "description": "0-999, 0 = no password"},
    {"name": "Software release", "group": "Device", "area": "holding", "address": 750, "type": "int16", "access": "R"},
    {"name": "Serial number", "group": "Device", "area": "holding", "address": 754, "type": "uint32", "access": "R", "role": "serial"},
    {"name": "Production number", "group": "Device", "area": "holding", "address": 756, "type": "uint32", "access": "R"},
    {"name": "Module number", "group": "Device", "area": "holding", "address": 761, "type": "uint16", "access": "R", "enum": {"0": "No module", "1": "Profibus", "2": "CBM", "3": "Ethernet"}}
  ]
}
