{
 "manufacturer": "Siemens",
 "manufacturer_slug": "siemens",
 "model": "SENTRON PAC2200",
 "model_slug": "sentron-pac2200",
 "short_model": "PAC2200",
 "aliases": [
  "7KM PAC2200"
 ],
 "equipment_type": "Energy meter",
 "applies_to": "SENTRON 7KM PAC2200 Modbus TCP and Modbus RTU variants (5 A and 65 A), per Equipment Manual 12/2022.",
 "summary": "DIN-rail three-phase power monitoring device sold in Modbus TCP, Modbus RTU and other interface variants, some with MID approval. Live values are IEEE floats and energy counters are IEEE doubles. This map covers voltages, currents, powers, frequency, status, demand and load-profile values, total and per-phase tariff energy, transformer and communication settings, and the command registers.",
 "transport": [
  "TCP",
  "RTU"
 ],
 "defaults": {
  "unit_id": 126,
  "baud": 19200,
  "parity": "None",
  "data_bits": 8,
  "stop_bits": 2,
  "tcp_port": 502
 },
 "addressing": {
  "convention": "0-based",
  "note": "Siemens lists every value by its register 'offset', which is the 0-based address sent in the request. Offset 1 (voltage L1-N) is requested as address 1, which a 1-based tool shows as 40002. The PAC2200 manual does not state this itself; it uses the same offset scheme and the same measured-value offsets as the PAC3200, for which two official Siemens application examples confirm it: entry 40614428 (Set 22, Table 3-12: offset 65 read at S7 MB_CLIENT address 40001 + 65) and entry 109779762 (LOGO! example, p. 13: offset 1 entered as LOGO! register 2)."
 },
 "default_word_order": "ABCD",
 "firmware": null,
 "source": {
  "title": "SENTRON 7KM Power Monitoring Device PAC2200 Equipment Manual",
  "doc_number": "L1V30415167B-06",
  "revision_date": "2022-12",
  "url": "https://cache.industry.siemens.com/dl/files/835/109746835/att_1123515/v2/MAN_L1V30415167B-06_en_en-US.pdf",
  "pages": "pp. 103-137 (Appendix A.1; measured values pp. 105-110, status pp. 128-129, settings pp. 130-133, comms pp. 133-134, commands p. 136); defaults pp. 80-81"
 },
 "notes": [
  "The register tables do not name a word order. We record ABCD (high word first) on PAC2200-specific evidence from its own manual: the Modbus FC 0x64 example frames (Appendix A.1, pp. 125-127) transmit unsigned longs (stated as big endian), floats and doubles most-significant byte first, e.g. a Wh double as 41 41 B4 EB 44 67 2E 00, and the FC 0x03 status structure at offset 205 puts byte 0 at mask 0x01000000. The FC 0x03 register order itself is not printed, so confirm with a known reading on site. The same order is confirmed for the PAC3200 by Siemens examples 40614428.",
  "Addressing sources (PAC3200 examples): https://cache.industry.siemens.com/dl/files/428/40614428/att_923701/v2/40614428_Set22_DOC_v14_en.pdf ; https://cache.industry.siemens.com/dl/files/762/109779762/att_1028292/v1/109779762_LOGO_ModbusTCP_DOC_en.pdf ; S7-1200 library description: https://cache.industry.siemens.com/dl/files/428/40614428/att_15029/v1/40614428_librarydescription_s7-1200_modbustcp_v1d0_en.pdf",
  "Factory settings: RTU variants use address 126, 19200 baud, 8N2, response time 0 ms; TCP variants ship with DHCP on and Modbus port 502.",
  "Measured variables answer to FC 0x03 and FC 0x04 and are listed as holding registers. Commands 60001-60009 use FC 0x06; register 65290 uses FC 0x10.",
  "Bits of the 32-bit status words use the bit number of the whole value (bit 0 = mask 0x00000001, bit 24 = mask 0x01000000).",
  "The float copies of the energy counters (2801-2883) are omitted: several rows print units that contradict the name (active energy in varh, reactive in Wh).",
  "Offset 593 is omitted: it is named active energy but printed with unit varh.",
  "Offsets 545 and 799 (Unix time stamps), 60010 (format and length disagree), the FC 0x14 aggregation file block (30001+) and the FC 0x64 log readout are omitted.",
  "Discrete input 129 is printed twice with two names (device/firmware update); it is left out. The manual marks discrete inputs 108-112 as RW, but FC 0x02 is read-only, so they are listed as read-only.",
  "Register 60000 (reset to factory settings) exists but is deliberately not listed.",
  "Registers 50011/50013 are writable only on 5 A devices; on 65 A devices they are read-only.",
  "Offset 60008 (switching outputs) is omitted: its printed range (0FFh...1FFh) contradicts its byte description (byte 0 = 0 for output 0.0), so the command word cannot be built with certainty.",
  "Offset 50147 (digital output timeout) is omitted: the two settings tables give different ranges (1...18000 s and 0.1...18000), which leaves its scaling uncertain. The function exists: an output switched over Modbus resets after the timeout; 0 disables it.",
  "Registers 62991 (DHCP) and 63009 (password protection) are listed with range 0/1 only; the register table does not map the values to ON/OFF."
 ],
 "registers": [
  {
   "table": "discrete_input",
   "address": 108,
   "documented": "108",
   "name": "Relevant parameter changes",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 110,
   "documented": "110",
   "name": "Maximum pulse rate exceeded (stored)",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 111,
   "documented": "111",
   "name": "Restart of the device",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 112,
   "documented": "112",
   "name": "Resetting of energy counter by user",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 117,
   "documented": "117",
   "name": "Maximum pulse rate exceeded",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 122,
   "documented": "122",
   "name": "SNTP not synchronized",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 123,
   "documented": "123",
   "name": "Wait for user action",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 124,
   "documented": "124",
   "name": "No synchronization pulse",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 125,
   "documented": "125",
   "name": "Device configuration menu is active",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 126,
   "documented": "126",
   "name": "Voltage overload",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 127,
   "documented": "127",
   "name": "Current overload",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 128,
   "documented": "128",
   "name": "Date/time inaccurate",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 130,
   "documented": "130",
   "name": "Hardware write-protected",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 131,
   "documented": "131",
   "name": "Modbus communication write-protected",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 200,
   "documented": "200",
   "name": "Digital input 0",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 300,
   "documented": "300",
   "name": "Digital output 0",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 1,
   "documented": "1",
   "name": "Voltage UL1-N",
   "description": "Phase-to-neutral voltage L1.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 3,
   "documented": "3",
   "name": "Voltage UL2-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": 5,
   "documented": "5",
   "name": "Voltage UL3-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": 7,
   "documented": "7",
   "name": "Voltage UL1-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": 9,
   "documented": "9",
   "name": "Voltage UL2-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": 11,
   "documented": "11",
   "name": "Voltage UL3-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": 13,
   "documented": "13",
   "name": "Current L1",
   "description": "Phase current L1.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 15,
   "documented": "15",
   "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": 17,
   "documented": "17",
   "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": 19,
   "documented": "19",
   "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": 21,
   "documented": "21",
   "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": 23,
   "documented": "23",
   "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": 25,
   "documented": "25",
   "name": "Active 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": 27,
   "documented": "27",
   "name": "Active 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": 29,
   "documented": "29",
   "name": "Active 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": 31,
   "documented": "31",
   "name": "Reactive power L1",
   "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": 33,
   "documented": "33",
   "name": "Reactive power L2",
   "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": 35,
   "documented": "35",
   "name": "Reactive power L3",
   "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": 37,
   "documented": "37",
   "name": "Power factor 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": 39,
   "documented": "39",
   "name": "Power factor 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": 41,
   "documented": "41",
   "name": "Power factor 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": 55,
   "documented": "55",
   "name": "Frequency",
   "description": "Line frequency.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Hz",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 57,
   "documented": "57",
   "name": "Average voltage UL-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": 59,
   "documented": "59",
   "name": "Average voltage UL-L",
   "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": 61,
   "documented": "61",
   "name": "Average Current",
   "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": 63,
   "documented": "63",
   "name": "Total apparent power",
   "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": 65,
   "documented": "65",
   "name": "Total active power",
   "description": "Sum of active power over all phases.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 67,
   "documented": "67",
   "name": "Total reactive power",
   "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": 69,
   "documented": "69",
   "name": "Total power factor",
   "description": "Overall power factor.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 71,
   "documented": "71",
   "name": "Neutral Current",
   "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": 205,
   "documented": "205",
   "name": "Device diagnostics and device status",
   "description": "Packed status bits; latched bits are cleared via offset 60007.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "8": "Relevant parameter changes (latched, acknowledge)",
    "10": "Maximum pulse rate exceeded (latched, acknowledge)",
    "11": "Restart of the device (latched, acknowledge)",
    "12": "Energy counter reset by user (latched, acknowledge)",
    "17": "Maximum pulse rate exceeded",
    "22": "SNTP not synchronized",
    "23": "Waiting for user interaction",
    "24": "No synchronization pulse",
    "25": "Device configuration menu active",
    "26": "Voltage overload",
    "27": "Current overload",
    "29": "Update active",
    "30": "Hardware write protection active",
    "31": "Modbus communication write-protected"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 207,
   "documented": "207",
   "name": "Status of the digital outputs",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "Output 0"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 209,
   "documented": "209",
   "name": "Status of the digital inputs",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "Input 0"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 211,
   "documented": "211",
   "name": "Active tariff",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Tariff 1",
    "1": "Tariff 2"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 215,
   "documented": "215",
   "name": "Universal counter",
   "description": "Writable to preset.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 217,
   "documented": "217",
   "name": "Relevant parameter changes counter",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 219,
   "documented": "219",
   "name": "Counter all parameter changes",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 231,
   "documented": "231",
   "name": "Configurable energy counter",
   "description": "Counter whose source is set by offset 50051.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "kWh, kvarh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 265,
   "documented": "265",
   "name": "Daily profile counter",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 267,
   "documented": "267",
   "name": "Monthly profile counter",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 269,
   "documented": "269",
   "name": "Annual profile counter",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 501,
   "documented": "501",
   "name": "Cumulated average active power import",
   "description": "Average active power import over the last completed period.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 503,
   "documented": "503",
   "name": "Cumulated average reactive power import",
   "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": 505,
   "documented": "505",
   "name": "Cumulated average active power export",
   "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": 507,
   "documented": "507",
   "name": "Cumulated average reactive power export",
   "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": 509,
   "documented": "509",
   "name": "Maximum active power reading during the period",
   "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": 511,
   "documented": "511",
   "name": "Minimum active power reading during the period",
   "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": 513,
   "documented": "513",
   "name": "Maximum reactive power reading during the period",
   "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": 515,
   "documented": "515",
   "name": "Minimum reactive power reading during the period",
   "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": 517,
   "documented": "517",
   "name": "Length of the current measuring period",
   "description": "Length of the current measuring period.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "s",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 519,
   "documented": "519",
   "name": "Time Since Start of the active demand period",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "s",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 547,
   "documented": "547",
   "name": "OID for the current period",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 549,
   "documented": "549",
   "name": "Active energy - import current period",
   "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": 551,
   "documented": "551",
   "name": "Reactive energy - import current period",
   "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": 553,
   "documented": "553",
   "name": "Active energy - export current period",
   "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": 555,
   "documented": "555",
   "name": "Reactive energy - export current period",
   "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": 557,
   "documented": "557",
   "name": "Length of the load profile period",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "ms",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 559,
   "documented": "559",
   "name": "Inform. flag bytes current period",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 561,
   "documented": "561",
   "name": "Total active energy - import tariff 1, current period",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 565,
   "documented": "565",
   "name": "Total active energy - import tariff 2, current period",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 569,
   "documented": "569",
   "name": "Total reactive energy - import tariff 1, current period",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 573,
   "documented": "573",
   "name": "Total reactive energy - import tariff 2, current period",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 577,
   "documented": "577",
   "name": "Total active energy - export tariff 1, current period",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 581,
   "documented": "581",
   "name": "Total active energy - export tariff 2, current period",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 585,
   "documented": "585",
   "name": "Total reactive energy - export tariff 1, current period",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 589,
   "documented": "589",
   "name": "Total reactive energy - export tariff 2, current period",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 597,
   "documented": "597",
   "name": "Total active energy - export tariff 1 + 2, current period",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 801,
   "documented": "801",
   "name": "Active energy import tariff 1",
   "description": "IEEE double; rolls over at 1.0e12 Wh.",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 805,
   "documented": "805",
   "name": "Active energy import tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 809,
   "documented": "809",
   "name": "Active energy export tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 813,
   "documented": "813",
   "name": "Active energy export tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 817,
   "documented": "817",
   "name": "Reactive energy import tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 821,
   "documented": "821",
   "name": "Reactive energy import tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 825,
   "documented": "825",
   "name": "Reactive energy export tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 829,
   "documented": "829",
   "name": "Reactive energy export tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 833,
   "documented": "833",
   "name": "Apparent energy tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VAh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 837,
   "documented": "837",
   "name": "Apparent energy tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VAh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 841,
   "documented": "841",
   "name": "L1 active energy import tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 845,
   "documented": "845",
   "name": "L1 active energy import tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 849,
   "documented": "849",
   "name": "L1 active energy export tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 853,
   "documented": "853",
   "name": "L1 active energy export tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 857,
   "documented": "857",
   "name": "L1 reactive energy import tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 861,
   "documented": "861",
   "name": "L1 reactive energy import tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 865,
   "documented": "865",
   "name": "L1 reactive energy export tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 869,
   "documented": "869",
   "name": "L1 reactive energy export tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 873,
   "documented": "873",
   "name": "L1 apparent energy tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VAh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 877,
   "documented": "877",
   "name": "L1 apparent energy tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VAh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 881,
   "documented": "881",
   "name": "L2 active energy import tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 885,
   "documented": "885",
   "name": "L2 active energy import tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 889,
   "documented": "889",
   "name": "L2 active energy export tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 893,
   "documented": "893",
   "name": "L2 active energy export tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 897,
   "documented": "897",
   "name": "L2 reactive energy import tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 901,
   "documented": "901",
   "name": "L2 reactive energy import tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 905,
   "documented": "905",
   "name": "L2 reactive energy export tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 909,
   "documented": "909",
   "name": "L2 reactive energy export tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 913,
   "documented": "913",
   "name": "L2 apparent energy tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VAh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 917,
   "documented": "917",
   "name": "L2 apparent energy tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VAh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 921,
   "documented": "921",
   "name": "L3 active energy import tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 925,
   "documented": "925",
   "name": "L3 active energy import tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 929,
   "documented": "929",
   "name": "L3 active energy export tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 933,
   "documented": "933",
   "name": "L3 active energy export tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 937,
   "documented": "937",
   "name": "L3 reactive energy import tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 941,
   "documented": "941",
   "name": "L3 reactive energy import tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 945,
   "documented": "945",
   "name": "L3 reactive energy export tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 949,
   "documented": "949",
   "name": "L3 reactive energy export tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 953,
   "documented": "953",
   "name": "L3 apparent energy tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VAh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 957,
   "documented": "957",
   "name": "L3 apparent energy tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VAh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 961,
   "documented": "961",
   "name": "Secondary total of active energy - import (MID register)",
   "description": "Secondary total, as used for the MID register.",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 965,
   "documented": "965",
   "name": "Secondary total of active energy - export (MID register)",
   "description": "Secondary total, as used for the MID register.",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 49999,
   "documented": "49999",
   "name": "Rated current display range",
   "description": "1...10000 A.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 50001,
   "documented": "50001",
   "name": "Connection type",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "3P4W",
    "4": "1P2W"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 50011,
   "documented": "50011",
   "name": "Primary current",
   "description": "5 A devices: 1...99999 A, writable. 65 A devices: fixed, read-only.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 50013,
   "documented": "50013",
   "name": "Secondary current",
   "description": "5 A devices: 1 A or 5 A. 65 A devices: fixed, read-only.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 50021,
   "documented": "50021",
   "name": "Load profile demand period",
   "description": "1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30 or 60 min.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "min",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 50023,
   "documented": "50023",
   "name": "Synchronization",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "No synchronization",
    "1": "Synchronization via bus",
    "2": "Synchronization via digital input",
    "3": "Synchronization via internal clock"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 60001,
   "documented": "60001",
   "name": "Device reset",
   "description": "Restarts the device; Modbus address is kept.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "W",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 60005,
   "documented": "60005",
   "name": "Load profile synchronization",
   "description": "Bus sync pulse; value is the period length.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "min",
   "access": "W",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 60006,
   "documented": "60006",
   "name": "Switching tariff",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "W",
   "values": {
    "0": "Main tariff",
    "1": "Secondary tariff"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 60007,
   "documented": "60007",
   "name": "Acknowledge diagnostics bits",
   "description": "Clears latched bits of offset 205; 0...FFFFh.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "W",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 60009,
   "documented": "60009",
   "name": "Switching command for vector group",
   "description": "High byte = group 0...99, low byte 1 = ON, 0 = OFF.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "W",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 62991,
   "documented": "62991",
   "name": "DHCP ON/OFF",
   "description": "Reads/writes 0 or 1; the register table does not say which value is ON.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 63001,
   "documented": "63001",
   "name": "IP address",
   "description": "IPv4 address packed into 32 bits.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 63003,
   "documented": "63003",
   "name": "Subnet mask",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 63005,
   "documented": "63005",
   "name": "Gateway",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 63009,
   "documented": "63009",
   "name": "Password protection ON/OFF",
   "description": "Reads 0 or 1; the register table does not say which value is ON.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 63135,
   "documented": "63135",
   "name": "MODBUS RTU address",
   "description": "1...247; RS485 variants only.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 63137,
   "documented": "63137",
   "name": "MODBUS RTU baud rate",
   "description": "RS485 variants only.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "4800",
    "1": "9600",
    "2": "19200",
    "3": "38400",
    "4": "57600",
    "5": "115200"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 63139,
   "documented": "63139",
   "name": "MODBUS RTU data bits / parity / stop bits",
   "description": "RS485 variants only.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "8N2",
    "1": "8E1",
    "2": "8O1",
    "3": "8N1"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 63141,
   "documented": "63141",
   "name": "MODBUS RTU response time",
   "description": "0...255 ms; RS485 variants only.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "ms",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 65290,
   "documented": "65290",
   "name": "Hardware write protection ON/OFF",
   "description": "Write with FC 0x10; takes effect only after pressing SW on the device.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "ON",
    "1": "OFF"
   },
   "bits": null,
   "offset": 0
  }
 ],
 "integration": {
  "summary": "On TCP variants, give the meter an address (DHCP is on by default) and poll port 502; on RTU variants use address 126 at 19200 8N2 unless changed. Read floats from offset 1 and energy doubles from offset 801, high word first.",
  "minimum_registers": [
   {
    "table": "holding_register",
    "address": 1,
    "why": "Voltage L1-N"
   },
   {
    "table": "holding_register",
    "address": 13,
    "why": "Current L1"
   },
   {
    "table": "holding_register",
    "address": 55,
    "why": "Frequency"
   },
   {
    "table": "holding_register",
    "address": 65,
    "why": "Total active power"
   },
   {
    "table": "holding_register",
    "address": 801,
    "why": "Active energy import tariff 1 (double)"
   },
   {
    "table": "holding_register",
    "address": 205,
    "why": "Device diagnostics and status"
   }
  ],
  "enable": "Modbus is the device's built-in interface. Set the MODBUS TCP or MODBUS RTU parameters in the device settings menu. Write access over the bus can be blocked by password protection, the IP filter or hardware write protection, which is toggled only with the SW key.",
  "watchdog": null,
  "quirks": [
   "Offsets are wire addresses: offset 1 is requested as address 1 (40002 in 1-based tools).",
   "Floats and doubles are big-endian, high word first.",
   "Energy counters are 64-bit IEEE doubles in Wh/varh/VAh."
  ],
  "setup": [
   "RS485 factory settings: address 126, 19200 baud, 8N2, response time 0 ms.",
   "Ethernet factory settings: DHCP ON, Modbus port 502 (0...65534 configurable), IP filter OFF, HTTP port 80.",
   "With the IP filter on, write requests from outside the meter's subnet are rejected."
  ],
  "gotchas": [
   "Exception code F0 means write protection is active.",
   "Latched diagnostic bits in offset 205 stay set until acknowledged through offset 60007.",
   "Enabling or disabling password protection must be confirmed with the SW key on the device within 15 minutes."
  ]
 },
 "page": "https://easymodbus.com/modbus-register-maps/siemens/sentron-pac2200",
 "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."
}
