{
  "manufacturer": "herholdt",
  "model": "control-ecsem-ecsan-ecspm",
  "device": "control-ecsem-ecsan-ecspm",
  "category": "Altro",
  "protocol": "modbus",
  "version": "v1",
  "firmware": null,
  "verification": "IMPORTED",
  "isDemo": false,
  "source": {
    "title": "herholdt control-ecsem-ecsan-ecspm — modbus-database (registers.json)",
    "url": "https://www.aggsoft.com/serial-data-logger/tutorials/modbus-data-logging/herholdt-control-ecsem-ecsan-ecspm.htm",
    "documentRef": null,
    "revision": null
  },
  "generatedAt": "2026-09-21T13:16:09.794Z",
  "registers": [
    {
      "address": "4099",
      "addressNumeric": 4099,
      "signal": "device_type",
      "name": "Device-type",
      "description": "Device-type",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "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": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4104",
      "addressNumeric": 4104,
      "signal": "pid",
      "name": "PID",
      "description": "PID",
      "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": "4112",
      "addressNumeric": 4112,
      "signal": "speed",
      "name": "Speed",
      "description": "Speed",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4115",
      "addressNumeric": 4115,
      "signal": "modbus_address",
      "name": "Modbus-address",
      "description": "Modbus-address",
      "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_1st_phase_t1_imp",
      "name": "Active-energy-1st-phase-T1,-imp",
      "description": "Active-energy-1st-phase-T1,-imp",
      "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_2nd_phase_t1_imp",
      "name": "Active-energy-2nd-phase-T1,-imp",
      "description": "Active-energy-2nd-phase-T1,-imp",
      "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_3rd_phase_t1_imp",
      "name": "Active-energy-3rd-phase-T1,-imp",
      "description": "Active-energy-3rd-phase-T1,-imp",
      "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_imp",
      "name": "Active-energy-sum-T1,-imp",
      "description": "Active-energy-sum-T1,-imp",
      "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_1st_phase_t2_imp",
      "name": "Active-energy-1st-phase-T2,-imp",
      "description": "Active-energy-1st-phase-T2,-imp",
      "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_2nd_phase_t2_imp",
      "name": "Active-energy-2nd-phase-T2,-imp",
      "description": "Active-energy-2nd-phase-T2,-imp",
      "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_3rd_phase_t2_imp",
      "name": "Active-energy-3rd-phase-T2,-imp",
      "description": "Active-energy-3rd-phase-T2,-imp",
      "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_imp",
      "name": "Active-energy-sum-T2,-imp",
      "description": "Active-energy-sum-T2,-imp",
      "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_1st_phase",
      "name": "Active-power-1st-phase",
      "description": "Active-power-1st-phase",
      "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_2nd_phase",
      "name": "Active-power-2nd-phase",
      "description": "Active-power-2nd-phase",
      "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_3rd_phase",
      "name": "Active-power-3rd-phase",
      "description": "Active-power-3rd-phase",
      "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_1st_phase_t1_exp",
      "name": "Active-energy-1st-phase-T1,-exp",
      "description": "Active-energy-1st-phase-T1,-exp",
      "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_2nd_phase_t1_exp",
      "name": "Active-energy-2nd-phase-T1,-exp",
      "description": "Active-energy-2nd-phase-T1,-exp",
      "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_3rd_phase_t2_exp",
      "name": "Active-energy-3rd-phase-T2,-exp",
      "description": "Active-energy-3rd-phase-T2,-exp",
      "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_exp",
      "name": "Active-energy-sum-T2,-exp",
      "description": "Active-energy-sum-T2,-exp",
      "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_1st_phase_t1_imp",
      "name": "Reactive-energy-1st-phase-T1,-imp",
      "description": "Reactive-energy-1st-phase-T1,-imp",
      "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_2nd_phase_t1_imp",
      "name": "Reactive-energy-2nd-phase-T1,-imp",
      "description": "Reactive-energy-2nd-phase-T1,-imp",
      "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_3rd_phase_t1_imp",
      "name": "Reactive-energy-3rd-phase-T1,-imp",
      "description": "Reactive-energy-3rd-phase-T1,-imp",
      "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_imp",
      "name": "Reactive-energy-sum-T1,-imp",
      "description": "Reactive-energy-sum-T1,-imp",
      "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_1st_phase_t2_imp",
      "name": "Reactive-energy-1st-phase-T2,-imp",
      "description": "Reactive-energy-1st-phase-T2,-imp",
      "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_2nd_phase_t2_imp",
      "name": "Reactive-energy-2nd-phase-T2,-imp",
      "description": "Reactive-energy-2nd-phase-T2,-imp",
      "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_3rd_phase_t2_imp",
      "name": "Reactive-energy-3rd-phase-T2,-imp",
      "description": "Reactive-energy-3rd-phase-T2,-imp",
      "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_imp",
      "name": "Reactive-energy-sum-T2,-imp",
      "description": "Reactive-energy-sum-T2,-imp",
      "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_1st_phase_t1_exp",
      "name": "Reactive-energy-1st-phase-T1,-exp",
      "description": "Reactive-energy-1st-phase-T1,-exp",
      "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_2nd_phase_t1_exp",
      "name": "Reactive-energy-2nd-phase-T1,-exp",
      "description": "Reactive-energy-2nd-phase-T1,-exp",
      "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_3rd_phase_t1_exp",
      "name": "Reactive-energy-3rd-phase-T1,-exp",
      "description": "Reactive-energy-3rd-phase-T1,-exp",
      "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_exp",
      "name": "Reactive-energy-sum-T1,-exp",
      "description": "Reactive-energy-sum-T1,-exp",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kvarh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4241",
      "addressNumeric": 4241,
      "signal": "reactive_energy_1st_phase_t2_exp",
      "name": "Reactive-energy-1st-phase-T2,-exp",
      "description": "Reactive-energy-1st-phase-T2,-exp",
      "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_2nd_phase_t2_exp",
      "name": "Reactive-energy-2nd-phase-T2,-exp",
      "description": "Reactive-energy-2nd-phase-T2,-exp",
      "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_3rd_phase_t2_exp",
      "name": "Reactive-energy-3rd-phase-T2,-exp",
      "description": "Reactive-energy-3rd-phase-T2,-exp",
      "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_exp",
      "name": "Reactive-energy-sum-T2,-exp",
      "description": "Reactive-energy-sum-T2,-exp",
      "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_1st_phase",
      "name": "Reactive-power-1st-phase",
      "description": "Reactive-power-1st-phase",
      "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_2nd_phase",
      "name": "Reactive-power-2nd-phase",
      "description": "Reactive-power-2nd-phase",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvar",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4261",
      "addressNumeric": 4261,
      "signal": "reactive_power_3rd_phase",
      "name": "Reactive-power-3rd-phase",
      "description": "Reactive-power-3rd-phase",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "kvar",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4263",
      "addressNumeric": 4263,
      "signal": "reactive_power_sum",
      "name": "Reactive-power-sum",
      "description": "Reactive-power-sum",
      "functionCode": 3,
      "datatype": "int64",
      "length": 4,
      "scale": 1,
      "offset": 0,
      "unit": "kvar",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    }
  ]
}