{
  "manufacturer": "saci",
  "model": "ahm1",
  "device": "ahm1",
  "category": "Altro",
  "protocol": "modbus",
  "version": "v1",
  "firmware": null,
  "verification": "IMPORTED",
  "isDemo": false,
  "source": {
    "title": "saci ahm1 — modbus-database (registers.json)",
    "url": "https://www.aggsoft.com/serial-data-logger/tutorials/modbus-data-logging/saci-ahm1.htm",
    "documentRef": null,
    "revision": null
  },
  "generatedAt": "2026-09-21T14:36:35.888Z",
  "registers": [
    {
      "address": "6",
      "addressNumeric": 6,
      "signal": "v1",
      "name": "V1",
      "description": "V1",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "8",
      "addressNumeric": 8,
      "signal": "v2",
      "name": "V2",
      "description": "V2",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "10",
      "addressNumeric": 10,
      "signal": "v3",
      "name": "V3",
      "description": "V3",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "12",
      "addressNumeric": 12,
      "signal": "v12",
      "name": "V12",
      "description": "V12",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "14",
      "addressNumeric": 14,
      "signal": "v23",
      "name": "V23",
      "description": "V23",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "16",
      "addressNumeric": 16,
      "signal": "v31",
      "name": "V31",
      "description": "V31",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "18",
      "addressNumeric": 18,
      "signal": "i1",
      "name": "I1",
      "description": "I1",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "20",
      "addressNumeric": 20,
      "signal": "i2",
      "name": "I2",
      "description": "I2",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "22",
      "addressNumeric": 22,
      "signal": "i3",
      "name": "I3",
      "description": "I3",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "24",
      "addressNumeric": 24,
      "signal": "in_3p4w",
      "name": "In-(3P4W)",
      "description": "In-(3P4W)",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "26",
      "addressNumeric": 26,
      "signal": "p1",
      "name": "P1",
      "description": "P1",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kW",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "28",
      "addressNumeric": 28,
      "signal": "p2",
      "name": "P2",
      "description": "P2",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kW",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "30",
      "addressNumeric": 30,
      "signal": "p3",
      "name": "P3",
      "description": "P3",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kW",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32",
      "addressNumeric": 32,
      "signal": "p",
      "name": "P",
      "description": "P",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kW",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "34",
      "addressNumeric": 34,
      "signal": "q1",
      "name": "Q1",
      "description": "Q1",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvar",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "36",
      "addressNumeric": 36,
      "signal": "q2",
      "name": "Q2",
      "description": "Q2",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvar",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "38",
      "addressNumeric": 38,
      "signal": "q3",
      "name": "Q3",
      "description": "Q3",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvar",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40",
      "addressNumeric": 40,
      "signal": "q",
      "name": "Q",
      "description": "Q",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvar",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "42",
      "addressNumeric": 42,
      "signal": "s1",
      "name": "S1",
      "description": "S1",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kVA",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "44",
      "addressNumeric": 44,
      "signal": "s2",
      "name": "S2",
      "description": "S2",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kVA",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "46",
      "addressNumeric": 46,
      "signal": "s3",
      "name": "S3",
      "description": "S3",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kVA",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "48",
      "addressNumeric": 48,
      "signal": "s",
      "name": "S",
      "description": "S",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kVA",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "50",
      "addressNumeric": 50,
      "signal": "pf1",
      "name": "PF1",
      "description": "PF1",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "52",
      "addressNumeric": 52,
      "signal": "pf2",
      "name": "PF2",
      "description": "PF2",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "54",
      "addressNumeric": 54,
      "signal": "pf3",
      "name": "PF3",
      "description": "PF3",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "56",
      "addressNumeric": 56,
      "signal": "pf",
      "name": "PF",
      "description": "PF",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "58",
      "addressNumeric": 58,
      "signal": "f",
      "name": "F",
      "description": "F",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Hz",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "60",
      "addressNumeric": 60,
      "signal": "average_value_of_vph_n",
      "name": "Average-value-of-vph-N",
      "description": "Average-value-of-vph-N",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "62",
      "addressNumeric": 62,
      "signal": "average_value_of_vph_ph",
      "name": "Average-value-of-vph-ph",
      "description": "Average-value-of-vph-ph",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "64",
      "addressNumeric": 64,
      "signal": "average_current",
      "name": "Average-current",
      "description": "Average-current",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "66",
      "addressNumeric": 66,
      "signal": "import_active_energy",
      "name": "Import-active-energy",
      "description": "Import-active-energy",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "68",
      "addressNumeric": 68,
      "signal": "export_active_energy",
      "name": "Export-active-energy",
      "description": "Export-active-energy",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "70",
      "addressNumeric": 70,
      "signal": "import_reactive_energy",
      "name": "Import-reactive-energy",
      "description": "Import-reactive-energy",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "72",
      "addressNumeric": 72,
      "signal": "export_reactive_energy",
      "name": "Export-reactive-energy",
      "description": "Export-reactive-energy",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "74",
      "addressNumeric": 74,
      "signal": "apparent_energy",
      "name": "Apparent-energy",
      "description": "Apparent-energy",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kVAh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "76",
      "addressNumeric": 76,
      "signal": "1st_quadrant_reactive_energy_eql",
      "name": "1st-quadrant-reactive-energy---EQL+",
      "description": "1st-quadrant-reactive-energy---EQL+",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "78",
      "addressNumeric": 78,
      "signal": "2nd_quadrant_reactive_energy_eqc",
      "name": "2nd-quadrant-reactive-energy---EQC+",
      "description": "2nd-quadrant-reactive-energy---EQC+",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "80",
      "addressNumeric": 80,
      "signal": "3rd_quadrant_reactive_energy_eql",
      "name": "3rd-quadrant-reactive-energy---EQL-",
      "description": "3rd-quadrant-reactive-energy---EQL-",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "82",
      "addressNumeric": 82,
      "signal": "4th_quadrant_reactive_energy_eqc",
      "name": "4th-quadrant-reactive-energy---EQC-",
      "description": "4th-quadrant-reactive-energy---EQC-",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "84",
      "addressNumeric": 84,
      "signal": "hour_meter_ep",
      "name": "Hour-meter---EP+",
      "description": "Hour-meter---EP+",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "s",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "86",
      "addressNumeric": 86,
      "signal": "hour_meter_ep_86",
      "name": "Hour-meter---EP-",
      "description": "Hour-meter---EP-",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "s",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "88",
      "addressNumeric": 88,
      "signal": "alternative_import_active_energy",
      "name": "Alternative-import-active-energy",
      "description": "Alternative-import-active-energy",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "90",
      "addressNumeric": 90,
      "signal": "alternative_export_active_energy",
      "name": "Alternative-export-active-energy",
      "description": "Alternative-export-active-energy",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "92",
      "addressNumeric": 92,
      "signal": "alternative_import_reactive_energy",
      "name": "Alternative-import-reactive-energy",
      "description": "Alternative-import-reactive-energy",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "94",
      "addressNumeric": 94,
      "signal": "alternative_export_reactive_energy",
      "name": "Alternative-export-reactive-energy",
      "description": "Alternative-export-reactive-energy",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "96",
      "addressNumeric": 96,
      "signal": "alternative_apparent_energy",
      "name": "Alternative-apparent-energy",
      "description": "Alternative-apparent-energy",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kVAh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "98",
      "addressNumeric": 98,
      "signal": "alternative_energy_eql",
      "name": "Alternative-energy---EQL+",
      "description": "Alternative-energy---EQL+",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "100",
      "addressNumeric": 100,
      "signal": "alternative_energy_eqc",
      "name": "Alternative-energy---EQC+",
      "description": "Alternative-energy---EQC+",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "102",
      "addressNumeric": 102,
      "signal": "alternative_energy_eql_102",
      "name": "Alternative-energy---EQL-",
      "description": "Alternative-energy---EQL-",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "104",
      "addressNumeric": 104,
      "signal": "alternative_energy_eqc_104",
      "name": "Alternative-energy---EQC-",
      "description": "Alternative-energy---EQC-",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    }
  ]
}