sun2000_modbus


Namesun2000_modbus JSON
Version 2.5.0 PyPI version JSON
download
home_pageNone
SummaryLibrary for reading Huawei Sun2000 inverter metrics via Modbus TCP
upload_time2025-04-27 20:42:52
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords sun2000 modbus photovoltaic
VCS
bugtrack_url
requirements pymodbus
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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

## 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.                                         |
| slave     | Number of inverter unit to be read, 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.

### Write settings

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

## Registers

The following registers are provided by the Sun2000's Modbus interface and can be read accordingly. Documentation can be found
[here](https://javierin.com/wp-content/uploads/sites/2/2021/09/Solar-Inverter-Modbus-Interface-Definitions.pdf).

### InverterEquipmentRegister

| Name                                    | Type                   | Gain | Unit | Access Type |
|-----------------------------------------|------------------------|------|------|-------------|
| Model                                   | String                 |      |      | RO          |
| SN                                      | String                 |      |      | RO          |
| PN                                      | String                 |      |      | RO          |
| FirmwareVerion                          | String                 |      |      | RO          |
| SoftwareVerion                          | String                 |      |      | RO          |
| ProtocolVerion                          | String                 |      |      | RO          |
| ModelID                                 | Number                 | 1    |      | 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          |
| 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          |
| 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                 | 1    |      | RO          |
| FaultCode                               | Number                 | 1    |      | RO          |
| StartupTime                             | Number                 | 1    |      | RO          |
| ShutdownTime                            | Number                 | 1    |      | RO          |
| AccumulatedEnergyYield                  | Number                 | 100  | kWh  | RO          |
| DailyEnergyYield                        | Number                 | 100  | kWh  | RO          |
| ActiveAdjustmentMode                    | Number                 | 1    |      | RO          |
| ActiveAdjustmentValue                   | Number                 | 1    |      | RO          |
| ActiveAdjustmentCommand                 | Number                 | 1    |      | RO          |
| ReactiveAdjustmentMode                  | Number                 | 1    |      | RO          |
| ReactiveAdjustmentValue                 | Number                 | 1    |      | RO          |
| ReactiveAdjustmentCommand               | Number                 | 1    |      | RO          |
| PowerMeterCollectionActivePower         | Number                 | 1    | W    | RO          |
| TotalNumberOfOptimizers                 | Number                 | 1    |      | RO          |
| NumberOfOnlineOptimizers                | Number                 | 1    |      | RO          |
| FeatureData                             | Number                 | 1    |      | RO          |
| SystemTime                              | Number                 | 1    |      | RW          |
| QUCharacteristicCurveMode               | Number                 | 1    |      | 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                 | 1    |      | WO          |
| Shutdown                                | Number                 | 1    |      | WO          |
| GridCode                                | Number                 | 1    |      | RW          |
| ReactivePowerChangeGradient             | Number                 | 1000 | %/s  | RW          |
| ActivePowerChangeGradient               | Number                 | 1000 | %/s  | RW          |
| ScheduleInstructionValidDuration        | Number                 | 1    | s    | RW          |
| TimeZone                                | Number                 | 1    | min  | RW          |

### BatteryEquipmentRegister

| Name                                   | Type       | Gain | Unit    | Access Type |
|----------------------------------------|------------|------|---------|-------------|
| 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          |
| TotalCharge                            | Number     | 100  | kWh     | RO          |
| TotalDischarge                         | Number     | 100  | kWh     | RO          |
| CurrentDayChargeCapacity               | Number     | 100  | kWh     | RO          |
| CurrentDayDischargeCapacity            | Number     | 100  | kWh     | RO          |
| TimeOfUseElectricityPricePeriods       | Bytestring |      |         | RW          |
| MaximumChargingPower                   | Number     | 1    | W       | RW          |
| MaximumDischargingPower                | Number     | 1    | W       | RW          |
| ChargingCutoffCapacity                 | Number     | 10   | %       | RW          |
| DischargeCutoffCapacity                | Number     | 10   | %       | RW          |
| ForcedChargingAndDischargingPeriod     | Number     | 1    | minutes | RW          |
| ChargeFromGridFunction                 | Number     | 1    |         | RW          |
| GridChargeCutoffSOC                    | Number     | 10   | %       | RW          |
| ForcibleChargeDischarge                | Number     | 1    |         | WO          |
| FixedChargingAndDischargingPeriods     | Bytestring |      |         | RW          |
| PowerOfChargeFromGrid                  | Number     | 0.1  | W       | RW          |
| MaximumPowerOfChargeFromGrid           | Number     | 0.1  | W       | RW          |
| ForcibleChargeDischargeSettingMode     | Number     | 1    |         | RW          |
| ForcibleChargePower                    | Number     | 0.1  | W       | RW          |
| ForcibleDischargePower                 | Number     | 0.1  | W       | RW          |
| TimeOfUseChargingAndDischargingPeriods | Bytestring |      |         | RW          |
| ExcessPVEnergyUseInTOU                 | Number     | 1    |         | RW          |
| ActivePowerControlMode                 | Number     | 1    |         | RW          |
| MaximumFeedGridPowerInKW               | Number     | 1000 | kW      | RW          |
| MaximumFeedGridPowerInPercentage       | Number     | 10   | %       | RW          |
| MaximumChargeFromGridPower             | Number     | 0.1  | W       | RW          |
| SwitchToOffGrid                        | Number     | 1    |         | RW          |
| VoltageInIndependentOperation          | Number     | 1    |         | RW          |
| Unit1ProductModel                      | Number     | 1    |         | RW          |
| Unit1SN                                | String     |      |         | RO          |
| Unit1No                                | Number     | 1    |         | RW          |
| Unit1SoftwareVersion                   | String     |      |         | RO          |
| Unit1DCDCVersion                       | String     |      |         | RO          |
| Unit1BMSVersion                        | String     |      |         | 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    | minutes | 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     |      |         | RO          |
| Unit2No                                | Number     | 1    |         | RW          |
| Unit2SoftwareVersion                   | String     |      |         | 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     | 1    |         | RW          |
| Unit1BatteryPack1FirmwareVersion       | String     |      |         | RO          |
| Unit1BatteryPack1WorkingStatus         | Number     | 1    |         | 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          |
| Unit1BatteryPack2SN                    | String     |      |         | RO          |
| Unit1BatteryPack2No                    | Number     | 1    |         | RW          |
| Unit1BatteryPack2FirmwareVersion       | String     |      |         | RO          |
| Unit1BatteryPack2WorkingStatus         | Number     | 1    |         | 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          |
| Unit1BatteryPack3SN                    | String     |      |         | RO          |
| Unit1BatteryPack3No                    | Number     | 1    |         | RW          |
| Unit1BatteryPack3FirmwareVersion       | String     |      |         | RO          |
| Unit1BatteryPack3WorkingStatus         | Number     | 1    |         | 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          |
| Unit2BatteryPack1SN                    | String     |      |         | RO          |
| Unit2BatteryPack1No                    | Number     | 1    |         | RW          |
| Unit2BatteryPack1FirmwareVersion       | String     |      |         | RO          |
| Unit2BatteryPack1WorkingStatus         | Number     | 1    |         | 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          |
| Unit2BatteryPack2SN                    | String     |      |         | RO          |
| Unit2BatteryPack2No                    | Number     | 1    |         | RW          |
| Unit2BatteryPack2FirmwareVersion       | String     |      |         | RO          |
| Unit2BatteryPack2WorkingStatus         | Number     | 1    |         | 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          |
| Unit2BatteryPack3SN                    | String     |      |         | RO          |
| Unit2BatteryPack3No                    | Number     | 1    |         | RW          |
| Unit2BatteryPack3FirmwareVersion       | String     |      |         | RO          |
| Unit2BatteryPack3WorkingStatus         | Number     | 1    |         | 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          |

### MeterEquipmentRegister

| Name                      | Type   | Gain | Unit | Access Type |
|---------------------------|--------|------|------|-------------|
| MeterStatus               | 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  | kvar | RO          |
| MeterType                 | Number | 1    |      | 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          |
| MeterModelDetectionResult | Number | 1    |      | RO          |

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "sun2000_modbus",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "sun2000, modbus, photovoltaic",
    "author": null,
    "author_email": "Oliver Gregorius <oliver@gregorius.dev>",
    "download_url": "https://files.pythonhosted.org/packages/84/cf/bd51198079a5d623cb84b61176b2a2c18e5acb8f2c7802eacc612e1ab4a3/sun2000_modbus-2.5.0.tar.gz",
    "platform": null,
    "description": "# sun2000_modbus\n\n[![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)\n[![Python Versions](https://img.shields.io/pypi/pyversions/sun2000_modbus?label=Python)](https://pypi.org/project/sun2000_modbus/)\n[![GitHub](https://img.shields.io/github/license/olivergregorius/sun2000_modbus?label=License)](https://github.com/olivergregorius/sun2000_modbus/blob/HEAD/LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/sun2000_modbus?label=PyPI)](https://pypi.org/project/sun2000_modbus/)\n\n## Introduction\n\nThis library is intended for reading Huawei Sun2000 inverter metrics from registers via Modbus TCP. Access to the Modbus interface is established by connecting\nto the device's internal Wifi access point. For information about how to connect to this internal AP consult the official documentation of the device.\n\n## Requirements\n\n- Python >= 3.9\n\n## Disclaimer\n\nBy 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\nthis library.\n\n## Usage\n\nsun2000_modbus provides easy and comfortable access to your inverter's Modbus TCP interface. The following example gives a short introduction about how to read\na register:\n\n```python\nfrom sun2000_modbus import inverter\nfrom sun2000_modbus import registers\n\ninverter = inverter.Sun2000(host='192.168.8.1')\ninverter.connect()\nif inverter.isConnected():\n    input_power = inverter.read_formatted(registers.InverterEquipmentRegister.InputPower)\n    print(input_power)\n```\n\nThe above code snippet prints out the current input power value, e.g. `8.342 kW`.\n\n### Connection configuration\n\nDuring instantiation of a Sun2000 object the following parameters are accepted:\n\n| Parameter | Description                                                                                                                         |\n|-----------|-------------------------------------------------------------------------------------------------------------------------------------|\n| host      | IP address                                                                                                                          |\n| port      | Port, usually 502, changed to 6607 on newer firmware versions.                                                                      |\n| timeout   | Connection timeout                                                                                                                  |\n| wait      | Time to wait after connection before a register read can be performed. Increases stability.                                         |\n| slave     | Number of inverter unit to be read, used in cascading scenarios. Defaults to 0, but some devices need it to be set to other values. |\n\n### Read metrics\n\nSeveral methods are provided to return the read register values in different formats:\n\n| Method         | Description                                                                                     |\n|----------------|-------------------------------------------------------------------------------------------------|\n| read_raw_value | Returns the raw value converted to its readable form                                            |\n| read           | Returns the postprocessed value, e.g. a float value is calculated according to its defined gain |\n| read_formatted | Returns the postprocessed value suffixed with its unit, if defined                              |\n\nLooking at the [above example](#usage) the different methods would return the following values for the input power metric:\n\n| Method         | Returned value |\n|----------------|----------------|\n| read_raw_value | 8342           |\n| read           | 8.342          |\n| read_formatted | 8.342 kW       |\n\nFurthermore, 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\nregister to be read. The result is returned as byte-string for further processing.\n\n### Write settings\n\nFor writing a register the `write` method can be used, taking the register address and the value as arguments.\n\n## Registers\n\nThe following registers are provided by the Sun2000's Modbus interface and can be read accordingly. Documentation can be found\n[here](https://javierin.com/wp-content/uploads/sites/2/2021/09/Solar-Inverter-Modbus-Interface-Definitions.pdf).\n\n### InverterEquipmentRegister\n\n| Name                                    | Type                   | Gain | Unit | Access Type |\n|-----------------------------------------|------------------------|------|------|-------------|\n| Model                                   | String                 |      |      | RO          |\n| SN                                      | String                 |      |      | RO          |\n| PN                                      | String                 |      |      | RO          |\n| FirmwareVerion                          | String                 |      |      | RO          |\n| SoftwareVerion                          | String                 |      |      | RO          |\n| ProtocolVerion                          | String                 |      |      | RO          |\n| ModelID                                 | Number                 | 1    |      | RO          |\n| NumberOfPVStrings                       | Number                 | 1    |      | RO          |\n| NumberOfMPPTrackers                     | Number                 | 1    |      | RO          |\n| RatedPower                              | Number                 | 1    | W    | RO          |\n| MaximumActivePower                      | Number                 | 1    | W    | RO          |\n| MaximumApparentPower                    | Number                 | 1000 | kVA  | RO          |\n| MaximumReactivePowerFedToTheGrid        | Number                 | 1000 | kvar | RO          |\n| MaximumReactivePowerAbsorbedFromTheGrid | Number                 | 1000 | kvar | RO          |\n| State1                                  | Binary String/Bitfield |      |      | RO          |\n| State2                                  | Binary String/Bitfield |      |      | RO          |\n| State3                                  | Binary String/Bitfield |      |      | RO          |\n| Alarm1                                  | Binary String/Bitfield |      |      | RO          |\n| Alarm2                                  | Binary String/Bitfield |      |      | RO          |\n| Alarm3                                  | Binary String/Bitfield |      |      | RO          |\n| PV1Voltage                              | Number                 | 10   | V    | RO          |\n| PV1Current                              | Number                 | 100  | A    | RO          |\n| PV2Voltage                              | Number                 | 10   | V    | RO          |\n| PV2Current                              | Number                 | 100  | A    | RO          |\n| PV3Voltage                              | Number                 | 10   | V    | RO          |\n| PV3Current                              | Number                 | 100  | A    | RO          |\n| PV4Voltage                              | Number                 | 10   | V    | RO          |\n| PV4Current                              | Number                 | 100  | A    | RO          |\n| PV5Voltage                              | Number                 | 10   | V    | RO          |\n| PV5Current                              | Number                 | 100  | A    | RO          |\n| PV6Voltage                              | Number                 | 10   | V    | RO          |\n| PV6Current                              | Number                 | 100  | A    | RO          |\n| PV7Voltage                              | Number                 | 10   | V    | RO          |\n| PV7Current                              | Number                 | 100  | A    | RO          |\n| PV8Voltage                              | Number                 | 10   | V    | RO          |\n| PV8Current                              | Number                 | 100  | A    | RO          |\n| PV9Voltage                              | Number                 | 10   | V    | RO          |\n| PV9Current                              | Number                 | 100  | A    | RO          |\n| PV10Voltage                             | Number                 | 10   | V    | RO          |\n| PV10Current                             | Number                 | 100  | A    | RO          |\n| PV11Voltage                             | Number                 | 10   | V    | RO          |\n| PV11Current                             | Number                 | 100  | A    | RO          |\n| PV12Voltage                             | Number                 | 10   | V    | RO          |\n| PV12Current                             | Number                 | 100  | A    | RO          |\n| PV13Voltage                             | Number                 | 10   | V    | RO          |\n| PV13Current                             | Number                 | 100  | A    | RO          |\n| PV14Voltage                             | Number                 | 10   | V    | RO          |\n| PV14Current                             | Number                 | 100  | A    | RO          |\n| PV15Voltage                             | Number                 | 10   | V    | RO          |\n| PV15Current                             | Number                 | 100  | A    | RO          |\n| PV16Voltage                             | Number                 | 10   | V    | RO          |\n| PV16Current                             | Number                 | 100  | A    | RO          |\n| PV17Voltage                             | Number                 | 10   | V    | RO          |\n| PV17Current                             | Number                 | 100  | A    | RO          |\n| PV18Voltage                             | Number                 | 10   | V    | RO          |\n| PV18Current                             | Number                 | 100  | A    | RO          |\n| PV19Voltage                             | Number                 | 10   | V    | RO          |\n| PV19Current                             | Number                 | 100  | A    | RO          |\n| PV20Voltage                             | Number                 | 10   | V    | RO          |\n| PV20Current                             | Number                 | 100  | A    | RO          |\n| PV21Voltage                             | Number                 | 10   | V    | RO          |\n| PV21Current                             | Number                 | 100  | A    | RO          |\n| PV22Voltage                             | Number                 | 10   | V    | RO          |\n| PV22Current                             | Number                 | 100  | A    | RO          |\n| PV23Voltage                             | Number                 | 10   | V    | RO          |\n| PV23Current                             | Number                 | 100  | A    | RO          |\n| PV24Voltage                             | Number                 | 10   | V    | RO          |\n| PV24Current                             | Number                 | 100  | A    | RO          |\n| InputPower                              | Number                 | 1    | W    | RO          |\n| LineVoltageBetweenPhasesAAndB           | Number                 | 10   | V    | RO          |\n| LineVoltageBetweenPhasesBAndC           | Number                 | 10   | V    | RO          |\n| LineVoltageBetweenPhasesCAndA           | Number                 | 10   | V    | RO          |\n| PhaseAVoltage                           | Number                 | 10   | V    | RO          |\n| PhaseBVoltage                           | Number                 | 10   | V    | RO          |\n| PhaseCVoltage                           | Number                 | 10   | V    | RO          |\n| PhaseACurrent                           | Number                 | 1000 | A    | RO          |\n| PhaseBCurrent                           | Number                 | 1000 | A    | RO          |\n| PhaseCCurrent                           | Number                 | 1000 | A    | RO          |\n| PeakActivePowerOfCurrentDay             | Number                 | 1    | W    | RO          |\n| ActivePower                             | Number                 | 1    | W    | RO          |\n| ReactivePower                           | Number                 | 1000 | kvar | RO          |\n| PowerFactor                             | Number                 | 1000 |      | RO          |\n| GridFrequency                           | Number                 | 100  | Hz   | RO          |\n| Efficiency                              | Number                 | 100  | %    | RO          |\n| InternalTemperature                     | Number                 | 10   | \u00b0C   | RO          |\n| InsulationResistance                    | Number                 | 1000 | MOhm | RO          |\n| DeviceStatus                            | Number                 | 1    |      | RO          |\n| FaultCode                               | Number                 | 1    |      | RO          |\n| StartupTime                             | Number                 | 1    |      | RO          |\n| ShutdownTime                            | Number                 | 1    |      | RO          |\n| AccumulatedEnergyYield                  | Number                 | 100  | kWh  | RO          |\n| DailyEnergyYield                        | Number                 | 100  | kWh  | RO          |\n| ActiveAdjustmentMode                    | Number                 | 1    |      | RO          |\n| ActiveAdjustmentValue                   | Number                 | 1    |      | RO          |\n| ActiveAdjustmentCommand                 | Number                 | 1    |      | RO          |\n| ReactiveAdjustmentMode                  | Number                 | 1    |      | RO          |\n| ReactiveAdjustmentValue                 | Number                 | 1    |      | RO          |\n| ReactiveAdjustmentCommand               | Number                 | 1    |      | RO          |\n| PowerMeterCollectionActivePower         | Number                 | 1    | W    | RO          |\n| TotalNumberOfOptimizers                 | Number                 | 1    |      | RO          |\n| NumberOfOnlineOptimizers                | Number                 | 1    |      | RO          |\n| FeatureData                             | Number                 | 1    |      | RO          |\n| SystemTime                              | Number                 | 1    |      | RW          |\n| QUCharacteristicCurveMode               | Number                 | 1    |      | RW          |\n| QUDispatchTriggerPower                  | Number                 | 1    | %    | RW          |\n| FixedActivePowerDeratedInKW             | Number                 | 10   | kW   | RW          |\n| ReactivePowerCompensationInPF           | Number                 | 1000 |      | RW          |\n| ReactivePowerCompensationQS             | Number                 | 1000 |      | RW          |\n| ActivePowerPercentageDerating           | Number                 | 10   | %    | RW          |\n| FixedActivePowerDeratedInW              | Number                 | 1    | W    | RW          |\n| ReactivePowerCompensationAtNight        | Number                 | 1000 | kvar | RW          |\n| CosPhiPPnCharacteristicCurve            | Bytestring             |      |      | RW          |\n| QUCharacteristicCurve                   | Bytestring             |      |      | RW          |\n| PFUCharacteristicCurve                  | Bytestring             |      |      | RW          |\n| ReactivePowerAdjustmentTime             | Number                 | 1    | s    | RW          |\n| QUPowerPercentageToExitScheduling       | Number                 | 1    | %    | RW          |\n| Startup                                 | Number                 | 1    |      | WO          |\n| Shutdown                                | Number                 | 1    |      | WO          |\n| GridCode                                | Number                 | 1    |      | RW          |\n| ReactivePowerChangeGradient             | Number                 | 1000 | %/s  | RW          |\n| ActivePowerChangeGradient               | Number                 | 1000 | %/s  | RW          |\n| ScheduleInstructionValidDuration        | Number                 | 1    | s    | RW          |\n| TimeZone                                | Number                 | 1    | min  | RW          |\n\n### BatteryEquipmentRegister\n\n| Name                                   | Type       | Gain | Unit    | Access Type |\n|----------------------------------------|------------|------|---------|-------------|\n| RunningStatus                          | Number     | 1    |         | RO          |\n| WorkingModeSettings                    | Number     | 1    |         | RW          |\n| BusVoltage                             | Number     | 10   | V       | RO          |\n| BusCurrent                             | Number     | 10   | A       | RO          |\n| ChargeDischargePower                   | Number     | 1    | W       | RO          |\n| MaximumChargePower                     | Number     | 1    | W       | RO          |\n| MaximumDischargePower                  | Number     | 1    | W       | RO          |\n| RatedCapacity                          | Number     | 1    | Wh      | RO          |\n| SOC                                    | Number     | 10   | %       | RO          |\n| BackupPowerSOC                         | Number     | 10   | %       | RW          |\n| TotalCharge                            | Number     | 100  | kWh     | RO          |\n| TotalDischarge                         | Number     | 100  | kWh     | RO          |\n| CurrentDayChargeCapacity               | Number     | 100  | kWh     | RO          |\n| CurrentDayDischargeCapacity            | Number     | 100  | kWh     | RO          |\n| TimeOfUseElectricityPricePeriods       | Bytestring |      |         | RW          |\n| MaximumChargingPower                   | Number     | 1    | W       | RW          |\n| MaximumDischargingPower                | Number     | 1    | W       | RW          |\n| ChargingCutoffCapacity                 | Number     | 10   | %       | RW          |\n| DischargeCutoffCapacity                | Number     | 10   | %       | RW          |\n| ForcedChargingAndDischargingPeriod     | Number     | 1    | minutes | RW          |\n| ChargeFromGridFunction                 | Number     | 1    |         | RW          |\n| GridChargeCutoffSOC                    | Number     | 10   | %       | RW          |\n| ForcibleChargeDischarge                | Number     | 1    |         | WO          |\n| FixedChargingAndDischargingPeriods     | Bytestring |      |         | RW          |\n| PowerOfChargeFromGrid                  | Number     | 0.1  | W       | RW          |\n| MaximumPowerOfChargeFromGrid           | Number     | 0.1  | W       | RW          |\n| ForcibleChargeDischargeSettingMode     | Number     | 1    |         | RW          |\n| ForcibleChargePower                    | Number     | 0.1  | W       | RW          |\n| ForcibleDischargePower                 | Number     | 0.1  | W       | RW          |\n| TimeOfUseChargingAndDischargingPeriods | Bytestring |      |         | RW          |\n| ExcessPVEnergyUseInTOU                 | Number     | 1    |         | RW          |\n| ActivePowerControlMode                 | Number     | 1    |         | RW          |\n| MaximumFeedGridPowerInKW               | Number     | 1000 | kW      | RW          |\n| MaximumFeedGridPowerInPercentage       | Number     | 10   | %       | RW          |\n| MaximumChargeFromGridPower             | Number     | 0.1  | W       | RW          |\n| SwitchToOffGrid                        | Number     | 1    |         | RW          |\n| VoltageInIndependentOperation          | Number     | 1    |         | RW          |\n| Unit1ProductModel                      | Number     | 1    |         | RW          |\n| Unit1SN                                | String     |      |         | RO          |\n| Unit1No                                | Number     | 1    |         | RW          |\n| Unit1SoftwareVersion                   | String     |      |         | RO          |\n| Unit1DCDCVersion                       | String     |      |         | RO          |\n| Unit1BMSVersion                        | String     |      |         | RO          |\n| Unit1RunningStatus                     | Number     | 1    |         | RO          |\n| Unit1WorkingMode                       | Number     | 1    |         | RO          |\n| Unit1BusVoltage                        | Number     | 10   | V       | RO          |\n| Unit1BusCurrent                        | Number     | 10   | A       | RO          |\n| Unit1BatterySOC                        | Number     | 10   | %       | RO          |\n| Unit1ChargeAndDischargePower           | Number     | 1    | W       | RO          |\n| Unit1RemainingChargeDischargeTime      | Number     | 1    | minutes | RO          |\n| Unit1RatedChargePower                  | Number     | 1    | W       | RO          |\n| Unit1RatedDischargePower               | Number     | 1    | W       | RO          |\n| Unit1CurrentDayChargeCapacity          | Number     | 100  | kWh     | RO          |\n| Unit1CurrentDayDischargeCapacity       | Number     | 100  | kWh     | RO          |\n| Unit1TotalCharge                       | Number     | 100  | kWh     | RO          |\n| Unit1TotalDischarge                    | Number     | 100  | kWh     | RO          |\n| Unit1BatteryTemperature                | Number     | 10   | \u00b0C      | RO          |\n| Unit1FaultID                           | Number     | 1    |         | RO          |\n| Unit2ProductModel                      | Number     | 1    |         | RW          |\n| Unit2SN                                | String     |      |         | RO          |\n| Unit2No                                | Number     | 1    |         | RW          |\n| Unit2SoftwareVersion                   | String     |      |         | RO          |\n| Unit2RunningStatus                     | Number     | 1    |         | RO          |\n| Unit2BusVoltage                        | Number     | 10   | V       | RO          |\n| Unit2BusCurrent                        | Number     | 10   | A       | RO          |\n| Unit2BatterySOC                        | Number     | 10   | %       | RO          |\n| Unit2ChargeAndDischargePower           | Number     | 1    | W       | RO          |\n| Unit2CurrentDayChargeCapacity          | Number     | 100  | kWh     | RO          |\n| Unit2CurrentDayDischargeCapacity       | Number     | 100  | kWh     | RO          |\n| Unit2TotalCharge                       | Number     | 100  | kWh     | RO          |\n| Unit2TotalDischarge                    | Number     | 100  | kWh     | RO          |\n| Unit2BatteryTemperature                | Number     | 10   | \u00b0C      | RO          |\n| Unit1BatteryPack1SN                    | String     |      |         | RO          |\n| Unit1BatteryPack1No                    | Number     | 1    |         | RW          |\n| Unit1BatteryPack1FirmwareVersion       | String     |      |         | RO          |\n| Unit1BatteryPack1WorkingStatus         | Number     | 1    |         | RO          |\n| Unit1BatteryPack1Voltage               | Number     | 10   | V       | RO          |\n| Unit1BatteryPack1Current               | Number     | 10   | A       | RO          |\n| Unit1BatteryPack1SOC                   | Number     | 10   | %       | RO          |\n| Unit1BatteryPack1ChargeDischargePower  | Number     | 1    | W       | RO          |\n| Unit1BatteryPack1TotalCharge           | Number     | 100  | kWh     | RO          |\n| Unit1BatteryPack1TotalDischarge        | Number     | 100  | kWh     | RO          |\n| Unit1BatteryPack1MinimumTemperature    | Number     | 10   | \u00b0C      | RO          |\n| Unit1BatteryPack1MaximumTemperature    | Number     | 10   | \u00b0C      | RO          |\n| Unit1BatteryPack2SN                    | String     |      |         | RO          |\n| Unit1BatteryPack2No                    | Number     | 1    |         | RW          |\n| Unit1BatteryPack2FirmwareVersion       | String     |      |         | RO          |\n| Unit1BatteryPack2WorkingStatus         | Number     | 1    |         | RO          |\n| Unit1BatteryPack2Voltage               | Number     | 10   | V       | RO          |\n| Unit1BatteryPack2Current               | Number     | 10   | A       | RO          |\n| Unit1BatteryPack2SOC                   | Number     | 10   | %       | RO          |\n| Unit1BatteryPack2ChargeDischargePower  | Number     | 1    | W       | RO          |\n| Unit1BatteryPack2TotalCharge           | Number     | 100  | kWh     | RO          |\n| Unit1BatteryPack2TotalDischarge        | Number     | 100  | kWh     | RO          |\n| Unit1BatteryPack2MinimumTemperature    | Number     | 10   | \u00b0C      | RO          |\n| Unit1BatteryPack2MaximumTemperature    | Number     | 10   | \u00b0C      | RO          |\n| Unit1BatteryPack3SN                    | String     |      |         | RO          |\n| Unit1BatteryPack3No                    | Number     | 1    |         | RW          |\n| Unit1BatteryPack3FirmwareVersion       | String     |      |         | RO          |\n| Unit1BatteryPack3WorkingStatus         | Number     | 1    |         | RO          |\n| Unit1BatteryPack3Voltage               | Number     | 10   | V       | RO          |\n| Unit1BatteryPack3Current               | Number     | 10   | A       | RO          |\n| Unit1BatteryPack3SOC                   | Number     | 10   | %       | RO          |\n| Unit1BatteryPack3ChargeDischargePower  | Number     | 1    | W       | RO          |\n| Unit1BatteryPack3TotalCharge           | Number     | 100  | kWh     | RO          |\n| Unit1BatteryPack3TotalDischarge        | Number     | 100  | kWh     | RO          |\n| Unit1BatteryPack3MinimumTemperature    | Number     | 10   | \u00b0C      | RO          |\n| Unit1BatteryPack3MaximumTemperature    | Number     | 10   | \u00b0C      | RO          |\n| Unit2BatteryPack1SN                    | String     |      |         | RO          |\n| Unit2BatteryPack1No                    | Number     | 1    |         | RW          |\n| Unit2BatteryPack1FirmwareVersion       | String     |      |         | RO          |\n| Unit2BatteryPack1WorkingStatus         | Number     | 1    |         | RO          |\n| Unit2BatteryPack1Voltage               | Number     | 10   | V       | RO          |\n| Unit2BatteryPack1Current               | Number     | 10   | A       | RO          |\n| Unit2BatteryPack1SOC                   | Number     | 10   | %       | RO          |\n| Unit2BatteryPack1ChargeDischargePower  | Number     | 1    | W       | RO          |\n| Unit2BatteryPack1TotalCharge           | Number     | 100  | kWh     | RO          |\n| Unit2BatteryPack1TotalDischarge        | Number     | 100  | kWh     | RO          |\n| Unit2BatteryPack1MinimumTemperature    | Number     | 10   | \u00b0C      | RO          |\n| Unit2BatteryPack1MaximumTemperature    | Number     | 10   | \u00b0C      | RO          |\n| Unit2BatteryPack2SN                    | String     |      |         | RO          |\n| Unit2BatteryPack2No                    | Number     | 1    |         | RW          |\n| Unit2BatteryPack2FirmwareVersion       | String     |      |         | RO          |\n| Unit2BatteryPack2WorkingStatus         | Number     | 1    |         | RO          |\n| Unit2BatteryPack2Voltage               | Number     | 10   | V       | RO          |\n| Unit2BatteryPack2Current               | Number     | 10   | A       | RO          |\n| Unit2BatteryPack2SOC                   | Number     | 10   | %       | RO          |\n| Unit2BatteryPack2ChargeDischargePower  | Number     | 1    | W       | RO          |\n| Unit2BatteryPack2TotalCharge           | Number     | 100  | kWh     | RO          |\n| Unit2BatteryPack2TotalDischarge        | Number     | 100  | kWh     | RO          |\n| Unit2BatteryPack2MinimumTemperature    | Number     | 10   | \u00b0C      | RO          |\n| Unit2BatteryPack2MaximumTemperature    | Number     | 10   | \u00b0C      | RO          |\n| Unit2BatteryPack3SN                    | String     |      |         | RO          |\n| Unit2BatteryPack3No                    | Number     | 1    |         | RW          |\n| Unit2BatteryPack3FirmwareVersion       | String     |      |         | RO          |\n| Unit2BatteryPack3WorkingStatus         | Number     | 1    |         | RO          |\n| Unit2BatteryPack3Voltage               | Number     | 10   | V       | RO          |\n| Unit2BatteryPack3Current               | Number     | 10   | A       | RO          |\n| Unit2BatteryPack3SOC                   | Number     | 10   | %       | RO          |\n| Unit2BatteryPack3ChargeDischargePower  | Number     | 1    | W       | RO          |\n| Unit2BatteryPack3TotalCharge           | Number     | 100  | kWh     | RO          |\n| Unit2BatteryPack3TotalDischarge        | Number     | 100  | kWh     | RO          |\n| Unit2BatteryPack3MinimumTemperature    | Number     | 10   | \u00b0C      | RO          |\n| Unit2BatteryPack3MaximumTemperature    | Number     | 10   | \u00b0C      | RO          |\n\n### MeterEquipmentRegister\n\n| Name                      | Type   | Gain | Unit | Access Type |\n|---------------------------|--------|------|------|-------------|\n| MeterStatus               | Number | 1    |      | RO          |\n| APhaseVoltage             | Number | 10   | V    | RO          |\n| BPhaseVoltage             | Number | 10   | V    | RO          |\n| CPhaseVoltage             | Number | 10   | V    | RO          |\n| APhaseCurrent             | Number | 100  | A    | RO          |\n| BPhaseCurrent             | Number | 100  | A    | RO          |\n| CPhaseCurrent             | Number | 100  | A    | RO          |\n| ActivePower               | Number | 1    | W    | RO          |\n| ReactivePower             | Number | 1    | var  | RO          |\n| PowerFactor               | Number | 1000 |      | RO          |\n| GridFrequency             | Number | 100  | Hz   | RO          |\n| PositiveActiveElectricity | Number | 100  | kWh  | RO          |\n| ReverseActivePower        | Number | 100  | kWh  | RO          |\n| AccumulatedReactivePower  | Number | 100  | kvar | RO          |\n| MeterType                 | Number | 1    |      | RO          |\n| ABLineVoltage             | Number | 10   | V    | RO          |\n| BCLineVoltage             | Number | 10   | V    | RO          |\n| CALineVoltage             | Number | 10   | V    | RO          |\n| APhaseActivePower         | Number | 1    | W    | RO          |\n| BPhaseActivePower         | Number | 1    | W    | RO          |\n| CPhaseActivePower         | Number | 1    | W    | RO          |\n| MeterModelDetectionResult | Number | 1    |      | RO          |\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Library for reading Huawei Sun2000 inverter metrics via Modbus TCP",
    "version": "2.5.0",
    "project_urls": {
        "Source": "https://github.com/olivergregorius/sun2000_modbus"
    },
    "split_keywords": [
        "sun2000",
        " modbus",
        " photovoltaic"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2b2e251fd98df662d61b87e8c2a37bba430b705b587656485871069d1608237e",
                "md5": "70d37f9f27361060b3d4020d002498cc",
                "sha256": "97c49c5d4e1cf1a5a3ba4d82dbc76d73b93cd56f5d228b0fd9a74a500f9319a3"
            },
            "downloads": -1,
            "filename": "sun2000_modbus-2.5.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "70d37f9f27361060b3d4020d002498cc",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 13548,
            "upload_time": "2025-04-27T20:42:51",
            "upload_time_iso_8601": "2025-04-27T20:42:51.018903Z",
            "url": "https://files.pythonhosted.org/packages/2b/2e/251fd98df662d61b87e8c2a37bba430b705b587656485871069d1608237e/sun2000_modbus-2.5.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "84cfbd51198079a5d623cb84b61176b2a2c18e5acb8f2c7802eacc612e1ab4a3",
                "md5": "498158288ee1796f99f07f7c7e04aae4",
                "sha256": "3b103f22e336ac2a99f2af4ae78ef5e2d44cb955df4e74423f531eaacc5eec35"
            },
            "downloads": -1,
            "filename": "sun2000_modbus-2.5.0.tar.gz",
            "has_sig": false,
            "md5_digest": "498158288ee1796f99f07f7c7e04aae4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 19505,
            "upload_time": "2025-04-27T20:42:52",
            "upload_time_iso_8601": "2025-04-27T20:42:52.720121Z",
            "url": "https://files.pythonhosted.org/packages/84/cf/bd51198079a5d623cb84b61176b2a2c18e5acb8f2c7802eacc612e1ab4a3/sun2000_modbus-2.5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-04-27 20:42:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "olivergregorius",
    "github_project": "sun2000_modbus",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "pymodbus",
            "specs": [
                [
                    ">=",
                    "3.7.4"
                ]
            ]
        }
    ],
    "lcname": "sun2000_modbus"
}
        
Elapsed time: 1.62453s