{
 "manufacturer": "Janitza",
 "manufacturer_slug": "janitza",
 "model": "UMG 605-PRO power quality analyser (Modbus RTU / Modbus TCP)",
 "model_slug": "umg-605-pro",
 "short_model": "UMG 605-PRO",
 "aliases": [
  "UMG605-PRO",
  "UMG 605PRO",
  "UMG605PRO",
  "Janitza UMG 605"
 ],
 "equipment_type": "Power meter (power quality analyser)",
 "applies_to": "UMG 605-PRO from firmware release 5.028, per address list 1.038.009.7.h (09/2022).",
 "summary": "The UMG 605-PRO is a Janitza power quality analyser with an RS-485 port and network (IP) settings. Measurements are big-endian 32-bit floats; the 19000-19120 'frequently required readings' block holds volts, amps, power, CosPhi, frequency, energy and THD, the same block as other Janitza meters. Its other address blocks differ from the UMG 604-PRO, so this map lists the 605-PRO's own addresses for the fourth channel, consumed energy, digital I/O, energy resets, transformer settings and network values.",
 "transport": [
  "RTU",
  "TCP"
 ],
 "defaults": {
  "unit_id": null,
  "baud": null,
  "parity": "None",
  "data_bits": 8,
  "stop_bits": 2,
  "tcp_port": null
 },
 "addressing": {
  "convention": "0-based",
  "note": "Addresses are printed as the protocol address and sent unchanged: 19000 is requested as 19000. The list starts at address 0 (system time), which only fits 0-based numbering. In a 1-based or Modicon tool enter 19001 / 419001."
 },
 "default_word_order": "ABCD",
 "firmware": "Release 5.028 and higher",
 "source": {
  "title": "Power Quality Analyser UMG 605-PRO - Modbus-address list and Formulary (firmware rel. 5.028 and higher)",
  "doc_number": "1.038.009.7.h",
  "revision_date": "2022-09",
  "url": "https://www.janitza.com/files/download/manuals/current/UMG605-PRO/janitza-mal-umg605pro-en.pdf",
  "pages": "Transfer parameters, byte order p. 5; frequently required readings p. 12; main values pp. 14-15, 17; other values pp. 40-41; energy p. 48"
 },
 "notes": [
  "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.",
  "Do not reuse UMG 604-PRO addresses outside the 19000 block: on the 605-PRO the main values, energy and settings sit at different addresses (e.g. consumed energy total 6508 instead of 9851).",
  "Access: only the 19000-19716 area carries an RD/WR column (the measured values there are RD). Elsewhere the list has no access column; only the delete commands ('1 = delete') are given write access here.",
  "Left out: 19068 (consumed L1-L3 on tariff 1 only); the consumed total is at 6508 (_WH_V[4]).",
  "Left out: 19636 (_PF_TOTAL) because its printed remark runs into the 'internal temperature' text of the row above, so the row is unclear.",
  "Left out: serial number, Modbus address, RS-485 mode and baud rate (6856-6868), which the list marks 'only for internal use', plus harmonics, min/max/mean, event and display settings.",
  "Measured values refresh every 200 ms."
 ],
 "registers": [
  {
   "table": "holding_register",
   "address": 3851,
   "documented": "3851",
   "name": "Voltage L4-N",
   "description": "Fourth voltage input.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 3859,
   "documented": "3859",
   "name": "Current L4",
   "description": "Fourth current input (measured neutral or extra feeder).",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 3929,
   "documented": "3929",
   "name": "CosPhi total L1-L3 (fundamental)",
   "description": "Mains-frequency CosPhi over L1-L3.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 4209,
   "documented": "4209",
   "name": "Internal temperature",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "°C",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6508,
   "documented": "6508",
   "name": "Real energy L1-L3, consumed",
   "description": "Three-phase consumed (import) energy total.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6630,
   "documented": "6630",
   "name": "Digital output 1 status",
   "description": "",
   "data_type": "INT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6631,
   "documented": "6631",
   "name": "Digital output 2 status",
   "description": "",
   "data_type": "INT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6632,
   "documented": "6632",
   "name": "Digital input 1 status",
   "description": "",
   "data_type": "INT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6633,
   "documented": "6633",
   "name": "Digital input 2 status",
   "description": "",
   "data_type": "INT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6654,
   "documented": "6654",
   "name": "Delete real energy",
   "description": "Write 1 to clear all real energy counters.",
   "data_type": "INT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "W",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6655,
   "documented": "6655",
   "name": "Delete reactive energy",
   "description": "Write 1 to clear all reactive energy counters.",
   "data_type": "INT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "W",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6689,
   "documented": "6689",
   "name": "CT primary L1-L3",
   "description": "One setting shared by L1, L2 and L3.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6691,
   "documented": "6691",
   "name": "CT primary L4",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6693,
   "documented": "6693",
   "name": "CT secondary L1-L3",
   "description": "One setting shared by L1, L2 and L3.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6695,
   "documented": "6695",
   "name": "CT secondary L4",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6697,
   "documented": "6697",
   "name": "VT primary L1-L3",
   "description": "One setting shared by L1, L2 and L3.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6699,
   "documented": "6699",
   "name": "VT primary L4",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6701,
   "documented": "6701",
   "name": "VT secondary L1-L3",
   "description": "One setting shared by L1, L2 and L3.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6703,
   "documented": "6703",
   "name": "VT secondary L4",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6745,
   "documented": "6745",
   "name": "Nominal frequency",
   "description": "50 or 60 Hz.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Hz",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6870,
   "documented": "6870",
   "name": "IP address",
   "description": "Packed 32-bit IPv4 address.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6872,
   "documented": "6872",
   "name": "Subnet mask",
   "description": "Packed 32-bit IPv4 mask.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6874,
   "documented": "6874",
   "name": "Gateway address",
   "description": "Packed 32-bit IPv4 gateway.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6876,
   "documented": "6876",
   "name": "DHCP mode",
   "description": "",
   "data_type": "INT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "DHCP off",
    "1": "DHCP on"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19000,
   "documented": "19000",
   "name": "Voltage L1-N",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19002,
   "documented": "19002",
   "name": "Voltage L2-N",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19004,
   "documented": "19004",
   "name": "Voltage L3-N",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19006,
   "documented": "19006",
   "name": "Voltage L1-L2",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19008,
   "documented": "19008",
   "name": "Voltage L2-L3",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19010,
   "documented": "19010",
   "name": "Voltage L3-L1",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19012,
   "documented": "19012",
   "name": "Current L1",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19014,
   "documented": "19014",
   "name": "Current L2",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19016,
   "documented": "19016",
   "name": "Current L3",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19018,
   "documented": "19018",
   "name": "Neutral current (vector sum L1-L3)",
   "description": "Calculated vector sum of the three phase currents.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19020,
   "documented": "19020",
   "name": "Real power L1",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19022,
   "documented": "19022",
   "name": "Real power L2",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19024,
   "documented": "19024",
   "name": "Real power L3",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19026,
   "documented": "19026",
   "name": "Real power total L1-L3",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19028,
   "documented": "19028",
   "name": "Apparent power L1",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VA",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19030,
   "documented": "19030",
   "name": "Apparent power L2",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VA",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19032,
   "documented": "19032",
   "name": "Apparent power L3",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VA",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19034,
   "documented": "19034",
   "name": "Apparent power total L1-L3",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VA",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19036,
   "documented": "19036",
   "name": "Reactive power L1 (fundamental)",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "var",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19038,
   "documented": "19038",
   "name": "Reactive power L2 (fundamental)",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "var",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19040,
   "documented": "19040",
   "name": "Reactive power L3 (fundamental)",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "var",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19042,
   "documented": "19042",
   "name": "Reactive power total L1-L3 (fundamental)",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "var",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19044,
   "documented": "19044",
   "name": "CosPhi L1 (fundamental)",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19046,
   "documented": "19046",
   "name": "CosPhi L2 (fundamental)",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19048,
   "documented": "19048",
   "name": "CosPhi L3 (fundamental)",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19050,
   "documented": "19050",
   "name": "Frequency",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Hz",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19052,
   "documented": "19052",
   "name": "Rotation field",
   "description": "Float: 1 = clockwise, 0 = none, -1 = anticlockwise.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19054,
   "documented": "19054",
   "name": "Real energy L1",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19056,
   "documented": "19056",
   "name": "Real energy L2",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19058,
   "documented": "19058",
   "name": "Real energy L3",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19060,
   "documented": "19060",
   "name": "Real energy L1-L3",
   "description": "Three-phase total, not split into consumed and delivered.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19062,
   "documented": "19062",
   "name": "Real energy L1, consumed",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19064,
   "documented": "19064",
   "name": "Real energy L2, consumed",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19066,
   "documented": "19066",
   "name": "Real energy L3, consumed",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19070,
   "documented": "19070",
   "name": "Real energy L1, delivered",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19072,
   "documented": "19072",
   "name": "Real energy L2, delivered",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19074,
   "documented": "19074",
   "name": "Real energy L3, delivered",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19076,
   "documented": "19076",
   "name": "Real energy L1-L3, delivered",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19084,
   "documented": "19084",
   "name": "Apparent energy L1-L3",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VAh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19092,
   "documented": "19092",
   "name": "Reactive energy L1-L3 (fundamental)",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19100,
   "documented": "19100",
   "name": "Reactive energy inductive L1-L3",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19108,
   "documented": "19108",
   "name": "Reactive energy capacitive L1-L3",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19110,
   "documented": "19110",
   "name": "THD voltage L1-N",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19112,
   "documented": "19112",
   "name": "THD voltage L2-N",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19114,
   "documented": "19114",
   "name": "THD voltage L3-N",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19116,
   "documented": "19116",
   "name": "THD current L1",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19118,
   "documented": "19118",
   "name": "THD current L2",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19120,
   "documented": "19120",
   "name": "THD current L3",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19716,
   "documented": "19716",
   "name": "Transformer ratio lock",
   "description": "",
   "data_type": "INT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not locked",
    "1": "Locked"
   },
   "bits": null,
   "offset": 0
  }
 ],
 "integration": {
  "summary": "Read holding registers (function 03) from 19000: 60 registers give volts, amps, power, CosPhi, frequency and per-phase energy as big-endian floats, and 19060-19077 adds three-phase and delivered energy in Wh. Read 6508 for the consumed energy total.",
  "minimum_registers": [
   {
    "table": "holding_register",
    "address": 19000,
    "why": "Voltage L1-N"
   },
   {
    "table": "holding_register",
    "address": 19012,
    "why": "Current L1"
   },
   {
    "table": "holding_register",
    "address": 19026,
    "why": "Total real power"
   },
   {
    "table": "holding_register",
    "address": 19034,
    "why": "Total apparent power"
   },
   {
    "table": "holding_register",
    "address": 3929,
    "why": "Total CosPhi"
   },
   {
    "table": "holding_register",
    "address": 19050,
    "why": "Frequency"
   },
   {
    "table": "holding_register",
    "address": 6508,
    "why": "Consumed energy total"
   },
   {
    "table": "holding_register",
    "address": 19076,
    "why": "Delivered energy total"
   }
  ],
  "enable": "Modbus is available on Ethernet and on the RS-485 port; set the Modbus address and IP settings on the device or in GridVis (see the device manual).",
  "watchdog": null,
  "quirks": [
   "Addresses are used as printed (0-based).",
   "Floats are ABCD; add 32768 to an address for little-endian.",
   "Energy is in Wh and varh, not kWh.",
   "Rotation field (19052) is a float: 1, 0 or -1."
  ],
  "setup": [
   "RS-485 on the device itself: 8 data bits, no parity, 2 stop bits; baud 9.6, 19.2, 38.4, 57.6, 115.2 or 921.6 kbps.",
   "CT and VT ratios are one setting for L1-L3 plus one for L4."
  ],
  "gotchas": [
   "19068 in the frequent block is tariff 1 consumed energy only; use 6508 for the full consumed total.",
   "The 605-PRO and 604-PRO share the 19000 block but nothing else; check which list you are using."
  ]
 },
 "page": "https://easymodbus.com/modbus-register-maps/janitza/umg-605-pro",
 "address_note": "address = 0-based Modbus wire (PDU) address; documented = as printed in the source.",
 "note": "Re-typed from the manufacturer's public documentation (see source) and verified against it. Registers vary by firmware and options; verify against the live device before writing."
}
