{
  "manufacturer": "pilot",
  "model": "spm33",
  "device": "spm33",
  "category": "Altro",
  "protocol": "modbus",
  "version": "v1",
  "firmware": null,
  "verification": "IMPORTED",
  "isDemo": false,
  "source": {
    "title": "pilot spm33 — modbus-database (registers.json)",
    "url": "https://www.aggsoft.com/serial-data-logger/tutorials/modbus-data-logging/pilot-spm33.htm",
    "documentRef": null,
    "revision": null
  },
  "generatedAt": "2026-09-21T13:14:29.703Z",
  "registers": [
    {
      "address": "1",
      "addressNumeric": 1,
      "signal": "phase_b_voltage",
      "name": "Phase-B-voltage",
      "description": "Phase-B-voltage",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "2",
      "addressNumeric": 2,
      "signal": "phase_c_voltage",
      "name": "Phase-C-voltage",
      "description": "Phase-C-voltage",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "3",
      "addressNumeric": 3,
      "signal": "line_ab_voltage",
      "name": "Line-ab-voltage",
      "description": "Line-ab-voltage",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4",
      "addressNumeric": 4,
      "signal": "line_bc_voltage",
      "name": "Line-bc-voltage",
      "description": "Line-bc-voltage",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "5",
      "addressNumeric": 5,
      "signal": "line_ca_voltage",
      "name": "Line-ca-voltage",
      "description": "Line-ca-voltage",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "6",
      "addressNumeric": 6,
      "signal": "phase_a_current",
      "name": "Phase-A-current",
      "description": "Phase-A-current",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "7",
      "addressNumeric": 7,
      "signal": "phase_b_current",
      "name": "Phase-B-current",
      "description": "Phase-B-current",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "8",
      "addressNumeric": 8,
      "signal": "phase_c_current",
      "name": "Phase-C-current",
      "description": "Phase-C-current",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "9",
      "addressNumeric": 9,
      "signal": "neutral_current",
      "name": "Neutral-current",
      "description": "Neutral-current",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "10",
      "addressNumeric": 10,
      "signal": "total_active_power",
      "name": "Total-active-power",
      "description": "Total-active-power",
      "functionCode": 3,
      "datatype": "int32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "W",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "12",
      "addressNumeric": 12,
      "signal": "total_reactive_power",
      "name": "Total-reactive-power",
      "description": "Total-reactive-power",
      "functionCode": 3,
      "datatype": "int32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Var",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "14",
      "addressNumeric": 14,
      "signal": "total_power_factor",
      "name": "Total-power-factor",
      "description": "Total-power-factor",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "15",
      "addressNumeric": 15,
      "signal": "phase_a_active_power",
      "name": "Phase-A-active-power",
      "description": "Phase-A-active-power",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "W",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "16",
      "addressNumeric": 16,
      "signal": "phase_b_active_power",
      "name": "Phase-B-active-power",
      "description": "Phase-B-active-power",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "W",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "17",
      "addressNumeric": 17,
      "signal": "phase_c_active_power",
      "name": "Phase-C-active-power",
      "description": "Phase-C-active-power",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "W",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "18",
      "addressNumeric": 18,
      "signal": "phase_a_reactive_power",
      "name": "Phase-A-reactive-power",
      "description": "Phase-A-reactive-power",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "W",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19",
      "addressNumeric": 19,
      "signal": "phase_b_reactive_power",
      "name": "Phase-B-reactive-power",
      "description": "Phase-B-reactive-power",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "W",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "20",
      "addressNumeric": 20,
      "signal": "phase_c_reactive_power",
      "name": "Phase-C-reactive-power",
      "description": "Phase-C-reactive-power",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "W",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "21",
      "addressNumeric": 21,
      "signal": "phase_a_power_factor",
      "name": "Phase-A-power-factor",
      "description": "Phase-A-power-factor",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "22",
      "addressNumeric": 22,
      "signal": "phase_b_power_factor",
      "name": "Phase-B-power-factor",
      "description": "Phase-B-power-factor",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "23",
      "addressNumeric": 23,
      "signal": "phase_c_power_factor",
      "name": "Phase-C-power-factor",
      "description": "Phase-C-power-factor",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "24",
      "addressNumeric": 24,
      "signal": "frequency",
      "name": "Frequency",
      "description": "Frequency",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "Hz",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "25",
      "addressNumeric": 25,
      "signal": "total_active_energy",
      "name": "Total-active-energy",
      "description": "Total-active-energy",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "27",
      "addressNumeric": 27,
      "signal": "total_reactive_energy",
      "name": "Total-reactive-energy",
      "description": "Total-reactive-energy",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "29",
      "addressNumeric": 29,
      "signal": "input_active_energy",
      "name": "Input-active-energy",
      "description": "Input-active-energy",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "31",
      "addressNumeric": 31,
      "signal": "output_active_energy",
      "name": "Output-active-energy",
      "description": "Output-active-energy",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "33",
      "addressNumeric": 33,
      "signal": "input_reactive_energy",
      "name": "Input-reactive-energy",
      "description": "Input-reactive-energy",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "35",
      "addressNumeric": 35,
      "signal": "output_reactive_energy",
      "name": "Output-reactive-energy",
      "description": "Output-reactive-energy",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "37",
      "addressNumeric": 37,
      "signal": "on_off_status",
      "name": "On-off-status",
      "description": "On-off-status",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "38",
      "addressNumeric": 38,
      "signal": "relay_status",
      "name": "Relay-status",
      "description": "Relay-status",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "39",
      "addressNumeric": 39,
      "signal": "alarm_status",
      "name": "Alarm-status",
      "description": "Alarm-status",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40",
      "addressNumeric": 40,
      "signal": "ct_ratio",
      "name": "Ct-ratio",
      "description": "Ct-ratio",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "42",
      "addressNumeric": 42,
      "signal": "average_phase_voltage",
      "name": "Average-phase-voltage",
      "description": "Average-phase-voltage",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "43",
      "addressNumeric": 43,
      "signal": "average_line_voltage",
      "name": "Average-line-voltage",
      "description": "Average-line-voltage",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "44",
      "addressNumeric": 44,
      "signal": "average_phase_current",
      "name": "Average-phase-current",
      "description": "Average-phase-current",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "45",
      "addressNumeric": 45,
      "signal": "current_unbalance_rate",
      "name": "Current-unbalance-rate",
      "description": "Current-unbalance-rate",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "46",
      "addressNumeric": 46,
      "signal": "phase_a_apparent_power",
      "name": "Phase-A-apparent-power",
      "description": "Phase-A-apparent-power",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "VA",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "47",
      "addressNumeric": 47,
      "signal": "phase_b_apparent_power",
      "name": "Phase-B-apparent-power",
      "description": "Phase-B-apparent-power",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "VA",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "48",
      "addressNumeric": 48,
      "signal": "phase_c_apparent_power",
      "name": "Phase-C-apparent-power",
      "description": "Phase-C-apparent-power",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "VA",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "49",
      "addressNumeric": 49,
      "signal": "total_apparent_power",
      "name": "Total-apparent-power",
      "description": "Total-apparent-power",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "51",
      "addressNumeric": 51,
      "signal": "grid_input_active_energy",
      "name": "Grid-input-active-energy",
      "description": "Grid-input-active-energy",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "53",
      "addressNumeric": 53,
      "signal": "grid_output_active_energy",
      "name": "Grid-output-active-energy",
      "description": "Grid-output-active-energy",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "55",
      "addressNumeric": 55,
      "signal": "grid_total_active_energy",
      "name": "Grid-total-active-energy",
      "description": "Grid-total-active-energy",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "57",
      "addressNumeric": 57,
      "signal": "grid_input_reactive_energy",
      "name": "Grid-input-reactive-energy",
      "description": "Grid-input-reactive-energy",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "59",
      "addressNumeric": 59,
      "signal": "grid_output_reactive_energy",
      "name": "Grid-output-reactive-energy",
      "description": "Grid-output-reactive-energy",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "61",
      "addressNumeric": 61,
      "signal": "grid_totalreactive_energy",
      "name": "Grid-totalreactive-energy",
      "description": "Grid-totalreactive-energy",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "63",
      "addressNumeric": 63,
      "signal": "generator_input_active_energy",
      "name": "Generator-input-active-energy",
      "description": "Generator-input-active-energy",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "65",
      "addressNumeric": 65,
      "signal": "generator_output_active_energy",
      "name": "Generator-output-active-energy",
      "description": "Generator-output-active-energy",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "67",
      "addressNumeric": 67,
      "signal": "generator_total_active_energy",
      "name": "Generator-total-active-energy",
      "description": "Generator-total-active-energy",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "69",
      "addressNumeric": 69,
      "signal": "generator_input_reactive_energy",
      "name": "Generator-input-reactive-energy",
      "description": "Generator-input-reactive-energy",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    }
  ]
}