{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "Janitza",
  "model": "UMG604",
  "models": ["UMG 604", "UMG604", "UMG 604-E", "UMG 604-EP"],
  "vendor_website": "janitza.com",
  "description": "Power analyser for DIN rail mounting with Ethernet (Modbus TCP) and RS-485",
  "revision": 2,
  "revised": "2026-10-17",
  "firmware": "firmware release 2.x",
  "source": "Janitza electronics, \"UMG 604 Modbus address list\", Doc. no. 1.038.009.7.a",
  "sources": [{"title": "UMG 604 Modbus address list", "url": "https://www.janitza.com/files/download/manuals/current/UMG604/janitza-mal-umg604-en.pdf", "note": "frequently required readings (19000-19120)", "version": "Doc. no. 1.038.009.7.a"}],
  "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.",
    "Serial settings: 8 data bits, no parity, 2 stop bits."
  ],
  "protocol": "tcp+rtu",
  "unit_id": 1,
  "port": 502,
  "parity": "N",
  "databits": 8,
  "stopbits": 2,
  "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", "description": "_G_ULN[0]"},
    {"name": "Voltage L2-N", "group": "Measurements", "area": "holding", "address": 19002, "type": "float32", "unit": "V", "access": "R", "description": "_G_ULN[1]"},
    {"name": "Voltage L3-N", "group": "Measurements", "area": "holding", "address": 19004, "type": "float32", "unit": "V", "access": "R", "description": "_G_ULN[2]"},
    {"name": "Voltage L1-L2", "group": "Measurements", "area": "holding", "address": 19006, "type": "float32", "unit": "V", "access": "R", "description": "_G_ULL[0]"},
    {"name": "Voltage L2-L3", "group": "Measurements", "area": "holding", "address": 19008, "type": "float32", "unit": "V", "access": "R", "description": "_G_ULL[1]"},
    {"name": "Voltage L3-L1", "group": "Measurements", "area": "holding", "address": 19010, "type": "float32", "unit": "V", "access": "R", "description": "_G_ULL[2]"},
    {"name": "Apparent current, L1-N", "group": "Measurements", "area": "holding", "address": 19012, "type": "float32", "unit": "A", "access": "R", "description": "_G_ILN[0]"},
    {"name": "Apparent current, L2-N", "group": "Measurements", "area": "holding", "address": 19014, "type": "float32", "unit": "A", "access": "R", "description": "_G_ILN[1]"},
    {"name": "Apparent current, L3-N", "group": "Measurements", "area": "holding", "address": 19016, "type": "float32", "unit": "A", "access": "R", "description": "_G_ILN[2]"},
    {"name": "Vector sum; IN=I1+I2+I3", "group": "Measurements", "area": "holding", "address": 19018, "type": "float32", "unit": "A", "access": "R", "description": "_G_I_SUM3"},
    {"name": "Real power L1-N", "group": "Measurements", "area": "holding", "address": 19020, "type": "float32", "unit": "W", "access": "R", "description": "_G_PLN[0]"},
    {"name": "Real power L2-N", "group": "Measurements", "area": "holding", "address": 19022, "type": "float32", "unit": "W", "access": "R", "description": "_G_PLN[1]"},
    {"name": "Real power L3-N", "group": "Measurements", "area": "holding", "address": 19024, "type": "float32", "unit": "W", "access": "R", "description": "_G_PLN[2]"},
    {"name": "Psum3=P1+P2+P3", "group": "Measurements", "area": "holding", "address": 19026, "type": "float32", "unit": "W", "access": "R", "description": "_G_P_SUM3"},
    {"name": "Apparent power L1-N", "group": "Measurements", "area": "holding", "address": 19028, "type": "float32", "unit": "VA", "access": "R", "description": "_G_SLN[0]"},
    {"name": "Apparent power L2-N", "group": "Measurements", "area": "holding", "address": 19030, "type": "float32", "unit": "VA", "access": "R", "description": "_G_SLN[1]"},
    {"name": "Apparent power L3-N", "group": "Measurements", "area": "holding", "address": 19032, "type": "float32", "unit": "VA", "access": "R", "description": "_G_SLN[2]"},
    {"name": "Sum; Ssum3=S1+S2+S3", "group": "Measurements", "area": "holding", "address": 19034, "type": "float32", "unit": "VA", "access": "R", "description": "_G_S_SUM3"},
    {"name": "Reactive power L1 (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19036, "type": "float32", "unit": "var", "access": "R", "description": "_G_QLN[0]"},
    {"name": "Reactive power L2 (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19038, "type": "float32", "unit": "var", "access": "R", "description": "_G_QLN[1]"},
    {"name": "Reactive power L3 (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19040, "type": "float32", "unit": "var", "access": "R", "description": "_G_QLN[2]"},
    {"name": "Qsum3=Q1+Q2+Q3 (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19042, "type": "float32", "unit": "var", "access": "R", "description": "_G_Q_SUM3"},
    {"name": "- CosPhi; UL1 IL1 (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19044, "type": "float32", "access": "R", "description": "_G_COS_PHI[0]"},
    {"name": "- CosPhi; UL2 IL2 (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19046, "type": "float32", "access": "R", "description": "_G_COS_PHI[1]"},
    {"name": "- CosPhi; UL3 IL3 (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19048, "type": "float32", "access": "R", "description": "_G_COS_PHI[2]"},
    {"name": "Measured frequency", "group": "Measurements", "area": "holding", "address": 19050, "type": "float32", "unit": "Hz", "access": "R", "description": "_G_FREQ"},
    {"name": "- Rotation field; 1=right, 0=none, -1=left", "group": "Measurements", "area": "holding", "address": 19052, "type": "float32", "access": "R", "description": "_G_PHASE_SEQ"},
    {"name": "Real energy L1", "group": "Measurements", "area": "holding", "address": 19054, "type": "float32", "unit": "Wh", "access": "R", "description": "_G_WH[0]"},
    {"name": "Real energy L2", "group": "Measurements", "area": "holding", "address": 19056, "type": "float32", "unit": "Wh", "access": "R", "description": "_G_WH[1]"},
    {"name": "Real energy L3", "group": "Measurements", "area": "holding", "address": 19058, "type": "float32", "unit": "Wh", "access": "R", "description": "_G_WH[2]"},
    {"name": "Real energy L1..L3", "group": "Measurements", "area": "holding", "address": 19060, "type": "float32", "unit": "Wh", "access": "R", "description": "_G_WH_SUML13"},
    {"name": "Real energy L1, consumed", "group": "Measurements", "area": "holding", "address": 19062, "type": "float32", "unit": "Wh", "access": "R", "description": "_G_WH_V[0]"},
    {"name": "Real energy L2, consumed", "group": "Measurements", "area": "holding", "address": 19064, "type": "float32", "unit": "Wh", "access": "R", "description": "_G_WH_V[1]"},
    {"name": "Real energy L3, consumed", "group": "Measurements", "area": "holding", "address": 19066, "type": "float32", "unit": "Wh", "access": "R", "description": "_G_WH_V[2]"},
    {"name": "Real energy L1..L3, consumed, rate 1", "group": "Measurements", "area": "holding", "address": 19068, "type": "float32", "unit": "Wh", "access": "R", "description": "_G_WH_V_HT_SUML13"},
    {"name": "Real energy L1, delivered", "group": "Measurements", "area": "holding", "address": 19070, "type": "float32", "unit": "Wh", "access": "R", "description": "_G_WH_Z[0]"},
    {"name": "Real energy L2, delivered", "group": "Measurements", "area": "holding", "address": 19072, "type": "float32", "unit": "Wh", "access": "R", "description": "_G_WH_Z[1]"},
    {"name": "Real energy L3, delivered", "group": "Measurements", "area": "holding", "address": 19074, "type": "float32", "unit": "Wh", "access": "R", "description": "_G_WH_Z[2]"},
    {"name": "Real energy L1..L3, delivered", "group": "Measurements", "area": "holding", "address": 19076, "type": "float32", "unit": "Wh", "access": "R", "description": "_G_WH_Z_SUML13"},
    {"name": "Apparent energy L1", "group": "Measurements", "area": "holding", "address": 19078, "type": "float32", "unit": "VAh", "access": "R", "description": "_G_WH_S[0]"},
    {"name": "Apparent energy L2", "group": "Measurements", "area": "holding", "address": 19080, "type": "float32", "unit": "VAh", "access": "R", "description": "_G_WH_S[1]"},
    {"name": "Apparent energy L3", "group": "Measurements", "area": "holding", "address": 19082, "type": "float32", "unit": "VAh", "access": "R", "description": "_G_WH_S[2]"},
    {"name": "Apparent energy L1..L3", "group": "Measurements", "area": "holding", "address": 19084, "type": "float32", "unit": "VAh", "access": "R", "description": "_G_WH_S_SUML13"},
    {"name": "Reactive energy L1 (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19086, "type": "float32", "unit": "varh", "access": "R", "description": "_G_QH[0]"},
    {"name": "Reactive energy L2 (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19088, "type": "float32", "unit": "varh", "access": "R", "description": "_G_QH[1]"},
    {"name": "Reactive energy L3 (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19090, "type": "float32", "unit": "varh", "access": "R", "description": "_G_QH[2]"},
    {"name": "Reactive energy L1..L3 (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19092, "type": "float32", "unit": "varh", "access": "R", "description": "_G_QH_SUML13"},
    {"name": "Reactive energy, inductive, L1 (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19094, "type": "float32", "unit": "varh", "access": "R", "description": "_G_IQH[0]"},
    {"name": "Reactive energy, inductive, L2 (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19096, "type": "float32", "unit": "varh", "access": "R", "description": "_G_IQH[1]"},
    {"name": "Reactive energy, inductive, L3 (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19098, "type": "float32", "unit": "varh", "access": "R", "description": "_G_IQH[2]"},
    {"name": "Reactive energy L1..L3, ind. (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19100, "type": "float32", "unit": "varh", "access": "R", "description": "_G_IQH_SUML13"},
    {"name": "Reactive energy, capacitive, L1 (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19102, "type": "float32", "unit": "varh", "access": "R", "description": "_G_CQH[0]"},
    {"name": "Reactive energy, capacitive, L2 (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19104, "type": "float32", "unit": "varh", "access": "R", "description": "_G_CQH[1]"},
    {"name": "Reactive energy, capacitive, L3 (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19106, "type": "float32", "unit": "varh", "access": "R", "description": "_G_CQH[2]"},
    {"name": "Reactive energy L1..L3, cap. (fundamental comp.)", "group": "Measurements", "area": "holding", "address": 19108, "type": "float32", "unit": "varh", "access": "R", "description": "_G_CQH_SUML13"},
    {"name": "Harmonic, THD,U L1-N", "group": "Measurements", "area": "holding", "address": 19110, "type": "float32", "unit": "%", "access": "R", "description": "_G_THD_ULN[0]"},
    {"name": "Harmonic, THD,U L2-N", "group": "Measurements", "area": "holding", "address": 19112, "type": "float32", "unit": "%", "access": "R", "description": "_G_THD_ULN[1]"},
    {"name": "Harmonic, THD,U L3-N", "group": "Measurements", "area": "holding", "address": 19114, "type": "float32", "unit": "%", "access": "R", "description": "_G_THD_ULN[2]"},
    {"name": "Harmonic, THD,I L1", "group": "Measurements", "area": "holding", "address": 19116, "type": "float32", "unit": "%", "access": "R", "description": "_G_THD_ILN[0]"},
    {"name": "Harmonic, THD,I L2", "group": "Measurements", "area": "holding", "address": 19118, "type": "float32", "unit": "%", "access": "R", "description": "_G_THD_ILN[1]"},
    {"name": "Harmonic, THD,I L3", "group": "Measurements", "area": "holding", "address": 19120, "type": "float32", "unit": "%", "access": "R", "description": "_G_THD_ILN[2]"},
    {"name": "Serial number", "group": "Device", "area": "holding", "address": 10176, "type": "uint32", "access": "R", "role": "serial"},
    {"name": "Modbus address", "group": "Device", "area": "holding", "address": 10180, "type": "int32", "access": "RW"},
    {"name": "Firmware release", "group": "Device", "area": "holding", "address": 13437, "type": "string", "length": 8, "access": "R", "role": "firmware"}
  ]
}
