manufacturer: huawei
model: solar-inverter
device: solar-inverter
category: Energy Generation
protocol: modbus
version: v1
firmware: null
verification: IMPORTED
isDemo: false
source:
  title: huawei solar-inverter — modbus-database (registers.json)
  url: https://www.aggsoft.com/serial-data-logger/tutorials/modbus-data-logging/huawei-solar-inverter.htm
  documentRef: null
  revision: null
generatedAt: 2026-09-21T13:16:30.504Z
registers:
  - address: "69"
    addressNumeric: 69
    signal: model_id
    name: Model-id
    description: Model-id
    functionCode: 3
    datatype: uint16
    length: 1
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "71"
    addressNumeric: 71
    signal: number_of_mpp_trackers
    name: Number-of-mpp-trackers
    description: Number-of-mpp-trackers
    functionCode: 3
    datatype: uint16
    length: 1
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "72"
    addressNumeric: 72
    signal: rated_power
    name: Rated-power
    description: Rated-power
    functionCode: 3
    datatype: uint32
    length: 2
    scale: 1
    offset: 0
    unit: kW
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "74"
    addressNumeric: 74
    signal: maximum_active_power_max
    name: Maximum-active-power-(-max)
    description: Maximum-active-power-(-max)
    functionCode: 3
    datatype: uint32
    length: 2
    scale: 1
    offset: 0
    unit: kW
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "76"
    addressNumeric: 76
    signal: maximum_apparent_power_smax
    name: Maximum-apparent-power-(smax)
    description: Maximum-apparent-power-(smax)
    functionCode: 3
    datatype: uint32
    length: 2
    scale: 1
    offset: 0
    unit: kVA
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "78"
    addressNumeric: 78
    signal: maximum_reactive_power_qmax_fed_to_the_power_grid
    name: Maximum-reactive-power-(qmax,-fed-to-the-power-grid)
    description: Maximum-reactive-power-(qmax,-fed-to-the-power-grid)
    functionCode: 3
    datatype: int32
    length: 2
    scale: 1
    offset: 0
    unit: kVar
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "80"
    addressNumeric: 80
    signal: maximum_reactive_power_absorbed_from_the_power_grid
    name: Maximum-reactive-power-absorbed-from-the-power-grid)
    description: Maximum-reactive-power-absorbed-from-the-power-grid)
    functionCode: 3
    datatype: int32
    length: 2
    scale: 1
    offset: 0
    unit: kVar
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "1999"
    addressNumeric: 1999
    signal: state_1
    name: State-1
    description: State-1
    functionCode: 3
    datatype: uint16
    length: 1
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2008"
    addressNumeric: 2008
    signal: alarm_2
    name: Alarm-2
    description: Alarm-2
    functionCode: 3
    datatype: uint16
    length: 1
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2009"
    addressNumeric: 2009
    signal: alarm_3
    name: Alarm-3
    description: Alarm-3
    functionCode: 3
    datatype: uint16
    length: 1
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2015"
    addressNumeric: 2015
    signal: pvlvoltage
    name: Pvlvoltage
    description: Pvlvoltage
    functionCode: 3
    datatype: int16
    length: 1
    scale: 1
    offset: 0
    unit: V
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2016"
    addressNumeric: 2016
    signal: pvlcurrent
    name: Pvlcurrent
    description: Pvlcurrent
    functionCode: 3
    datatype: int16
    length: 1
    scale: 1
    offset: 0
    unit: A
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2017"
    addressNumeric: 2017
    signal: pv2voltage
    name: Pv2voltage
    description: Pv2voltage
    functionCode: 3
    datatype: int16
    length: 1
    scale: 1
    offset: 0
    unit: V
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2018"
    addressNumeric: 2018
    signal: pv2current
    name: Pv2current
    description: Pv2current
    functionCode: 3
    datatype: int16
    length: 1
    scale: 1
    offset: 0
    unit: A
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2019"
    addressNumeric: 2019
    signal: pv3voltage
    name: Pv3voltage
    description: Pv3voltage
    functionCode: 3
    datatype: int16
    length: 1
    scale: 1
    offset: 0
    unit: V
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2020"
    addressNumeric: 2020
    signal: pv3current
    name: Pv3current
    description: Pv3current
    functionCode: 3
    datatype: int16
    length: 1
    scale: 1
    offset: 0
    unit: A
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2022"
    addressNumeric: 2022
    signal: pv4current
    name: Pv4current
    description: Pv4current
    functionCode: 3
    datatype: int16
    length: 1
    scale: 1
    offset: 0
    unit: A
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2063"
    addressNumeric: 2063
    signal: input_power
    name: Input-power
    description: Input-power
    functionCode: 3
    datatype: int32
    length: 2
    scale: 1
    offset: 0
    unit: kW
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2065"
    addressNumeric: 2065
    signal: power_grid_voltage_line_voltage_between_phases_a_and_b
    name: Power-grid-voltage/line-voltage-between-phases-A-and-B
    description: Power-grid-voltage/line-voltage-between-phases-A-and-B
    functionCode: 3
    datatype: uint16
    length: 1
    scale: 1
    offset: 0
    unit: V
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2066"
    addressNumeric: 2066
    signal: line_voltage_between_phases_b_and_c
    name: Line-voltage-between-phases-B-and-C
    description: Line-voltage-between-phases-B-and-C
    functionCode: 3
    datatype: uint16
    length: 1
    scale: 1
    offset: 0
    unit: V
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2067"
    addressNumeric: 2067
    signal: line_voltage_between_phases_c_and_a
    name: Line-voltage-between-phases-C-and-A
    description: Line-voltage-between-phases-C-and-A
    functionCode: 3
    datatype: uint16
    length: 1
    scale: 1
    offset: 0
    unit: V
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2068"
    addressNumeric: 2068
    signal: phase_a_voltage
    name: Phase-A-voltage
    description: Phase-A-voltage
    functionCode: 3
    datatype: uint16
    length: 1
    scale: 1
    offset: 0
    unit: V
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2069"
    addressNumeric: 2069
    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: "2070"
    addressNumeric: 2070
    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: "2071"
    addressNumeric: 2071
    signal: power_grid_current_phase_a_current
    name: Power-grid-current/phase-A-current
    description: Power-grid-current/phase-A-current
    functionCode: 3
    datatype: int32
    length: 2
    scale: 1
    offset: 0
    unit: A
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2073"
    addressNumeric: 2073
    signal: phase_b_current
    name: Phase-B-current
    description: Phase-B-current
    functionCode: 3
    datatype: int32
    length: 2
    scale: 1
    offset: 0
    unit: A
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2075"
    addressNumeric: 2075
    signal: phase_c_current
    name: Phase-C-current
    description: Phase-C-current
    functionCode: 3
    datatype: int32
    length: 2
    scale: 1
    offset: 0
    unit: A
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2077"
    addressNumeric: 2077
    signal: peak_active_power_of_current_day
    name: Peak-active-power-of-current-day
    description: Peak-active-power-of-current-day
    functionCode: 3
    datatype: int32
    length: 2
    scale: 1
    offset: 0
    unit: kW
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2079"
    addressNumeric: 2079
    signal: active_power
    name: Active-power
    description: Active-power
    functionCode: 3
    datatype: int32
    length: 2
    scale: 1
    offset: 0
    unit: kW
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2081"
    addressNumeric: 2081
    signal: reactive_power
    name: Reactive-power
    description: Reactive-power
    functionCode: 3
    datatype: int32
    length: 2
    scale: 1
    offset: 0
    unit: kVar
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2083"
    addressNumeric: 2083
    signal: power_factor
    name: Power-factor
    description: Power-factor
    functionCode: 3
    datatype: int16
    length: 1
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2084"
    addressNumeric: 2084
    signal: grid_frequency
    name: Grid-frequency
    description: Grid-frequency
    functionCode: 3
    datatype: uint16
    length: 1
    scale: 1
    offset: 0
    unit: Hz
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2085"
    addressNumeric: 2085
    signal: efficiency
    name: Efficiency
    description: Efficiency
    functionCode: 3
    datatype: uint16
    length: 1
    scale: 1
    offset: 0
    unit: "%"
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2086"
    addressNumeric: 2086
    signal: internal_temperature
    name: Internal-temperature
    description: Internal-temperature
    functionCode: 3
    datatype: int16
    length: 1
    scale: 1
    offset: 0
    unit: DC
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2087"
    addressNumeric: 2087
    signal: insulation_resistance
    name: Insulation-resistance
    description: Insulation-resistance
    functionCode: 3
    datatype: uint16
    length: 1
    scale: 1
    offset: 0
    unit: MW
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2088"
    addressNumeric: 2088
    signal: device_status
    name: Device-status
    description: Device-status
    functionCode: 3
    datatype: uint16
    length: 1
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2089"
    addressNumeric: 2089
    signal: fault_code
    name: Fault-code
    description: Fault-code
    functionCode: 3
    datatype: uint16
    length: 1
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2090"
    addressNumeric: 2090
    signal: startup_time
    name: Startup-time
    description: Startup-time
    functionCode: 3
    datatype: uint32
    length: 2
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2092"
    addressNumeric: 2092
    signal: shutdown_time
    name: Shutdown-time
    description: Shutdown-time
    functionCode: 3
    datatype: uint32
    length: 2
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2105"
    addressNumeric: 2105
    signal: accumulated_energy_yield
    name: Accumulated-energy-yield
    description: Accumulated-energy-yield
    functionCode: 3
    datatype: uint32
    length: 2
    scale: 1
    offset: 0
    unit: kWh
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "2113"
    addressNumeric: 2113
    signal: daily_energy_yield
    name: Daily-energy-yield
    description: Daily-energy-yield
    functionCode: 3
    datatype: uint32
    length: 2
    scale: 1
    offset: 0
    unit: kWh
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "5299"
    addressNumeric: 5299
    signal: active_adjustment_mode
    name: "[active]-adjustment-mode"
    description: "[active]-adjustment-mode"
    functionCode: 3
    datatype: uint16
    length: 1
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "5301"
    addressNumeric: 5301
    signal: active_adjustment_value
    name: "[active]-adjustment-value"
    description: "[active]-adjustment-value"
    functionCode: 3
    datatype: uint32
    length: 2
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "5302"
    addressNumeric: 5302
    signal: active_adjustment_command
    name: "[active]-adjustment-command"
    description: "[active]-adjustment-command"
    functionCode: 3
    datatype: uint16
    length: 1
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "5303"
    addressNumeric: 5303
    signal: reactive_adjustment_mode
    name: "[reactive]-adjustment-mode"
    description: "[reactive]-adjustment-mode"
    functionCode: 3
    datatype: uint16
    length: 1
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "5304"
    addressNumeric: 5304
    signal: reactive_adjustment_value
    name: "[reactive]-adjustment-value"
    description: "[reactive]-adjustment-value"
    functionCode: 3
    datatype: uint32
    length: 2
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "5306"
    addressNumeric: 5306
    signal: reactive_adjustment_command
    name: "[reactive]-adjustment-command"
    description: "[reactive]-adjustment-command"
    functionCode: 3
    datatype: uint16
    length: 1
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "6999"
    addressNumeric: 6999
    signal: energy_storage_unit_1_running_status
    name: "[energy-storage-unit-1]-running-status"
    description: "[energy-storage-unit-1]-running-status"
    functionCode: 3
    datatype: uint16
    length: 1
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "7000"
    addressNumeric: 7000
    signal: energy_storage_unit_1_charge_and_discharge_power
    name: "[energy-storage-unit-1]-charge-and-discharge-power"
    description: "[energy-storage-unit-1]-charge-and-discharge-power"
    functionCode: 3
    datatype: int32
    length: 2
    scale: 1
    offset: 0
    unit: W
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "7014"
    addressNumeric: 7014
    signal: energy_storage_unit_1_current_day_charge_capacity
    name: "[energy-storage-unit-1]-current-day-charge-capacity"
    description: "[energy-storage-unit-1]-current-day-charge-capacity"
    functionCode: 3
    datatype: uint32
    length: 2
    scale: 1
    offset: 0
    unit: kWh
    access: READ
    endianness: null
    group: null
    notes: null
