{
  "manufacturer": "herholdt",
  "model": "controls-m1pro-m3pro",
  "device": "controls-m1pro-m3pro",
  "category": "Altro",
  "protocol": "modbus",
  "version": "v1",
  "firmware": null,
  "verification": "IMPORTED",
  "isDemo": false,
  "source": {
    "title": "herholdt controls-m1pro-m3pro — modbus-database (registers.json)",
    "url": "https://www.aggsoft.com/serial-data-logger/tutorials/modbus-data-logging/herholdt-controls-m1pro-m3pro.htm",
    "documentRef": null,
    "revision": null
  },
  "generatedAt": "2026-09-21T14:44:06.922Z",
  "registers": [
    {
      "address": "4100",
      "addressNumeric": 4100,
      "signal": "firmware_version",
      "name": "Firmware-version",
      "description": "Firmware-version",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4101",
      "addressNumeric": 4101,
      "signal": "range_overflow_alarm",
      "name": "Range-overflow-alarm",
      "description": "Range-overflow-alarm",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4102",
      "addressNumeric": 4102,
      "signal": "running_tariff",
      "name": "Running-tariff",
      "description": "Running-tariff",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4103",
      "addressNumeric": 4103,
      "signal": "read_only_not_used_register",
      "name": "Read-only-not-used-register",
      "description": "Read-only-not-used-register",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4104",
      "addressNumeric": 4104,
      "signal": "pid_product_identification_bytes_1_and_2",
      "name": "PID,-product-identification-bytes-1-and-2",
      "description": "PID,-product-identification-bytes-1-and-2",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4105",
      "addressNumeric": 4105,
      "signal": "pid_bytes_3_and_4",
      "name": "PID-bytes-3-and-4",
      "description": "PID-bytes-3-and-4",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4106",
      "addressNumeric": 4106,
      "signal": "pid_bytes_5_and_6",
      "name": "PID-bytes-5-and-6",
      "description": "PID-bytes-5-and-6",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4107",
      "addressNumeric": 4107,
      "signal": "pid_bytes_7_and_8",
      "name": "PID-bytes-7-and-8",
      "description": "PID-bytes-7-and-8",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4108",
      "addressNumeric": 4108,
      "signal": "pid_bytes_9_and_10",
      "name": "PID-bytes-9-and-10",
      "description": "PID-bytes-9-and-10",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4109",
      "addressNumeric": 4109,
      "signal": "pid_bytes_11_and_12",
      "name": "PID-bytes-11-and-12",
      "description": "PID-bytes-11-and-12",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4110",
      "addressNumeric": 4110,
      "signal": "pid_bytes_13_and_14",
      "name": "PID-bytes-13-and-14",
      "description": "PID-bytes-13-and-14",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4118",
      "addressNumeric": 4118,
      "signal": "reset_energy_counters_command",
      "name": "Reset-energy-counters-command",
      "description": "Reset-energy-counters-command",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4119",
      "addressNumeric": 4119,
      "signal": "active_energy_l1_t1_imported",
      "name": "Active-energy,-L1,-T1,-imported",
      "description": "Active-energy,-L1,-T1,-imported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4123",
      "addressNumeric": 4123,
      "signal": "active_energy_l2_t1_imported",
      "name": "Active-energy,-L2,-T1,-imported",
      "description": "Active-energy,-L2,-T1,-imported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4127",
      "addressNumeric": 4127,
      "signal": "active_energy_l3_t1_imported",
      "name": "Active-energy,-L3,-T1,-imported",
      "description": "Active-energy,-L3,-T1,-imported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4131",
      "addressNumeric": 4131,
      "signal": "active_energy_sum_t1_imported",
      "name": "Active-energy,-sum,-T1,-imported",
      "description": "Active-energy,-sum,-T1,-imported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4135",
      "addressNumeric": 4135,
      "signal": "active_energy_l1_t2_imported",
      "name": "Active-energy,-L1,-T2,-imported",
      "description": "Active-energy,-L1,-T2,-imported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4139",
      "addressNumeric": 4139,
      "signal": "active_energy_l2_t2_imported",
      "name": "Active-energy,-L2,-T2,-imported",
      "description": "Active-energy,-L2,-T2,-imported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4143",
      "addressNumeric": 4143,
      "signal": "active_energy_l3_t2_imported",
      "name": "Active-energy,-L3,-T2,-imported",
      "description": "Active-energy,-L3,-T2,-imported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4147",
      "addressNumeric": 4147,
      "signal": "active_energy_sum_t2_imported",
      "name": "Active-energy,-sum,-T2,-imported",
      "description": "Active-energy,-sum,-T2,-imported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4151",
      "addressNumeric": 4151,
      "signal": "active_power_l1",
      "name": "Active-power,-L1",
      "description": "Active-power,-L1",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kW",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4153",
      "addressNumeric": 4153,
      "signal": "active_power_l2",
      "name": "Active-power,-L2",
      "description": "Active-power,-L2",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kW",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4155",
      "addressNumeric": 4155,
      "signal": "active_power_l3",
      "name": "Active-power,-L3",
      "description": "Active-power,-L3",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kW",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4157",
      "addressNumeric": 4157,
      "signal": "active_power_sum",
      "name": "Active-power,-sum",
      "description": "Active-power,-sum",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kW",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4161",
      "addressNumeric": 4161,
      "signal": "active_energy_l1_t1_exported",
      "name": "Active-energy,-L1,-T1,-exported",
      "description": "Active-energy,-L1,-T1,-exported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4165",
      "addressNumeric": 4165,
      "signal": "active_energy_l2_t1_exported",
      "name": "Active-energy,-L2,-T1,-exported",
      "description": "Active-energy,-L2,-T1,-exported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4169",
      "addressNumeric": 4169,
      "signal": "active_energy_l3_t1_exported",
      "name": "Active-energy,-L3,-T1,-exported",
      "description": "Active-energy,-L3,-T1,-exported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4173",
      "addressNumeric": 4173,
      "signal": "active_energy_sum_t1_exported",
      "name": "Active-energy,-sum,-T1,-exported",
      "description": "Active-energy,-sum,-T1,-exported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4177",
      "addressNumeric": 4177,
      "signal": "active_energy_l1_t2_exported",
      "name": "Active-energy,-L1,-T2,-exported",
      "description": "Active-energy,-L1,-T2,-exported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4181",
      "addressNumeric": 4181,
      "signal": "active_energy_l2_t2_exported",
      "name": "Active-energy,-L2,-T2,-exported",
      "description": "Active-energy,-L2,-T2,-exported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4185",
      "addressNumeric": 4185,
      "signal": "active_energy_l3_t2_exported",
      "name": "Active-energy,-L3,-T2,-exported",
      "description": "Active-energy,-L3,-T2,-exported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4189",
      "addressNumeric": 4189,
      "signal": "active_energy_sum_t2_exported",
      "name": "Active-energy,-sum,-T2,-exported",
      "description": "Active-energy,-sum,-T2,-exported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4193",
      "addressNumeric": 4193,
      "signal": "reactive_energy_l1_t1_imported",
      "name": "Reactive-energy,-L1,-T1,-imported",
      "description": "Reactive-energy,-L1,-T1,-imported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4197",
      "addressNumeric": 4197,
      "signal": "reactive_energy_l2_t1_imported",
      "name": "Reactive-energy,-L2,-T1,-imported",
      "description": "Reactive-energy,-L2,-T1,-imported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4201",
      "addressNumeric": 4201,
      "signal": "reactive_energy_l3_t1_imported",
      "name": "Reactive-energy,-L3,-T1,-imported",
      "description": "Reactive-energy,-L3,-T1,-imported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4205",
      "addressNumeric": 4205,
      "signal": "reactive_energy_sum_t1_imported",
      "name": "Reactive-energy,-sum,-T1,-imported",
      "description": "Reactive-energy,-sum,-T1,-imported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4209",
      "addressNumeric": 4209,
      "signal": "reactive_energy_l1_t2_imported",
      "name": "Reactive-energy,-L1,-T2,-imported",
      "description": "Reactive-energy,-L1,-T2,-imported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4213",
      "addressNumeric": 4213,
      "signal": "reactive_energy_l2_t2_imported",
      "name": "Reactive-energy,-L2,-T2,-imported",
      "description": "Reactive-energy,-L2,-T2,-imported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4217",
      "addressNumeric": 4217,
      "signal": "reactive_energy_l3_t2_imported",
      "name": "Reactive-energy,-L3,-T2,-imported",
      "description": "Reactive-energy,-L3,-T2,-imported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4221",
      "addressNumeric": 4221,
      "signal": "reactive_energy_sum_t2_imported",
      "name": "Reactive-energy,-sum,-T2,-imported",
      "description": "Reactive-energy,-sum,-T2,-imported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4225",
      "addressNumeric": 4225,
      "signal": "reactive_energy_l1_t1_exported",
      "name": "Reactive-energy,-L1,-T1,-exported",
      "description": "Reactive-energy,-L1,-T1,-exported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4229",
      "addressNumeric": 4229,
      "signal": "reactive_energy_l2_t1_exported",
      "name": "Reactive-energy,-L2,-T1,-exported",
      "description": "Reactive-energy,-L2,-T1,-exported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4233",
      "addressNumeric": 4233,
      "signal": "reactive_energy_l3_t1_exported",
      "name": "Reactive-energy,-L3,-T1,-exported",
      "description": "Reactive-energy,-L3,-T1,-exported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4237",
      "addressNumeric": 4237,
      "signal": "reactive_energy_sum_t1_exported",
      "name": "Reactive-energy,-sum,-T1,-exported",
      "description": "Reactive-energy,-sum,-T1,-exported",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4241",
      "addressNumeric": 4241,
      "signal": "reactive_energy_l1_t2_exported",
      "name": "Reactive-energy,-L1,-T2,-exported",
      "description": "Reactive-energy,-L1,-T2,-exported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4245",
      "addressNumeric": 4245,
      "signal": "reactive_energy_l2_t2_exported",
      "name": "Reactive-energy,-L2,-T2,-exported",
      "description": "Reactive-energy,-L2,-T2,-exported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4249",
      "addressNumeric": 4249,
      "signal": "reactive_energy_l3_t2_exported",
      "name": "Reactive-energy,-L3,-T2,-exported",
      "description": "Reactive-energy,-L3,-T2,-exported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4253",
      "addressNumeric": 4253,
      "signal": "reactive_energy_sum_t2_exported",
      "name": "Reactive-energy,-sum,-T2,-exported",
      "description": "Reactive-energy,-sum,-T2,-exported",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4257",
      "addressNumeric": 4257,
      "signal": "reactive_power_l1",
      "name": "Reactive-power,-L1",
      "description": "Reactive-power,-L1",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvar",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4259",
      "addressNumeric": 4259,
      "signal": "reactive_power_l2",
      "name": "Reactive-power,-L2",
      "description": "Reactive-power,-L2",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvar",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    }
  ]
}