manufacturer: herholdt
model: controls-ecs
device: controls-ecs
category: Altro
protocol: modbus
version: v1
firmware: null
verification: IMPORTED
isDemo: false
source:
  title: herholdt controls-ecs — modbus-database (registers.json)
  url: https://www.aggsoft.com/serial-data-logger/tutorials/modbus-data-logging/herholdt-controls-ecs.htm
  documentRef: null
  revision: null
generatedAt: 2026-09-21T14:25:08.105Z
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_bytes_1_and_2
    name: PID-bytes-1-and-2
    description: PID-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: "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: null
    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: null
    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: null
    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: null
    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: "4169"
    addressNumeric: 4169
    signal: active_energy_3rd_phase_t1_exp
    name: Active-energy-3rd-phase-T1,-exp
    description: Active-energy-3rd-phase-T1,-exp
    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_exp
    name: Active-energy-sum-T1,-exp
    description: Active-energy-sum-T1,-exp
    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_1st_phase_t2_exp
    name: Active-energy-1st-phase-T2,-exp
    description: Active-energy-1st-phase-T2,-exp
    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_2nd_phase_t2_exp
    name: Active-energy-2nd-phase-T2,-exp
    description: Active-energy-2nd-phase-T2,-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
