{
  "spec_version": 1,
  "slug": "kostal-piko-ci",
  "manufacturer": "KOSTAL",
  "model": "PIKO CI 30 / CI 50 / CI 60 / CI 100 (incl. PIKO CI 30/50 G2)",
  "category": "Solar inverter",
  "supplier_url": "https://www.kostal-solar-electric.com/en/products/solar-inverter/piko-ci/",
  "default_configuration": {
    "protocol": "modbus_tcp",
    "port": 1502,
    "unit_id": 71,
    "addressing": "zero_based",
    "byte_order": "BigEndian",
    "word_order": "HighFirst"
  },
  "coils": [],
  "discrete_inputs": [],
  "input_registers": [],
  "holding_registers": [
    {
      "address": 2,
      "count": 1,
      "name": "MODBUS Enable",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 4,
      "count": 1,
      "name": "MODBUS Unit-ID",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 6,
      "count": 8,
      "name": "Inverter article number",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14,
      "count": 8,
      "name": "Inverter serial number",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 30,
      "count": 1,
      "name": "Number of bidirectional converter",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 32,
      "count": 1,
      "name": "Number of AC phases",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 34,
      "count": 1,
      "name": "Number of PV strings",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 38,
      "count": 8,
      "name": "Software-Version Maincontroller (MC)",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 46,
      "count": 8,
      "name": "Software-Version IO-Controller (IOC)",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 100,
      "count": 2,
      "name": "Total DC power",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 108,
      "count": 2,
      "name": "Home own consumption from grid",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 112,
      "count": 2,
      "name": "Total home consumption Grid",
      "data_type": "Float32",
      "units": "Wh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 114,
      "count": 2,
      "name": "Total home consumption PV",
      "data_type": "Float32",
      "units": "Wh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 116,
      "count": 2,
      "name": "Home own consumption from PV",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 118,
      "count": 2,
      "name": "Total home consumption",
      "data_type": "Float32",
      "units": "Wh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 122,
      "count": 2,
      "name": "Power limit from EVU",
      "data_type": "Float32",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 124,
      "count": 2,
      "name": "Total home consumption rate",
      "data_type": "Float32",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 144,
      "count": 2,
      "name": "Worktime",
      "data_type": "Float32",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 150,
      "count": 2,
      "name": "Actual cos φ",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 152,
      "count": 2,
      "name": "Grid frequency",
      "data_type": "Float32",
      "units": "Hz",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 154,
      "count": 2,
      "name": "Current Phase 1",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 156,
      "count": 2,
      "name": "Active power Phase 1",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 158,
      "count": 2,
      "name": "Voltage Phase 1",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 160,
      "count": 2,
      "name": "Current Phase 2",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 162,
      "count": 2,
      "name": "Active power Phase 2",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 164,
      "count": 2,
      "name": "Voltage Phase 2",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 166,
      "count": 2,
      "name": "Current Phase 3",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 168,
      "count": 2,
      "name": "Active power Phase 3",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 170,
      "count": 2,
      "name": "Voltage Phase 3",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 172,
      "count": 2,
      "name": "Total AC active power",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 174,
      "count": 2,
      "name": "Total AC reactive power",
      "data_type": "Float32",
      "units": "Var",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 178,
      "count": 2,
      "name": "Total AC apparent power",
      "data_type": "Float32",
      "units": "VA",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 218,
      "count": 2,
      "name": "Cos φ (powermeter)",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 220,
      "count": 2,
      "name": "Frequency (powermeter)",
      "data_type": "Float32",
      "units": "Hz",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 222,
      "count": 2,
      "name": "Current phase 1 (powermeter)",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 224,
      "count": 2,
      "name": "Active power phase 1 (powermeter)",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 226,
      "count": 2,
      "name": "Reactive power phase 1 (powermeter)",
      "data_type": "Float32",
      "units": "Var",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 228,
      "count": 2,
      "name": "Apparent power phase 1 (powermeter)",
      "data_type": "Float32",
      "units": "VA",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 230,
      "count": 2,
      "name": "Voltage phase 1 (powermeter)",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 232,
      "count": 2,
      "name": "Current phase 2 (powermeter)",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 234,
      "count": 2,
      "name": "Active power phase 2 (powermeter)",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 236,
      "count": 2,
      "name": "Reactive power phase 2 (powermeter)",
      "data_type": "Float32",
      "units": "Var",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 238,
      "count": 2,
      "name": "Apparent power phase 2 (powermeter)",
      "data_type": "Float32",
      "units": "VA",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 240,
      "count": 2,
      "name": "Voltage phase 2 (powermeter)",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 242,
      "count": 2,
      "name": "Current phase 3 (powermeter)",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 244,
      "count": 2,
      "name": "Active power phase 3 (powermeter)",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 246,
      "count": 2,
      "name": "Reactive power phase 3 (powermeter)",
      "data_type": "Float32",
      "units": "Var",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 248,
      "count": 2,
      "name": "Apparent power phase 3 (powermeter)",
      "data_type": "Float32",
      "units": "VA",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 250,
      "count": 2,
      "name": "Voltage phase 3 (powermeter)",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 252,
      "count": 2,
      "name": "Total active power (powermeter)",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Total active power (powermeter): Sensor position 1 (home consumption):; (+) House consumption, (-) generation; Sensor position 2 (grid connection):; (+) Power supply, (-) feed-in"
    },
    {
      "address": 258,
      "count": 2,
      "name": "Current DC1",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 260,
      "count": 2,
      "name": "Power DC1",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 266,
      "count": 2,
      "name": "Voltage DC1",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 268,
      "count": 2,
      "name": "Current DC2",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 270,
      "count": 2,
      "name": "Power DC2",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 276,
      "count": 2,
      "name": "Voltage DC2",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 278,
      "count": 2,
      "name": "Current DC3",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 280,
      "count": 2,
      "name": "Power DC3",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 286,
      "count": 2,
      "name": "Voltage DC3",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 300,
      "count": 2,
      "name": "Current DC4",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 302,
      "count": 2,
      "name": "Power DC4",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 308,
      "count": 2,
      "name": "Voltage DC4",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 320,
      "count": 2,
      "name": "Total yield",
      "data_type": "Float32",
      "units": "Wh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 322,
      "count": 2,
      "name": "Daily yield",
      "data_type": "Float32",
      "units": "Wh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 324,
      "count": 2,
      "name": "Yearly yield",
      "data_type": "Float32",
      "units": "Wh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 326,
      "count": 2,
      "name": "Monthly yield",
      "data_type": "Float32",
      "units": "Wh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 384,
      "count": 32,
      "name": "Inverter network name",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 416,
      "count": 1,
      "name": "IP enable",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 418,
      "count": 1,
      "name": "Manual IP / Auto-IP",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 420,
      "count": 8,
      "name": "IP-address",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 428,
      "count": 8,
      "name": "IP-subnetmask",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 436,
      "count": 8,
      "name": "IP-gateway",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 444,
      "count": 1,
      "name": "IP-auto-DNS",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 446,
      "count": 8,
      "name": "IP-DNS1",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 454,
      "count": 8,
      "name": "IP-DNS2",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 515,
      "count": 2,
      "name": "Firmware Maincontroller (MC)",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 531,
      "count": 1,
      "name": "Inverter Max Power",
      "data_type": "UInt16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 533,
      "count": 1,
      "name": "Active power setpoint (%), range:1..100",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "W"
    },
    {
      "address": 535,
      "count": 16,
      "name": "Inverter Manufacturer",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 551,
      "count": 8,
      "name": "Inverter Model ID",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 559,
      "count": 16,
      "name": "Inverter Serial Number",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 575,
      "count": 1,
      "name": "Inverter Generation Power (actual)",
      "data_type": "Int16",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 577,
      "count": 2,
      "name": "Generation Energy",
      "data_type": "UInt32",
      "units": "Wh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 583,
      "count": 1,
      "name": "Reactive power setpoint (%), range: -100…0…100",
      "data_type": "Int16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "W"
    },
    {
      "address": 585,
      "count": 1,
      "name": "Delta cos φ setpoint1, range: -32768…0…32767",
      "data_type": "Int16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "W",
      "description": "A delta cos φ is transmitted to the inverter: negative = underexcited, positive = overexcited (e.g. -1638 = -0.05 gives cos φ 0.95 underexcited, +3276 = +0.10 gives cos φ 0.90 overexcited). The maximum setting range in use is -26214…26214, which corresponds to cos φ 0.80."
    },
    {
      "address": 608,
      "count": 1,
      "name": "Modbus Address For Digital Meter",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 609,
      "count": 1,
      "name": "Digital Meter Power Direction",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Digital Meter Power Direction: (from grid to load is positive ); 0x0000 : Positive; 0x0001 : Negative"
    },
    {
      "address": 610,
      "count": 1,
      "name": "Zero Feed-in Mode",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Zero Feed-in Mode: 0x0000 : Disable; 0x0001 : Power limit by external command; 0x0002 : Power limit by PVI external CT sensor; 0x0003 : Power limit by digital meter device"
    },
    {
      "address": 611,
      "count": 1,
      "name": "Power Limit Meter Position",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Power Limit Meter Position: 0x0000 : CT or Meter on Grid; 0x0001 : CT or Meter on Load"
    },
    {
      "address": 612,
      "count": 2,
      "name": "Max feed-in power",
      "data_type": "UInt32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 768,
      "count": 32,
      "name": "Productname (e.g. PIKO CI)",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 800,
      "count": 32,
      "name": "Power class (e.g. 30)",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 4126,
      "count": 1,
      "name": "Error message word 1 (0x101E)",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 4127,
      "count": 1,
      "name": "Error message word 2 (0x101F)",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 4128,
      "count": 1,
      "name": "Error message word 3 (0x1020)",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 6684,
      "count": 3,
      "name": "Control board firmware version",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 6752,
      "count": 3,
      "name": "Communication service board firmware version",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 12293,
      "count": 1,
      "name": "Output power de-rating percent",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12299,
      "count": 1,
      "name": "Ripple control receiver enable flag",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Ripple control receiver enable flag: 0x0000 : Disable; 0x0001 : Enable"
    },
    {
      "address": 12300,
      "count": 1,
      "name": "RCR0 Active Power(%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12301,
      "count": 1,
      "name": "RCR1 Active Power(%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12302,
      "count": 1,
      "name": "RCR2 Active Power(%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12303,
      "count": 1,
      "name": "RCR3 Active Power(%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12304,
      "count": 1,
      "name": "RCR4 Active Power(%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12305,
      "count": 1,
      "name": "RCR5 Active Power(%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12306,
      "count": 1,
      "name": "RCR6 Active Power(%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12307,
      "count": 1,
      "name": "RCR7 Active Power(%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12308,
      "count": 1,
      "name": "RCR8 Active Power(%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12309,
      "count": 1,
      "name": "RCR9 Active Power(%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12310,
      "count": 1,
      "name": "RCR10 Active Power(%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12311,
      "count": 1,
      "name": "RCR11 Active Power(%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12312,
      "count": 1,
      "name": "RCR12 Active Power(%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12313,
      "count": 1,
      "name": "RCR13 Active Power(%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12314,
      "count": 1,
      "name": "RCR14 Active Power(%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12315,
      "count": 1,
      "name": "RCR15 Active Power(%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12421,
      "count": 2,
      "name": "Output power de-rating by Modbus command",
      "data_type": "UInt32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12467,
      "count": 1,
      "name": "Power limit function",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Power limit function: 0x0000 : Disable; 0x0001 : External device; 0x0002 : CT sensor; 0x0003 : Digital Power Meter"
    },
    {
      "address": 12468,
      "count": 1,
      "name": "Power limit CT Ratio",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Power limit CT Ratio: 0x0001 : 1000 : 1; 0x0002 : 2000 : 1; 0x0003 : 2500 : 1; 0x0004 : 3000 : 1; 0x0005 : 4000 : 1; 0x0006 : 5000 : 1; 0x0007 : 6000 : 1; 0x0008 : 10000 : 1"
    },
    {
      "address": 12469,
      "count": 1,
      "name": "Device location",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Device location: 0x0000 : CT On Grid; 0x0001 : CT On Load"
    },
    {
      "address": 12473,
      "count": 2,
      "name": "Maximum feed in grid power",
      "data_type": "UInt32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12475,
      "count": 1,
      "name": "Park Controller loss output power percent",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12608,
      "count": 1,
      "name": "Park controller configuration",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Park controller configuration: 0 : Disable (default); 1 : High priority; 2 : Low priority"
    },
    {
      "address": 12609,
      "count": 1,
      "name": "Park controller communication ways",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Park controller communication ways: 0 : LAN (default); 1 : RS485"
    },
    {
      "address": 12610,
      "count": 1,
      "name": "Park controller communication loss timeout",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Park controller communication loss timeout: default: 60 seconds(1~300)"
    },
    {
      "address": 12611,
      "count": 1,
      "name": "Meter communication ways",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Meter communication ways: 0 : LAN (default); 1 : RS485"
    },
    {
      "address": 12632,
      "count": 8,
      "name": "App login password",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12671,
      "count": 1,
      "name": "RCR current input status(16bits)",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "RCR current input status(16bits): Example:; 0x0001(input signal 1 active); 0x8000(input signal 16 active)"
    },
    {
      "address": 12672,
      "count": 1,
      "name": "RCR0 Reactive Power(%)",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12673,
      "count": 1,
      "name": "RCR1 Reactive Power(%)",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12674,
      "count": 1,
      "name": "RCR2 Reactive Power(%)",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12675,
      "count": 1,
      "name": "RCR3 Reactive Power(%)",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12676,
      "count": 1,
      "name": "RCR4 Reactive Power(%)",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12677,
      "count": 1,
      "name": "RCR5 Reactive Power(%)",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12678,
      "count": 1,
      "name": "RCR6 Reactive Power(%)",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12679,
      "count": 1,
      "name": "RCR7 Reactive Power(%)",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12680,
      "count": 1,
      "name": "RCR8 Reactive Power(%)",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12681,
      "count": 1,
      "name": "RCR9 Reactive Power(%)",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12682,
      "count": 1,
      "name": "RCR10 Reactive Power(%)",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12683,
      "count": 1,
      "name": "RCR11 Reactive Power(%)",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12684,
      "count": 1,
      "name": "RCR12 Reactive Power(%)",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12685,
      "count": 1,
      "name": "RCR13 Reactive Power(%)",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12686,
      "count": 1,
      "name": "RCR14 Reactive Power(%)",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12687,
      "count": 1,
      "name": "RCR15 Reactive Power(%)",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12688,
      "count": 1,
      "name": "RCR0 Power Factor",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12689,
      "count": 1,
      "name": "RCR1 Power Factor",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12690,
      "count": 1,
      "name": "RCR2 Power Factor",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12691,
      "count": 1,
      "name": "RCR3 Power Factor",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12692,
      "count": 1,
      "name": "RCR4 Power Factor",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12693,
      "count": 1,
      "name": "RCR5 Power Factor",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12694,
      "count": 1,
      "name": "RCR6 Power Factor",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12695,
      "count": 1,
      "name": "RCR7 Power Factor",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12696,
      "count": 1,
      "name": "RCR8 Power Factor",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12697,
      "count": 1,
      "name": "RCR9 Power Factor",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12698,
      "count": 1,
      "name": "RCR10 Power Factor",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12699,
      "count": 1,
      "name": "RCR11 Power Factor",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12700,
      "count": 1,
      "name": "RCR12 Power Factor",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12701,
      "count": 1,
      "name": "RCR13 Power Factor",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12702,
      "count": 1,
      "name": "RCR14 Power Factor",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12703,
      "count": 1,
      "name": "RCR15 Power Factor",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20480,
      "count": 1,
      "name": "First Connect Delay Time",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20481,
      "count": 1,
      "name": "Reconnect Delay Time",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20482,
      "count": 1,
      "name": "Grid Frequency High Loss Level_1",
      "data_type": "UInt16",
      "units": "0.01Hz",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20483,
      "count": 1,
      "name": "Grid Frequency Low Loss Level_1",
      "data_type": "UInt16",
      "units": "0.01Hz",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20484,
      "count": 1,
      "name": "Grid Voltage High Loss Level_1",
      "data_type": "UInt16",
      "units": "0.1V",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20485,
      "count": 1,
      "name": "Grid Voltage Low Loss Level_1",
      "data_type": "UInt16",
      "units": "0.1V",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20486,
      "count": 1,
      "name": "Grid Frequency High Loss Time Level_1",
      "data_type": "UInt16",
      "units": "ms",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20487,
      "count": 1,
      "name": "Grid Frequency Low Loss Time Level_1",
      "data_type": "UInt16",
      "units": "ms",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20488,
      "count": 1,
      "name": "Grid Voltage High Loss Time Level_1",
      "data_type": "UInt16",
      "units": "ms",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20489,
      "count": 1,
      "name": "Grid Voltage Low Loss Time Level_1",
      "data_type": "UInt16",
      "units": "ms",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20490,
      "count": 1,
      "name": "Grid Frequency High Loss Level_2",
      "data_type": "UInt16",
      "units": "0.01Hz",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20491,
      "count": 1,
      "name": "Grid Frequency Low Loss Level_2",
      "data_type": "UInt16",
      "units": "0.01Hz",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20492,
      "count": 1,
      "name": "Grid Voltage High Loss Level_2",
      "data_type": "UInt16",
      "units": "0.1V",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20493,
      "count": 1,
      "name": "Grid Voltage Low Loss Level_2",
      "data_type": "UInt16",
      "units": "0.1V",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20494,
      "count": 1,
      "name": "Grid Frequency High Loss Tome Level_2",
      "data_type": "UInt16",
      "units": "ms",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20495,
      "count": 1,
      "name": "Grid Frequency Low Loss Time Level_2",
      "data_type": "UInt16",
      "units": "ms",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20496,
      "count": 1,
      "name": "Grid Voltage High Loss Time Level_2",
      "data_type": "UInt16",
      "units": "ms",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20497,
      "count": 1,
      "name": "Grid Voltage Low Loss Time Level_2",
      "data_type": "UInt16",
      "units": "ms",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20498,
      "count": 1,
      "name": "Grid Frequency High Level 1 back",
      "data_type": "UInt16",
      "units": "0.01Hz",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20499,
      "count": 1,
      "name": "Grid Frequency Low Level 1 back",
      "data_type": "UInt16",
      "units": "0.01Hz",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20500,
      "count": 1,
      "name": "De-rating Grid Frequency High back",
      "data_type": "UInt16",
      "units": "0.01Hz",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20501,
      "count": 1,
      "name": "De-rating Grid Frequency Low back",
      "data_type": "UInt16",
      "units": "0.01Hz",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20502,
      "count": 1,
      "name": "Frequency Protection Level 1 Enable",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20503,
      "count": 1,
      "name": "Frequency De-rating Function",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20504,
      "count": 1,
      "name": "MovingAvgVoltLimit",
      "data_type": "UInt16",
      "units": "0.1V",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20505,
      "count": 1,
      "name": "Reconnect power gradient",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20506,
      "count": 1,
      "name": "P(f) curve power gradient",
      "data_type": "UInt16",
      "units": "0,1%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20507,
      "count": 1,
      "name": "Insulation Impedance",
      "data_type": "UInt16",
      "units": "kΩ",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20511,
      "count": 1,
      "name": "Grid frequency high Level 1 trip time (High Word)",
      "data_type": "UInt16",
      "units": "ms",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20512,
      "count": 1,
      "name": "Grid frequency low Level 1 trip time (High Word)",
      "data_type": "UInt16",
      "units": "ms",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20513,
      "count": 1,
      "name": "Over Frequency derating start point",
      "data_type": "UInt16",
      "units": "0.01Hz",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20514,
      "count": 1,
      "name": "Over Frequency derating end point",
      "data_type": "UInt16",
      "units": "0.01Hz",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20515,
      "count": 1,
      "name": "Active power change gradient",
      "data_type": "UInt16",
      "units": "0.01%/s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20516,
      "count": 1,
      "name": "Postive sequence K factor",
      "data_type": "UInt16",
      "units": "0,1",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20517,
      "count": 1,
      "name": "Grid Voltage High Level 1 trip time (High Word)",
      "data_type": "UInt16",
      "units": "ms",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20518,
      "count": 1,
      "name": "Grid Voltage Low Level 1 trip time (High Word)",
      "data_type": "UInt16",
      "units": "ms",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20519,
      "count": 1,
      "name": "Grid Reconnection Voltage High Limit",
      "data_type": "UInt16",
      "units": "0.1V",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20520,
      "count": 1,
      "name": "Grid Reconnection Voltage Low Limit",
      "data_type": "UInt16",
      "units": "0.1V",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20521,
      "count": 1,
      "name": "Connection soft start output power percent",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20522,
      "count": 1,
      "name": "Negative sequence K factor",
      "data_type": "UInt16",
      "units": "0,1",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20528,
      "count": 1,
      "name": "Reactive Power Control",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20529,
      "count": 1,
      "name": "cosφ",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20531,
      "count": 1,
      "name": "Reactive power control settling time (s)",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20532,
      "count": 1,
      "name": "Cosφ(P) curve node 1 Power (%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20533,
      "count": 1,
      "name": "Cosφ(P) curve node 2 Power (%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20534,
      "count": 1,
      "name": "Cosφ(P) curve node 3 Power (%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20535,
      "count": 1,
      "name": "Cosφ(P)) curve node 4 Power (%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20536,
      "count": 1,
      "name": "Cosφ(P) curve node 1 Power Factor",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20537,
      "count": 1,
      "name": "Cosφ(P) curve node 2 Power Factor",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20538,
      "count": 1,
      "name": "Cosφ(P) curve node 3 Power Factor",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20539,
      "count": 1,
      "name": "Cosφ(P) curve node 4 Power Factor",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20540,
      "count": 1,
      "name": "Q(U) curve node 1 voltage (%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20541,
      "count": 1,
      "name": "Q(U) curve node 2 voltage (%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20542,
      "count": 1,
      "name": "Q(U) curve node 3 voltage (%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20543,
      "count": 1,
      "name": "Q(U) curve node 4 voltage (%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20544,
      "count": 1,
      "name": "Q(U) curve node 1 Reactive Power (%)",
      "data_type": "UInt16",
      "units": "0,1%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20545,
      "count": 1,
      "name": "Q(U) curve node 2 Reactive Power (%)",
      "data_type": "UInt16",
      "units": "0,1%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20546,
      "count": 1,
      "name": "Q(U) curve node 3 Reactive Power (%)",
      "data_type": "UInt16",
      "units": "0,1%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20547,
      "count": 1,
      "name": "Q(U) curve node 4 Reactive Power (%)",
      "data_type": "UInt16",
      "units": "0,1%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20553,
      "count": 1,
      "name": "P(U) Curve node 1 voltage(V)",
      "data_type": "UInt16",
      "units": "0.1V",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20554,
      "count": 1,
      "name": "P(U) Curve node 2 voltage(V)",
      "data_type": "UInt16",
      "units": "0.1V",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20555,
      "count": 1,
      "name": "P(U) Curve node 3 voltage(V)",
      "data_type": "UInt16",
      "units": "0.1V",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20556,
      "count": 1,
      "name": "P(U) Curve node 4 voltage(V)",
      "data_type": "UInt16",
      "units": "0.1V",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20557,
      "count": 1,
      "name": "P(U) Curve node 1 Power (%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20558,
      "count": 1,
      "name": "P(U) Curve node 2 Power (%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20559,
      "count": 1,
      "name": "P(U) Curve node 3 Power (%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20560,
      "count": 1,
      "name": "P(U) Curve node 4 Power (%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20569,
      "count": 1,
      "name": "Cosφ(P) curve type",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Cosφ(P) curve type: 0x0000: Type1(< 3.68K); 0x0001: Type2(>3.68 and< 13.8K); 0x0002: Type3(> 13.8K); 0x0003: Type4(Customization)"
    },
    {
      "address": 20570,
      "count": 1,
      "name": "Q(P) curve node 1 Active Power (%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20571,
      "count": 1,
      "name": "Q(P) curve node 2 Active Power (%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20572,
      "count": 1,
      "name": "Q(P) curve node 3 Active Power (%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20573,
      "count": 1,
      "name": "Q(P) curve node 4 Active Power (%)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20574,
      "count": 1,
      "name": "Q (P) curve node 1 Reactive Power (%)",
      "data_type": "UInt16",
      "units": "0,1%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20575,
      "count": 1,
      "name": "Q (P) curve node 2 Reactive Power (%)",
      "data_type": "UInt16",
      "units": "0,1%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20576,
      "count": 1,
      "name": "Q (P) curve node 3 Reactive Power (%)",
      "data_type": "UInt16",
      "units": "0,1%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20577,
      "count": 1,
      "name": "Q (P) curve node 4 Reactive Power (%)",
      "data_type": "UInt16",
      "units": "0,1%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20578,
      "count": 1,
      "name": "Grid voltage Protection",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Grid voltage Protection: 0x0000: Disable; 0x0001: Enable"
    },
    {
      "address": 20579,
      "count": 1,
      "name": "LVRT triggering threshold",
      "data_type": "UInt16",
      "units": "0.1V",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20580,
      "count": 1,
      "name": "HVRT triggering threshold",
      "data_type": "UInt16",
      "units": "0.1V",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20581,
      "count": 1,
      "name": "Fault Ride Through Mode",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20582,
      "count": 1,
      "name": "Zero current mode triggering threshold",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20583,
      "count": 1,
      "name": "Grid voltage jump triggering threshold",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20737,
      "count": 1,
      "name": "Regulation Code",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20740,
      "count": 1,
      "name": "De-rating Watt Percent",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20742,
      "count": 1,
      "name": "MPPT Shadow Management",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "MPPT Shadow Management: 0x0000: Disable; 0x0001: shadow manage; 0x0002: I-V curve detect"
    },
    {
      "address": 20743,
      "count": 1,
      "name": "Mppt Shadow Management Interval Time",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20750,
      "count": 1,
      "name": "Island Detection",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Island Detection: 0x0000: Disable; 0x0001: Enable"
    },
    {
      "address": 20751,
      "count": 1,
      "name": "Grid Voltage Unblanced limit",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20752,
      "count": 1,
      "name": "Leakage Current Limit (mA)",
      "data_type": "UInt16",
      "units": "mA",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20753,
      "count": 1,
      "name": "String Abnormal Detection",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20756,
      "count": 1,
      "name": "Reactive Power",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20758,
      "count": 1,
      "name": "Arc fault detect function",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Arc fault detect function: 0x0000: Disable; 0x0001: Enable The table prints decimal 20578 in this row while its hex column says 0x5116 (= 20758); 20578 is already taken by 0x5062 Grid voltage protection, so the hex address is used."
    },
    {
      "address": 20759,
      "count": 1,
      "name": "Insulation Resistor Detect Function",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Insulation Resistor Detect Function: 0x0000: Disable; 0x0001: Enable"
    },
    {
      "address": 20760,
      "count": 1,
      "name": "Leakage current Detect Function",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Leakage current Detect Function: 0x0000: Disable; 0x0001: Enable"
    },
    {
      "address": 20765,
      "count": 1,
      "name": "Grid high voltage load de-rating function 0x0000:",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Grid high voltage load de-rating function 0x0000:: Disable; 0x0001: Enable"
    },
    {
      "address": 20769,
      "count": 1,
      "name": "Reactive Power",
      "data_type": "Int16",
      "units": "0,01%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 20778,
      "count": 1,
      "name": "Park Controller loss check enable",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Park Controller loss check enable: 0x0000: Disable; 0x0001: Enable"
    },
    {
      "address": 21017,
      "count": 1,
      "name": "Remote off singal status",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Remote off singal status: 0x0000 : Non-active; 0x0001 : Active"
    },
    {
      "address": 21018,
      "count": 1,
      "name": "Remote off function",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Remote off function: 0x0000 : Disable; 0x0001 : Enable"
    },
    {
      "address": 24591,
      "count": 1,
      "name": "Setting Output power factor",
      "data_type": "Int16",
      "units": "0,001",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Setting Output power factor: (+) Positive : over-excited (lag, inductive); (-) Negative : under-excited (lead, capacitive)"
    },
    {
      "address": 24592,
      "count": 1,
      "name": "Setting Reactive Power Percent",
      "data_type": "Int16",
      "units": "0,01%",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Setting Reactive Power Percent: (+) Positive : over-excited (lag, inductive); (-) Negative : under-excited (lead, capacitive)"
    },
    {
      "address": 28672,
      "count": 2,
      "name": "Current DC1",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28674,
      "count": 2,
      "name": "Power DC1",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28676,
      "count": 2,
      "name": "Voltage DC1",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28678,
      "count": 2,
      "name": "Current DC2",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28680,
      "count": 2,
      "name": "Power DC2",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28682,
      "count": 2,
      "name": "Voltage DC2",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28684,
      "count": 2,
      "name": "Current DC3",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28686,
      "count": 2,
      "name": "Power DC3",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28688,
      "count": 2,
      "name": "Voltage DC3",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28690,
      "count": 2,
      "name": "Current DC4",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28692,
      "count": 2,
      "name": "Power DC4",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28694,
      "count": 2,
      "name": "Voltage DC4",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28696,
      "count": 2,
      "name": "DC54Current",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28698,
      "count": 2,
      "name": "DC54Power",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28700,
      "count": 2,
      "name": "DC54Voltage",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28702,
      "count": 2,
      "name": "DC64Current",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28704,
      "count": 2,
      "name": "DC64Power",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28706,
      "count": 2,
      "name": "DC64Voltage",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28708,
      "count": 2,
      "name": "DC74Current",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28710,
      "count": 2,
      "name": "DC74Power",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28712,
      "count": 2,
      "name": "DC74Voltage",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28714,
      "count": 2,
      "name": "DC84Current",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28716,
      "count": 2,
      "name": "DC84Power",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28718,
      "count": 2,
      "name": "DC84Voltage",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    }
  ],
  "combined_registers": [],
  "notes": "Source: KOSTAL Solar Electric GmbH \"PIKO CI - KOSTAL MODBUS (TCP) with control information\", interface description, release date 11.08.2025, revision 1.5, valid for PIKO CI 30 / CI 50 / CI 60 (FW V3.17), PIKO CI 30/50 G2 (FW V01) and PIKO CI 100 (FW V03); vendor-hosted at https://www.kostal-solar-electric.com/fileadmin/downloadcenter/kse/BA/Protokollbeschreibung/BA_PIKO-CI_KOSTAL-Interface-description-Modbus-Sunspec.pdf. The register table (sections 6.1 and 6.2) prints the address twice, in hex and in decimal, and the two agree except for 0x5116 (see that row); the numbers are wire addresses, so the seed is zero_based. Modbus TCP defaults from section 3.4: port 1502, unit ID 71 (modifiable). For the RS-485 path section 4.4.1 gives 19200 bps, 8 data bits, no parity, 2 stop bits and unit ID 71 as well; the device is reached over its LAN port here, so no serial block is set. Values are IEEE-754 single-precision floats in two registers; the document states big-endian for addresses and data items and contains no worked float frame, so word order HighFirst is declared - KOSTAL's PLENTICORE series documents CDAB (LowFirst) for the same float format, so verify on site. Omitted: three rows that name a scale factor but carry no data type (0x214, 0x240, 0x243), and 0x24 Hardware-Version, 0x36 Power-ID and 0x38 Inverter state, whose rows say U16 yet span two registers. The SunSpec model chain of section 7 is not included, and the error words 0x101E-0x1020 carry only a pointer to the document's bit tables. The writable registers of section 6.2 change grid-protection and P(f)/Q(U) parameters - writing them requires the installer's grid-code authorisation."
}
