{
  "manufacturer": "huawei",
  "model": "SUN2000 (Generic 2023)",
  "device": "SUN2000 (Generic 2023)",
  "category": "Altro",
  "protocol": "modbus",
  "version": "v1",
  "firmware": null,
  "verification": "IMPORTED",
  "isDemo": false,
  "source": {
    "title": "Import PDF Solar Inverter Modbus Interface Definitions (1).pdf",
    "url": null,
    "documentRef": null,
    "revision": null
  },
  "generatedAt": "2026-09-21T14:26:58.420Z",
  "registers": [
    {
      "address": "30015",
      "addressNumeric": 14,
      "signal": "sn",
      "name": "SN",
      "description": "10 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "30025",
      "addressNumeric": 24,
      "signal": "pn",
      "name": "PN",
      "description": "10 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40037",
      "addressNumeric": 36,
      "signal": "q_u_curve_mode",
      "name": "Q-U curve mode",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40038",
      "addressNumeric": 37,
      "signal": "q_u_dispatch_trigger_power",
      "name": "Q-U dispatch trigger power",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "%",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "30070",
      "addressNumeric": 69,
      "signal": "model_id",
      "name": "Model ID",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "30071",
      "addressNumeric": 70,
      "signal": "number_of_pv_strings",
      "name": "Number of PV strings",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "30072",
      "addressNumeric": 71,
      "signal": "number_of_mpp_trackers",
      "name": "Number of MPP trackers",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "30073",
      "addressNumeric": 72,
      "signal": "rated_power_pn",
      "name": "Rated power (Pn)",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "kW",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "30075",
      "addressNumeric": 74,
      "signal": "max_active_power_pmax",
      "name": "Max active power (Pmax)",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "kW",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "30077",
      "addressNumeric": 76,
      "signal": "max_apparent_power_smax",
      "name": "Max apparent power (Smax)",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "kVA",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "30079",
      "addressNumeric": 78,
      "signal": "max_reactive_power_fed_to_grid_qmax",
      "name": "Max reactive power fed to grid (Qmax)",
      "description": null,
      "functionCode": 3,
      "datatype": "int32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "kVar",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "30081",
      "addressNumeric": 80,
      "signal": "max_reactive_power_absorbed_from_grid_qmax",
      "name": "Max reactive power absorbed from grid (Qmax)",
      "description": null,
      "functionCode": 3,
      "datatype": "int32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "kVar",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40120",
      "addressNumeric": 119,
      "signal": "fixed_active_power_derated_kw",
      "name": "Fixed active power derated (kW)",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "kW",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40122",
      "addressNumeric": 121,
      "signal": "reactive_power_compensation_pf",
      "name": "Reactive power compensation PF",
      "description": null,
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.001,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40123",
      "addressNumeric": 122,
      "signal": "reactive_power_compensation_q_s",
      "name": "Reactive power compensation Q/S",
      "description": null,
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.001,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40125",
      "addressNumeric": 124,
      "signal": "active_power_derating",
      "name": "Active power % derating",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "%",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40126",
      "addressNumeric": 125,
      "signal": "fixed_active_power_derated_w",
      "name": "Fixed active power derated (W)",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "W",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40129",
      "addressNumeric": 128,
      "signal": "reactive_power_compensation_at_night",
      "name": "Reactive power compensation at night",
      "description": null,
      "functionCode": 3,
      "datatype": "int32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "kVar",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40133",
      "addressNumeric": 132,
      "signal": "cos_p_pn_curve",
      "name": "cosφ-P/Pn curve",
      "description": "21 registri: struttura array che impacchetta fino a 10 punti (P/Pn, cosφ) della curva di regolazione. Non espansa punto per punto.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40154",
      "addressNumeric": 153,
      "signal": "q_u_curve",
      "name": "Q-U curve",
      "description": "21 registri: struttura array che impacchetta fino a 10 punti (U, Q) della curva di regolazione. Non espansa punto per punto.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40175",
      "addressNumeric": 174,
      "signal": "pf_u_curve",
      "name": "PF-U curve",
      "description": "21 registri: struttura array che impacchetta fino a 10 punti (U, PF) della curva di regolazione. Non espansa punto per punto.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40196",
      "addressNumeric": 195,
      "signal": "reactive_power_adjustment_time",
      "name": "Reactive power adjustment time",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "s",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40198",
      "addressNumeric": 197,
      "signal": "q_u_exit_scheduling",
      "name": "Q-U % exit scheduling",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "%",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40200",
      "addressNumeric": 199,
      "signal": "startup",
      "name": "Startup",
      "description": "Comando write-only.",
      "functionCode": 6,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40201",
      "addressNumeric": 200,
      "signal": "shutdown",
      "name": "Shutdown",
      "description": "Comando write-only.",
      "functionCode": 6,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "30561",
      "addressNumeric": 560,
      "signal": "offering_name_of_southbound_device_1",
      "name": "Offering name of southbound device 1",
      "description": "15 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "30576",
      "addressNumeric": 575,
      "signal": "offering_name_of_southbound_device_2",
      "name": "Offering name of southbound device 2",
      "description": "15 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "30591",
      "addressNumeric": 590,
      "signal": "offering_name_of_southbound_device_3",
      "name": "Offering name of southbound device 3",
      "description": "15 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "31000",
      "addressNumeric": 999,
      "signal": "hardware_version",
      "name": "Hardware version",
      "description": "15 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "31015",
      "addressNumeric": 1014,
      "signal": "monitoring_board_sn",
      "name": "Monitoring board SN",
      "description": "10 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "31025",
      "addressNumeric": 1024,
      "signal": "monitoring_software_version",
      "name": "Monitoring software version",
      "description": "15 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "31040",
      "addressNumeric": 1039,
      "signal": "master_dsp_version",
      "name": "Master DSP version",
      "description": "15 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "31070",
      "addressNumeric": 1069,
      "signal": "cpld_version",
      "name": "CPLD version",
      "description": "15 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "31085",
      "addressNumeric": 1084,
      "signal": "afci_version",
      "name": "AFCI version",
      "description": "15 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "31115",
      "addressNumeric": 1114,
      "signal": "dc_mbus_version",
      "name": "DC-MBUS version",
      "description": "15 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "31200",
      "addressNumeric": 1199,
      "signal": "regkey",
      "name": "REGKEY",
      "description": "10 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32000",
      "addressNumeric": 1999,
      "signal": "state1",
      "name": "State1",
      "description": "bit0 Standby, bit1 Grid-connected, bit2 Normale, bit3 Derate-power, bit4 Derate-interno, bit5 Stop normale, bit6 Stop guasto, bit7 Stop power rationing, bit8 Shutdown, bit9 Spot check.",
      "functionCode": 3,
      "datatype": "bitfield",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "42000",
      "addressNumeric": 1999,
      "signal": "grid_code",
      "name": "Grid code",
      "description": "Enum di ~275 valori (uno per standard di rete nazionale/locale): vedi tabella grid code del documento originale, non elencata per esteso.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32002",
      "addressNumeric": 2001,
      "signal": "state2",
      "name": "State2",
      "description": "bit0 Locking, bit1 PV connected, bit2 DSP data collection.",
      "functionCode": 3,
      "datatype": "bitfield",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32003",
      "addressNumeric": 2002,
      "signal": "state3",
      "name": "State3",
      "description": "bit0 Off-grid, bit1 Off-grid switch.",
      "functionCode": 3,
      "datatype": "bitfield",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32008",
      "addressNumeric": 2007,
      "signal": "alarm1",
      "name": "Alarm1",
      "description": "Vedi tabella allarmi §5.1 del documento originale (48 allarmi), non trascritta bit per bit per mancanza del dettaglio nell'estrazione disponibile.",
      "functionCode": 3,
      "datatype": "bitfield",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32009",
      "addressNumeric": 2008,
      "signal": "alarm2",
      "name": "Alarm2",
      "description": "Vedi tabella allarmi §5.1 del documento originale.",
      "functionCode": 3,
      "datatype": "bitfield",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32010",
      "addressNumeric": 2009,
      "signal": "alarm3",
      "name": "Alarm3",
      "description": "Vedi tabella allarmi §5.1 del documento originale.",
      "functionCode": 3,
      "datatype": "bitfield",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32015",
      "addressNumeric": 2014,
      "signal": "esn",
      "name": "ESN",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "42015",
      "addressNumeric": 2014,
      "signal": "reactive_power_change_gradient",
      "name": "Reactive power change gradient",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "%/s",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32016",
      "addressNumeric": 2015,
      "signal": "pv1_voltage",
      "name": "PV1 voltage",
      "description": "Per le stringhe PV5-24: indirizzo tensione = 32014+2*n, indirizzo corrente = 32015+2*n (n=numero stringa), non importate singolarmente.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32017",
      "addressNumeric": 2016,
      "signal": "pv1_current",
      "name": "PV1 current",
      "description": "Per le stringhe PV5-24: indirizzo tensione = 32014+2*n, indirizzo corrente = 32015+2*n (n=numero stringa), non importate singolarmente.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "42017",
      "addressNumeric": 2016,
      "signal": "active_power_change_gradient",
      "name": "Active power change gradient",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "%/s",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32018",
      "addressNumeric": 2017,
      "signal": "pv2_voltage",
      "name": "PV2 voltage",
      "description": "Per le stringhe PV5-24: indirizzo tensione = 32014+2*n, indirizzo corrente = 32015+2*n (n=numero stringa), non importate singolarmente.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32019",
      "addressNumeric": 2018,
      "signal": "pv2_current",
      "name": "PV2 current",
      "description": "Per le stringhe PV5-24: indirizzo tensione = 32014+2*n, indirizzo corrente = 32015+2*n (n=numero stringa), non importate singolarmente.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "42019",
      "addressNumeric": 2018,
      "signal": "schedule_instruction_valid_duration",
      "name": "Schedule instruction valid duration",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "s",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32020",
      "addressNumeric": 2019,
      "signal": "pv3_voltage",
      "name": "PV3 voltage",
      "description": "Per le stringhe PV5-24: indirizzo tensione = 32014+2*n, indirizzo corrente = 32015+2*n (n=numero stringa), non importate singolarmente.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32021",
      "addressNumeric": 2020,
      "signal": "pv3_current",
      "name": "PV3 current",
      "description": "Per le stringhe PV5-24: indirizzo tensione = 32014+2*n, indirizzo corrente = 32015+2*n (n=numero stringa), non importate singolarmente.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32022",
      "addressNumeric": 2021,
      "signal": "pv4_voltage",
      "name": "PV4 voltage",
      "description": "Per le stringhe PV5-24: indirizzo tensione = 32014+2*n, indirizzo corrente = 32015+2*n (n=numero stringa), non importate singolarmente.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32023",
      "addressNumeric": 2022,
      "signal": "pv4_current",
      "name": "PV4 current",
      "description": "Per le stringhe PV5-24: indirizzo tensione = 32014+2*n, indirizzo corrente = 32015+2*n (n=numero stringa), non importate singolarmente.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32064",
      "addressNumeric": 2063,
      "signal": "input_power",
      "name": "Input power",
      "description": null,
      "functionCode": 3,
      "datatype": "int32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "kW",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32066",
      "addressNumeric": 2065,
      "signal": "line_voltage_a_b",
      "name": "Line voltage A-B",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32067",
      "addressNumeric": 2066,
      "signal": "line_voltage_b_c",
      "name": "Line voltage B-C",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32068",
      "addressNumeric": 2067,
      "signal": "line_voltage_c_a",
      "name": "Line voltage C-A",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32069",
      "addressNumeric": 2068,
      "signal": "phase_a_voltage",
      "name": "Phase A voltage",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32070",
      "addressNumeric": 2069,
      "signal": "phase_b_voltage",
      "name": "Phase B voltage",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32071",
      "addressNumeric": 2070,
      "signal": "phase_c_voltage",
      "name": "Phase C voltage",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32072",
      "addressNumeric": 2071,
      "signal": "grid_current_phase_a_current",
      "name": "Grid current / Phase A current",
      "description": null,
      "functionCode": 3,
      "datatype": "int32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32074",
      "addressNumeric": 2073,
      "signal": "phase_b_current",
      "name": "Phase B current",
      "description": null,
      "functionCode": 3,
      "datatype": "int32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32076",
      "addressNumeric": 2075,
      "signal": "phase_c_current",
      "name": "Phase C current",
      "description": null,
      "functionCode": 3,
      "datatype": "int32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32078",
      "addressNumeric": 2077,
      "signal": "peak_active_power_of_current_day",
      "name": "Peak active power of current day",
      "description": null,
      "functionCode": 3,
      "datatype": "int32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "kW",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32080",
      "addressNumeric": 2079,
      "signal": "active_power",
      "name": "Active power",
      "description": null,
      "functionCode": 3,
      "datatype": "int32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "kW",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32082",
      "addressNumeric": 2081,
      "signal": "reactive_power",
      "name": "Reactive power",
      "description": null,
      "functionCode": 3,
      "datatype": "int32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "kVar",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32084",
      "addressNumeric": 2083,
      "signal": "power_factor",
      "name": "Power factor",
      "description": null,
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.001,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32085",
      "addressNumeric": 2084,
      "signal": "grid_frequency",
      "name": "Grid frequency",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "Hz",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32086",
      "addressNumeric": 2085,
      "signal": "efficiency",
      "name": "Efficiency",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "%",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32087",
      "addressNumeric": 2086,
      "signal": "internal_temperature",
      "name": "Internal temperature",
      "description": null,
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "°C",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32088",
      "addressNumeric": 2087,
      "signal": "insulation_resistance",
      "name": "Insulation resistance",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.001,
      "offset": 0,
      "unit": "MΩ",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32089",
      "addressNumeric": 2088,
      "signal": "device_status",
      "name": "Device status",
      "description": "Enum esteso: 0x0000-0x0303 stati standby/starting/on-grid/shutdown vari, 0x0401-0x0405 grid scheduling curves, 0x0500-0x0900 spot-check/inspecting/AFCI/IV-scan/DC-input, 0x0A00 off-grid charging, 0xA000 no irradiation. Vedi tabella completa nel documento originale.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32090",
      "addressNumeric": 2089,
      "signal": "fault_code",
      "name": "Fault code",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32091",
      "addressNumeric": 2090,
      "signal": "startup_time",
      "name": "Startup time",
      "description": "Epoch seconds.",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32093",
      "addressNumeric": 2092,
      "signal": "shutdown_time",
      "name": "Shutdown time",
      "description": "Epoch seconds.",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32106",
      "addressNumeric": 2105,
      "signal": "accumulated_energy_yield",
      "name": "Accumulated energy yield",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 0.01,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32114",
      "addressNumeric": 2113,
      "signal": "daily_energy_yield",
      "name": "Daily energy yield",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 0.01,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "42405",
      "addressNumeric": 2404,
      "signal": "failsafe_active_power_limit",
      "name": "Failsafe Active Power Limit",
      "description": null,
      "functionCode": 3,
      "datatype": "int32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "kW",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "43006",
      "addressNumeric": 3005,
      "signal": "time_zone",
      "name": "Time zone",
      "description": null,
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "min",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "43098",
      "addressNumeric": 3097,
      "signal": "tls_encryption",
      "name": "TLS encryption",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "45052",
      "addressNumeric": 5051,
      "signal": "wlan_wakeup",
      "name": "WLAN wakeup",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "45086",
      "addressNumeric": 5085,
      "signal": "fast_power_scheduling",
      "name": "Fast power scheduling",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35127",
      "addressNumeric": 5126,
      "signal": "management_system_status",
      "name": "Management system status",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35136",
      "addressNumeric": 5135,
      "signal": "smart_i_v_curve_diagnosis_authorization",
      "name": "Smart I-V Curve Diagnosis Authorization",
      "description": "Doubleword bitfield.",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35138",
      "addressNumeric": 5137,
      "signal": "license_status",
      "name": "License status",
      "description": "Enum 0-5.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35139",
      "addressNumeric": 5138,
      "signal": "license_expiration_time",
      "name": "License expiration time",
      "description": "Epoch time.",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35141",
      "addressNumeric": 5140,
      "signal": "license_loading_time",
      "name": "License loading time",
      "description": "Epoch time.",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35143",
      "addressNumeric": 5142,
      "signal": "license_revocation_time",
      "name": "License revocation time",
      "description": "Epoch time.",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35145",
      "addressNumeric": 5144,
      "signal": "license_sn",
      "name": "License SN",
      "description": "10 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35155",
      "addressNumeric": 5154,
      "signal": "revocation_code",
      "name": "Revocation code",
      "description": "64 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35249",
      "addressNumeric": 5248,
      "signal": "4g_module_status",
      "name": "4G module status",
      "description": "Enum esteso, vedi documento originale.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35250",
      "addressNumeric": 5249,
      "signal": "4g_ip_address",
      "name": "4G IP address",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35252",
      "addressNumeric": 5251,
      "signal": "4g_subnet_mask",
      "name": "4G subnet mask",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35254",
      "addressNumeric": 5253,
      "signal": "4g_imei",
      "name": "4G IMEI",
      "description": "10 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35264",
      "addressNumeric": 5263,
      "signal": "4g_signal_strength",
      "name": "4G signal strength",
      "description": "Range 0-5.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35265",
      "addressNumeric": 5264,
      "signal": "4g_max_pin_attempts",
      "name": "4G max PIN attempts",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35266",
      "addressNumeric": 5265,
      "signal": "4g_pin_verification_status",
      "name": "4G PIN verification status",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35268",
      "addressNumeric": 5267,
      "signal": "original_model_name",
      "name": "Original model name",
      "description": "15 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35300",
      "addressNumeric": 5299,
      "signal": "active_adjustment_mode",
      "name": "Active adjustment mode",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35302",
      "addressNumeric": 5301,
      "signal": "active_adjustment_value",
      "name": "Active adjustment value",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35303",
      "addressNumeric": 5302,
      "signal": "active_adjustment_command",
      "name": "Active adjustment command",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35304",
      "addressNumeric": 5303,
      "signal": "reactive_adjustment_mode",
      "name": "Reactive adjustment mode",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35305",
      "addressNumeric": 5304,
      "signal": "reactive_adjustment_value",
      "name": "Reactive adjustment value",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35307",
      "addressNumeric": 5306,
      "signal": "reactive_adjustment_command",
      "name": "Reactive adjustment command",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "37006",
      "addressNumeric": 7005,
      "signal": "charge_discharge_mode_system_level",
      "name": "Charge/Discharge mode (system level)",
      "description": "Enum 0-11.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "47589",
      "addressNumeric": 7588,
      "signal": "remote_charge_discharge_control_mode",
      "name": "Remote charge/discharge control mode",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "47674",
      "addressNumeric": 7673,
      "signal": "scheduled_task",
      "name": "Scheduled task",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "47675",
      "addressNumeric": 7674,
      "signal": "default_max_feed_in_power",
      "name": "Default max feed-in power",
      "description": null,
      "functionCode": 3,
      "datatype": "int32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "kW",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "47677",
      "addressNumeric": 7676,
      "signal": "default_active_power_change_gradient",
      "name": "Default active power change gradient",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "%/s",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "47954",
      "addressNumeric": 7953,
      "signal": "peak_shaving",
      "name": "Peak Shaving",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "47955",
      "addressNumeric": 7954,
      "signal": "backup_power_soc_for_peak_shaving",
      "name": "Backup power SOC for peak shaving",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "%",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "47956",
      "addressNumeric": 7955,
      "signal": "peak_power",
      "name": "Peak power",
      "description": "64 registri, struttura non specificata nel documento.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "48020",
      "addressNumeric": 8019,
      "signal": "emma",
      "name": "EMMA",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "48089",
      "addressNumeric": 8088,
      "signal": "backup_box_model",
      "name": "Backup Box model",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "48090",
      "addressNumeric": 8089,
      "signal": "phase_to_ground_short_circuit_protection",
      "name": "Phase-to-ground short-circuit protection",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "30000",
      "addressNumeric": 30000,
      "signal": "model",
      "name": "Model",
      "description": "15 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40000",
      "addressNumeric": 40000,
      "signal": "system_time",
      "name": "System time",
      "description": "Epoch seconds.",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    }
  ]
}