Metadata-Version: 2.4
Name: sun2000_modbus
Version: 3.0.0
Summary: Library for reading Huawei Sun2000 inverter metrics via Modbus TCP
Keywords: sun2000,modbus,photovoltaic
Author-email: Oliver Gregorius <oliver@gregorius.dev>
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
License-File: LICENSE
Requires-Dist: pymodbus>=3.11.0
Project-URL: Source, https://github.com/olivergregorius/sun2000_modbus

# sun2000_modbus

[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/olivergregorius/sun2000_modbus/build.yml?branch=main&label=Python%20Build&logo=github)](https://github.com/olivergregorius/sun2000_modbus/actions/workflows/build.yml)
[![Python Versions](https://img.shields.io/pypi/pyversions/sun2000_modbus?label=Python)](https://pypi.org/project/sun2000_modbus/)
[![GitHub](https://img.shields.io/github/license/olivergregorius/sun2000_modbus?label=License)](https://github.com/olivergregorius/sun2000_modbus/blob/HEAD/LICENSE)
[![PyPI](https://img.shields.io/pypi/v/sun2000_modbus?label=PyPI)](https://pypi.org/project/sun2000_modbus/)

## Introduction

This library is intended for reading Huawei Sun2000 inverter metrics from registers via Modbus TCP. Access to the Modbus interface is established by connecting
to the device's internal Wifi access point. For information about how to connect to this internal AP consult the official documentation of the device.

## Requirements

- Python >= 3.9
- pymodbus >= 3.11.0

## Disclaimer

By using the content in this repository, you acknowledge that you do so at your own risk. I am not liable for any damages or issues that may arise from use of
this library.

## Usage

sun2000_modbus provides easy and comfortable access to your inverter's Modbus TCP interface. The following example gives a short introduction about how to read
a register:

```python
from sun2000_modbus import inverter
from sun2000_modbus import registers

inverter = inverter.Sun2000(host='192.168.8.1')
inverter.connect()
if inverter.isConnected():
    input_power = inverter.read_formatted(registers.InverterEquipmentRegister.InputPower)
    print(input_power)
```

The above code snippet prints out the current input power value, e.g. `8.342 kW`.

### Connection configuration

During instantiation of a Sun2000 object the following parameters are accepted:

| Parameter | Description                                                                                                                                    |
|-----------|------------------------------------------------------------------------------------------------------------------------------------------------|
| host      | IP address                                                                                                                                     |
| port      | Port, usually 502, changed to 6607 on newer firmware versions.                                                                                 |
| timeout   | Connection timeout                                                                                                                             |
| wait      | Time to wait after connection before a register read can be performed. Increases stability.                                                    |
| device_id | Number of inverter unit to be read by default, used in cascading scenarios. Defaults to 0, but some devices need it to be set to other values. |

### Read metrics

Several methods are provided to return the read register values in different formats:

| Method         | Description                                                                                     |
|----------------|-------------------------------------------------------------------------------------------------|
| read_raw_value | Returns the raw value converted to its readable form                                            |
| read           | Returns the postprocessed value, e.g. a float value is calculated according to its defined gain |
| read_formatted | Returns the postprocessed value suffixed with its unit, if defined                              |

Looking at the [above example](#usage) the different methods would return the following values for the input power metric:

| Method         | Returned value |
|----------------|----------------|
| read_raw_value | 8342           |
| read           | 8.342          |
| read_formatted | 8.342 kW       |

Furthermore, a method `read_range` exists accepting the address of the register to start reading and either a quantity of registers or the address of the last
register to be read. The result is returned as byte-string for further processing.

Each `read*` method accepts a `device_id` argument which is used in cascading scenarios to address the desired inverter unit.

### Write settings

For writing a register the `write` method can be used, taking the register address and the value as arguments.

Furthermore, the `write` method accepts a `device_id` argument which is used in cascading scenarios to address the desired inverter unit.

## Registers

The following registers are provided by the Sun2000's Modbus interface and can be read and written accordingly. Documentation can be found
[here](https://support.huawei.com/enterprise/en/doc/EDOC1100480291?idPath=258788305|254827209|258792409|22755755&section=k003).

### InverterEquipmentRegister

| Name                                    | Type                   | Gain | Unit | Access Type |
|:----------------------------------------|:-----------------------|:-----|:-----|:------------|
| Model                                   | String                 |      |      | RO          |
| SN                                      | String                 |      |      | RO          |
| PN                                      | String                 |      |      | RO          |
| ModelID                                 | Number                 |      |      | RO          |
| NumberOfPVStrings                       | Number                 | 1    |      | RO          |
| NumberOfMPPTrackers                     | Number                 | 1    |      | RO          |
| RatedPower                              | Number                 | 1    | W    | RO          |
| MaximumActivePower                      | Number                 | 1    | W    | RO          |
| MaximumApparentPower                    | Number                 | 1000 | kVA  | RO          |
| MaximumReactivePowerFedToTheGrid        | Number                 | 1000 | kvar | RO          |
| MaximumReactivePowerAbsorbedFromTheGrid | Number                 | 1000 | kvar | RO          |
| OfferingNameOfSouthboundDevice1         | String                 |      |      | RO          |
| OfferingNameOfSouthboundDevice2         | String                 |      |      | RO          |
| OfferingNameOfSouthboundDevice3         | String                 |      |      | RO          |
| HardwareVersion                         | String                 |      |      | RO          |
| MonitoringBoardSN                       | String                 |      |      | RO          |
| MonitoringSoftwareVersion               | String                 |      |      | RO          |
| MasterDSPVersion                        | String                 |      |      | RO          |
| CPLDVersion                             | String                 |      |      | RO          |
| AFCIVersion                             | String                 |      |      | RO          |
| DCMBUSVersion                           | String                 |      |      | RO          |
| REGKEY                                  | String                 |      |      | RO          |
| State1                                  | Binary String/Bitfield |      |      | RO          |
| State2                                  | Binary String/Bitfield |      |      | RO          |
| State3                                  | Binary String/Bitfield |      |      | RO          |
| Alarm1                                  | Binary String/Bitfield |      |      | RO          |
| Alarm2                                  | Binary String/Bitfield |      |      | RO          |
| Alarm3                                  | Binary String/Bitfield |      |      | RO          |
| ESN                                     | Number                 |      |      | RO          |
| PV1Voltage                              | Number                 | 10   | V    | RO          |
| PV1Current                              | Number                 | 100  | A    | RO          |
| PV2Voltage                              | Number                 | 10   | V    | RO          |
| PV2Current                              | Number                 | 100  | A    | RO          |
| PV3Voltage                              | Number                 | 10   | V    | RO          |
| PV3Current                              | Number                 | 100  | A    | RO          |
| PV4Voltage                              | Number                 | 10   | V    | RO          |
| PV4Current                              | Number                 | 100  | A    | RO          |
| PV5Voltage                              | Number                 | 10   | V    | RO          |
| PV5Current                              | Number                 | 100  | A    | RO          |
| PV6Voltage                              | Number                 | 10   | V    | RO          |
| PV6Current                              | Number                 | 100  | A    | RO          |
| PV7Voltage                              | Number                 | 10   | V    | RO          |
| PV7Current                              | Number                 | 100  | A    | RO          |
| PV8Voltage                              | Number                 | 10   | V    | RO          |
| PV8Current                              | Number                 | 100  | A    | RO          |
| PV9Voltage                              | Number                 | 10   | V    | RO          |
| PV9Current                              | Number                 | 100  | A    | RO          |
| PV10Voltage                             | Number                 | 10   | V    | RO          |
| PV10Current                             | Number                 | 100  | A    | RO          |
| PV11Voltage                             | Number                 | 10   | V    | RO          |
| PV11Current                             | Number                 | 100  | A    | RO          |
| PV12Voltage                             | Number                 | 10   | V    | RO          |
| PV12Current                             | Number                 | 100  | A    | RO          |
| PV13Voltage                             | Number                 | 10   | V    | RO          |
| PV13Current                             | Number                 | 100  | A    | RO          |
| PV14Voltage                             | Number                 | 10   | V    | RO          |
| PV14Current                             | Number                 | 100  | A    | RO          |
| PV15Voltage                             | Number                 | 10   | V    | RO          |
| PV15Current                             | Number                 | 100  | A    | RO          |
| PV16Voltage                             | Number                 | 10   | V    | RO          |
| PV16Current                             | Number                 | 100  | A    | RO          |
| PV17Voltage                             | Number                 | 10   | V    | RO          |
| PV17Current                             | Number                 | 100  | A    | RO          |
| PV18Voltage                             | Number                 | 10   | V    | RO          |
| PV18Current                             | Number                 | 100  | A    | RO          |
| PV19Voltage                             | Number                 | 10   | V    | RO          |
| PV19Current                             | Number                 | 100  | A    | RO          |
| PV20Voltage                             | Number                 | 10   | V    | RO          |
| PV20Current                             | Number                 | 100  | A    | RO          |
| PV21Voltage                             | Number                 | 10   | V    | RO          |
| PV21Current                             | Number                 | 100  | A    | RO          |
| PV22Voltage                             | Number                 | 10   | V    | RO          |
| PV22Current                             | Number                 | 100  | A    | RO          |
| PV23Voltage                             | Number                 | 10   | V    | RO          |
| PV23Current                             | Number                 | 100  | A    | RO          |
| PV24Voltage                             | Number                 | 10   | V    | RO          |
| PV24Current                             | Number                 | 100  | A    | RO          |
| InputPower                              | Number                 | 1    | W    | RO          |
| LineVoltageBetweenPhasesAAndB           | Number                 | 10   | V    | RO          |
| LineVoltageBetweenPhasesBAndC           | Number                 | 10   | V    | RO          |
| LineVoltageBetweenPhasesCAndA           | Number                 | 10   | V    | RO          |
| PhaseAVoltage                           | Number                 | 10   | V    | RO          |
| PhaseBVoltage                           | Number                 | 10   | V    | RO          |
| PhaseCVoltage                           | Number                 | 10   | V    | RO          |
| PhaseACurrent                           | Number                 | 1000 | A    | RO          |
| PhaseBCurrent                           | Number                 | 1000 | A    | RO          |
| PhaseCCurrent                           | Number                 | 1000 | A    | RO          |
| PeakActivePowerOfCurrentDay             | Number                 | 1    | W    | RO          |
| ActivePower                             | Number                 | 1    | W    | RO          |
| ReactivePower                           | Number                 | 1000 | kvar | RO          |
| PowerFactor                             | Number                 | 1000 |      | RO          |
| GridFrequency                           | Number                 | 100  | Hz   | RO          |
| Efficiency                              | Number                 | 100  | %    | RO          |
| InternalTemperature                     | Number                 | 10   | °C   | RO          |
| InsulationResistance                    | Number                 | 1000 | MOhm | RO          |
| DeviceStatus                            | Number                 |      |      | RO          |
| FaultCode                               | Number                 |      |      | RO          |
| StartupTime                             | Number                 | 1    | s    | RO          |
| ShutdownTime                            | Number                 | 1    | s    | RO          |
| AccumulatedEnergyYield                  | Number                 | 100  | kWh  | RO          |
| DailyEnergyYield                        | Number                 | 100  | kWh  | RO          |
| ManagementSystemStatus                  | Number                 | 1    |      | RO          |
| AuthorizationFunction                   | Binary String/Bitfield |      |      | RO          |
| LicenseStatus                           | Number                 |      |      | RO          |
| LicenseExpirationTime                   | Number                 | 1    | s    | RO          |
| LicenseLoadingTime                      | Number                 | 1    | s    | RO          |
| LicenseRevocationTime                   | Number                 | 1    | s    | RO          |
| LicenseSN                               | String                 |      |      | RO          |
| RevocationCode                          | String                 |      |      | RO          |
| ModuleStatus4G                          | Number                 |      |      | RO          |
| IPAddress4G                             | Number                 | 1    |      | RO          |
| SubnetMask4G                            | Number                 | 1    |      | RO          |
| IMEI4G                                  | String                 |      |      | RO          |
| SignalStrength4G                        | Number                 | 1    |      | RO          |
| MaximumNumberOfPINAttempts4G            | Number                 | 1    |      | RO          |
| PINVerificationStatus4G                 | Number                 |      |      | RO          |
| OriginalModelName                       | Bytestring             |      |      | RO          |
| ActiveAdjustmentMode                    | Bytestring             |      |      | RO          |
| ReactiveAdjustmentMode                  | Bytestring             |      |      | RO          |
| ChargeDischargeMode                     | Number                 |      |      | RO          |
| PowerMeterCollectionActivePower         | Number                 | 1    | W    | RO          |
| TotalNumberOfOptimizers                 | Number                 | 1    |      | RO          |
| NumberOfOnlineOptimizers                | Number                 | 1    |      | RO          |
| FeatureData                             | Number                 | 1    |      | RO          |
| SystemTime                              | Number                 | 1    | s    | RW          |
| QUCharacteristicCurveMode               | Number                 |      |      | RW          |
| QUDispatchTriggerPower                  | Number                 | 1    | %    | RW          |
| FixedActivePowerDeratedInKW             | Number                 | 10   | kW   | RW          |
| ReactivePowerCompensationInPF           | Number                 | 1000 |      | RW          |
| ReactivePowerCompensationQS             | Number                 | 1000 |      | RW          |
| ActivePowerPercentageDerating           | Number                 | 10   | %    | RW          |
| FixedActivePowerDeratedInW              | Number                 | 1    | W    | RW          |
| ReactivePowerCompensationAtNight        | Number                 | 1000 | kvar | RW          |
| CosPhiPPnCharacteristicCurve            | Bytestring             |      |      | RW          |
| QUCharacteristicCurve                   | Bytestring             |      |      | RW          |
| PFUCharacteristicCurve                  | Bytestring             |      |      | RW          |
| ReactivePowerAdjustmentTime             | Number                 | 1    | s    | RW          |
| QUPowerPercentageToExitScheduling       | Number                 | 1    | %    | RW          |
| Startup                                 | Number                 |      |      | WO          |
| Shutdown                                | Number                 |      |      | WO          |
| GridCode                                | Number                 |      |      | RW          |
| ReactivePowerChangeGradient             | Number                 | 1000 | %/s  | RW          |
| ActivePowerChangeGradient               | Number                 | 1000 | %/s  | RW          |
| ScheduleInstructionValidDuration        | Number                 | 1    | s    | RW          |
| ActivePowerLimit                        | Number                 | 1    | W    | RW          |
| TimeZone                                | Number                 | 1    | min  | RW          |
| TLSEncryption                           | Number                 |      |      | RW          |
| WLANWakeup                              | Number                 |      |      | RW          |
| FastPowerScheduling                     | Number                 |      |      | RW          |
| BatteryChargingMode                     | Number                 |      |      | RW          |
| BatteryChargeAndDischargePower          | Number                 | 1    | W    | RW          |
| RemoteChargeDischargeControlMode        | Number                 |      |      | RW          |
| ScheduledTask                           | Number                 |      |      | RW          |
| DefaultMaximumFeedInPower               | Number                 | 1    | W    | RW          |
| DefaultActivePowerChangeGradient        | Number                 | 1000 | %/s  | RW          |
| PeakShaving                             | Number                 |      |      | RW          |
| BackupPowerSOCForPeakShaving            | Number                 | 10   | %    | RW          |
| PeakPower                               | Bytestring             |      |      | RW          |
| AIOpticalStorage                        | Number                 |      |      | RW          |
| BackupBoxModel                          | Number                 |      |      | RW          |
| PhaseToGroundCircuitProtection          | Number                 |      |      | RW          |

### BatteryEquipmentRegister

| Name                                             | Type       | Gain | Unit | Access Type |
|:-------------------------------------------------|:-----------|:-----|:-----|:------------|
| ProductModel                                     | Number     | 1    |      | RW          |
| RunningStatus                                    | Number     | 1    |      | RO          |
| WorkingModeSettings                              | Number     | 1    |      | RW          |
| BusVoltage                                       | Number     | 10   | V    | RO          |
| BusCurrent                                       | Number     | 10   | A    | RO          |
| ChargeDischargePower                             | Number     | 1    | W    | RO          |
| MaximumChargePower                               | Number     | 1    | W    | RO          |
| MaximumDischargePower                            | Number     | 1    | W    | RO          |
| RatedCapacity                                    | Number     | 1    | Wh   | RO          |
| SOC                                              | Number     | 10   | %    | RO          |
| BackupPowerSOC                                   | Number     | 10   | %    | RW          |
| TargetSOC                                        | Number     | 10   | %    | RW          |
| TotalCharge                                      | Number     | 100  | kWh  | RO          |
| TotalDischarge                                   | Number     | 100  | kWh  | RO          |
| CurrentDayChargeCapacity                         | Number     | 100  | kWh  | RO          |
| CurrentDayDischargeCapacity                      | Number     | 100  | kWh  | RO          |
| TimeOfUseElectricityPricePeriods                 | Bytestring | 1    |      | RW          |
| MaximumChargingPower                             | Number     | 1    | W    | RW          |
| MaximumDischargingPower                          | Number     | 1    | W    | RW          |
| ChargingCutoffCapacity                           | Number     | 10   | %    | RW          |
| DischargeCutoffCapacity                          | Number     | 10   | %    | RW          |
| ForcedChargingAndDischargingPeriod               | Number     | 1    | mins | RW          |
| ForcedChargingAndDischargingPower                | Number     | 1    | W    | RW          |
| ChargeFromGridFunction                           | Number     | 1    |      | RW          |
| GridChargeCutoffSOC                              | Number     | 10   | %    | RW          |
| ForcibleChargeDischarge                          | Number     | 1    |      | RW          |
| FixedChargingAndDischargingPeriods               | Bytestring | 1    |      | RW          |
| PowerOfChargeFromGrid                            | Number     | 1    | W    | RW          |
| MaximumPowerOfChargeFromGrid                     | Number     | 1    | W    | RW          |
| ForcibleChargeDischargeSettingMode               | Number     | 1    |      | RW          |
| ForcibleChargePower                              | Number     | 1    | W    | RW          |
| ForcibleDischargePower                           | Number     | 1    | W    | RW          |
| TimeOfUseChargingAndDischargingPeriods           | Bytestring | 1    |      | RW          |
| ExcessPVEnergyUseInTOU                           | Number     | 1    |      | RW          |
| ActivePowerControlMode                           | Number     | 1    |      | RW          |
| MaximumFeedGridPowerInW                          | Number     | 1    | W    | RW          |
| MaximumFeedGridPowerInPercentage                 | Number     | 10   | %    | RW          |
| MaximumChargeFromGridPower                       | Number     | 1    | W    | RW          |
| SwitchToOffGrid                                  | Number     | 1    |      | RW          |
| VoltageInIndependentOperation                    | Number     | 1    | V    | RW          |
| SOHCalibrationStatus                             | Number     | 1    |      | RO          |
| SOHCalibrationReleaseTheLowerDischargeLimitOfSOC | Number     | 10   |      | RO          |
| SOHCalibrationEnableTheBackupPowerSOC            | Number     | 10   |      | RO          |
| Unit1ProductModel                                | Number     | 1    |      | RW          |
| Unit1SN                                          | String     | 1    |      | RO          |
| Unit1No                                          | Number     | 1    |      | RW          |
| Unit1SoftwareVersion                             | String     | 1    |      | RO          |
| Unit1DCDCVersion                                 | String     | 1    |      | RO          |
| Unit1BMSVersion                                  | String     | 1    |      | RO          |
| Unit1RunningStatus                               | Number     | 1    |      | RO          |
| Unit1WorkingMode                                 | Number     | 1    |      | RO          |
| Unit1BusVoltage                                  | Number     | 10   | V    | RO          |
| Unit1BusCurrent                                  | Number     | 10   | A    | RO          |
| Unit1BatterySOC                                  | Number     | 10   | %    | RO          |
| Unit1ChargeAndDischargePower                     | Number     | 1    | W    | RO          |
| Unit1RemainingChargeDischargeTime                | Number     | 1    | mins | RO          |
| Unit1RatedChargePower                            | Number     | 1    | W    | RO          |
| Unit1RatedDischargePower                         | Number     | 1    | W    | RO          |
| Unit1CurrentDayChargeCapacity                    | Number     | 100  | kWh  | RO          |
| Unit1CurrentDayDischargeCapacity                 | Number     | 100  | kWh  | RO          |
| Unit1TotalCharge                                 | Number     | 100  | kWh  | RO          |
| Unit1TotalDischarge                              | Number     | 100  | kWh  | RO          |
| Unit1BatteryTemperature                          | Number     | 10   | °C   | RO          |
| Unit1FaultID                                     | Number     | 1    |      | RO          |
| Unit2ProductModel                                | Number     | 1    |      | RW          |
| Unit2SN                                          | String     | 1    |      | RO          |
| Unit2No                                          | Number     | 1    |      | RW          |
| Unit2SoftwareVersion                             | String     | 1    |      | RO          |
| Unit2RunningStatus                               | Number     | 1    |      | RO          |
| Unit2BusVoltage                                  | Number     | 10   | V    | RO          |
| Unit2BusCurrent                                  | Number     | 10   | A    | RO          |
| Unit2BatterySOC                                  | Number     | 10   | %    | RO          |
| Unit2ChargeAndDischargePower                     | Number     | 1    | W    | RO          |
| Unit2CurrentDayChargeCapacity                    | Number     | 100  | kWh  | RO          |
| Unit2CurrentDayDischargeCapacity                 | Number     | 100  | kWh  | RO          |
| Unit2TotalCharge                                 | Number     | 100  | kWh  | RO          |
| Unit2TotalDischarge                              | Number     | 100  | kWh  | RO          |
| Unit2BatteryTemperature                          | Number     | 10   | °C   | RO          |
| Unit1BatteryPack1SN                              | String     |      |      | RO          |
| Unit1BatteryPack1No                              | Number     |      |      | RW          |
| Unit1BatteryPack1FirmwareVersion                 | String     |      |      | RO          |
| Unit1BatteryPack1WorkingStatus                   | Number     |      |      | RO          |
| Unit1BatteryPack1Voltage                         | Number     | 10   | V    | RO          |
| Unit1BatteryPack1Current                         | Number     | 10   | A    | RO          |
| Unit1BatteryPack1SOC                             | Number     | 10   | %    | RO          |
| Unit1BatteryPack1ChargeDischargePower            | Number     | 1    | W    | RO          |
| Unit1BatteryPack1TotalCharge                     | Number     | 100  | kWh  | RO          |
| Unit1BatteryPack1TotalDischarge                  | Number     | 100  | kWh  | RO          |
| Unit1BatteryPack1MinimumTemperature              | Number     | 10   | °C   | RO          |
| Unit1BatteryPack1MaximumTemperature              | Number     | 10   | °C   | RO          |
| Unit1BatteryPack1SOHCalibrationStatus            | Number     |      |      | RO          |
| Unit1BatteryPack2SN                              | String     |      |      | RO          |
| Unit1BatteryPack2No                              | Number     |      |      | RW          |
| Unit1BatteryPack2FirmwareVersion                 | String     |      |      | RO          |
| Unit1BatteryPack2WorkingStatus                   | Number     |      |      | RO          |
| Unit1BatteryPack2Voltage                         | Number     | 10   | V    | RO          |
| Unit1BatteryPack2Current                         | Number     | 10   | A    | RO          |
| Unit1BatteryPack2SOC                             | Number     | 10   | %    | RO          |
| Unit1BatteryPack2ChargeDischargePower            | Number     | 1    | W    | RO          |
| Unit1BatteryPack2TotalCharge                     | Number     | 100  | kWh  | RO          |
| Unit1BatteryPack2TotalDischarge                  | Number     | 100  | kWh  | RO          |
| Unit1BatteryPack2MinimumTemperature              | Number     | 10   | °C   | RO          |
| Unit1BatteryPack2MaximumTemperature              | Number     | 10   | °C   | RO          |
| Unit1BatteryPack2SOHCalibrationStatus            | Number     |      |      | RO          |
| Unit1BatteryPack3SN                              | String     |      |      | RO          |
| Unit1BatteryPack3No                              | Number     |      |      | RW          |
| Unit1BatteryPack3FirmwareVersion                 | String     |      |      | RO          |
| Unit1BatteryPack3WorkingStatus                   | Number     |      |      | RO          |
| Unit1BatteryPack3Voltage                         | Number     | 10   | V    | RO          |
| Unit1BatteryPack3Current                         | Number     | 10   | A    | RO          |
| Unit1BatteryPack3SOC                             | Number     | 10   | %    | RO          |
| Unit1BatteryPack3ChargeDischargePower            | Number     | 1    | W    | RO          |
| Unit1BatteryPack3TotalCharge                     | Number     | 100  | kWh  | RO          |
| Unit1BatteryPack3TotalDischarge                  | Number     | 100  | kWh  | RO          |
| Unit1BatteryPack3MinimumTemperature              | Number     | 10   | °C   | RO          |
| Unit1BatteryPack3MaximumTemperature              | Number     | 10   | °C   | RO          |
| Unit1BatteryPack3SOHCalibrationStatus            | Number     |      |      | RO          |
| Unit2BatteryPack1SN                              | String     |      |      | RO          |
| Unit2BatteryPack1No                              | Number     |      |      | RW          |
| Unit2BatteryPack1FirmwareVersion                 | String     |      |      | RO          |
| Unit2BatteryPack1WorkingStatus                   | Number     |      |      | RO          |
| Unit2BatteryPack1Voltage                         | Number     | 10   | V    | RO          |
| Unit2BatteryPack1Current                         | Number     | 10   | A    | RO          |
| Unit2BatteryPack1SOC                             | Number     | 10   | %    | RO          |
| Unit2BatteryPack1ChargeDischargePower            | Number     | 1    | W    | RO          |
| Unit2BatteryPack1TotalCharge                     | Number     | 100  | kWh  | RO          |
| Unit2BatteryPack1TotalDischarge                  | Number     | 100  | kWh  | RO          |
| Unit2BatteryPack1MinimumTemperature              | Number     | 10   | °C   | RO          |
| Unit2BatteryPack1MaximumTemperature              | Number     | 10   | °C   | RO          |
| Unit2BatteryPack1SOHCalibrationStatus            | Number     |      |      | RO          |
| Unit2BatteryPack2SN                              | String     |      |      | RO          |
| Unit2BatteryPack2No                              | Number     |      |      | RW          |
| Unit2BatteryPack2FirmwareVersion                 | String     |      |      | RO          |
| Unit2BatteryPack2WorkingStatus                   | Number     |      |      | RO          |
| Unit2BatteryPack2Voltage                         | Number     | 10   | V    | RO          |
| Unit2BatteryPack2Current                         | Number     | 10   | A    | RO          |
| Unit2BatteryPack2SOC                             | Number     | 10   | %    | RO          |
| Unit2BatteryPack2ChargeDischargePower            | Number     | 1    | W    | RO          |
| Unit2BatteryPack2TotalCharge                     | Number     | 100  | kWh  | RO          |
| Unit2BatteryPack2TotalDischarge                  | Number     | 100  | kWh  | RO          |
| Unit2BatteryPack2MinimumTemperature              | Number     | 10   | °C   | RO          |
| Unit2BatteryPack2MaximumTemperature              | Number     | 10   | °C   | RO          |
| Unit2BatteryPack2SOHCalibrationStatus            | Number     |      |      | RO          |
| Unit2BatteryPack3SN                              | String     |      |      | RO          |
| Unit2BatteryPack3No                              | Number     |      |      | RW          |
| Unit2BatteryPack3FirmwareVersion                 | String     |      |      | RO          |
| Unit2BatteryPack3WorkingStatus                   | Number     |      |      | RO          |
| Unit2BatteryPack3Voltage                         | Number     | 10   | V    | RO          |
| Unit2BatteryPack3Current                         | Number     | 10   | A    | RO          |
| Unit2BatteryPack3SOC                             | Number     | 10   | %    | RO          |
| Unit2BatteryPack3ChargeDischargePower            | Number     | 1    | W    | RO          |
| Unit2BatteryPack3TotalCharge                     | Number     | 100  | kWh  | RO          |
| Unit2BatteryPack3TotalDischarge                  | Number     | 100  | kWh  | RO          |
| Unit2BatteryPack3MinimumTemperature              | Number     | 10   | °C   | RO          |
| Unit2BatteryPack3MaximumTemperature              | Number     | 10   | °C   | RO          |
| Unit2BatteryPack3SOHCalibrationStatus            | Number     |      |      | RO          |

### MeterEquipmentRegister

| Name                      | Type   | Gain | Unit  | Access Type |
|:--------------------------|:-------|:-----|:------|:------------|
| MeterType                 | Number | 1    |       | RO          |
| MeterStatus               | Number | 1    |       | RO          |
| MeterModelDetectionResult | Number | 1    |       | RO          |
| APhaseVoltage             | Number | 10   | V     | RO          |
| BPhaseVoltage             | Number | 10   | V     | RO          |
| CPhaseVoltage             | Number | 10   | V     | RO          |
| APhaseCurrent             | Number | 100  | A     | RO          |
| BPhaseCurrent             | Number | 100  | A     | RO          |
| CPhaseCurrent             | Number | 100  | A     | RO          |
| ActivePower               | Number | 1    | W     | RO          |
| ReactivePower             | Number | 1    | var   | RO          |
| PowerFactor               | Number | 1000 |       | RO          |
| GridFrequency             | Number | 100  | Hz    | RO          |
| PositiveActiveElectricity | Number | 100  | kWh   | RO          |
| ReverseActivePower        | Number | 100  | kWh   | RO          |
| AccumulatedReactivePower  | Number | 100  | kvarh | RO          |
| ABLineVoltage             | Number | 10   | V     | RO          |
| BCLineVoltage             | Number | 10   | V     | RO          |
| CALineVoltage             | Number | 10   | V     | RO          |
| APhaseActivePower         | Number | 1    | W     | RO          |
| BPhaseActivePower         | Number | 1    | W     | RO          |
| CPhaseActivePower         | Number | 1    | W     | RO          |

