# Huawei SUN2000 Hybrid Inverter

Source: https://docs.evcc.io/en/meters/huawei-sun2000-hybrid-inverter

Modbus TCP requires activation within the communication settings of the inverter using an "installer account", see [Modbus TCP Activation Guide](https://forum.huawei.com/enterprise/en/modbus-tcp-guide/thread/667250677153415168-667213868771979264).

Grid and Battery require the Huawei Smart Power Sensor (DDSU/DTSU666 or SmartPS).

Multiple LUNA2000 towers connected to the same SUN2000 inverter are configured as a single logical battery.

Curtailment will limit the export power to the desired percentage of the maximum AC power. The inverter will automatically limit the PV power to achieve this.

Supported features: battery-control, curtail, dim

## Known limitations

- Parallel clients (e.g. Home Assistant) accessing the Huawei solar system via Modbus proxy may cause communication errors.


## Parameters

| Name | Description | Default / example | |
| --- | --- | --- | --- |
| modbus | Modbus Type (rs485, tcpip) |  |  |
| maxchargepower | Maximum charge power For forced charging of the battery. |  W |  |
| maxdischargepower | Maximum discharge power Maximum discharge power of the storage. |  W |  |
| capacity | Battery capacity | 50 kWh |  |
| minsoc | Minimum charge Lower limit as configured on the battery system. Used by optimizer. | 0 % |  |
| maxsoc | Maximum charge Upper limit as configured on the battery system. Used by optimizer and for grid charging. | 100 % |  |
| maxacpower | Maximum AC power of the hybrid inverter | 0 W | advanced |
| forceaccharging | Inverter cascade Keep AC charging active (except for when being dimmed) to charge the storage from other inverters via AC. May prevent standby with older firmware versions. | false | advanced |

## Configuration example for evcc.yaml

```yaml
meters:
    - name: my_grid
      type: template
      template: huawei-sun2000-hybrid
      usage: grid
      
      # RS485 via adapter (Modbus RTU)
      modbus: rs485serial
      id: 1
      device: /dev/ttyUSB0 # USB-RS485 Adapter Adresse
      baudrate: 9600 # Prüfe die Geräteeinstellungen, typische Werte sind 9600, 19200, 38400, 57600, 115200
      comset: "8N1" # Kommunikationsparameter für den Adapter
      timeout: 5s # optional
      
      # RS485 via TCP/IP (Modbus RTU)
      modbus: rs485tcpip
      id: 1
      host:  # Hostname
      port: 502 # Port
      timeout: 5s # optional
      
      # Modbus TCP
      modbus: tcpip
      id: 1
      host:  # Hostname
      port: 502 # Port
      timeout: 5s # optional
```

```yaml
meters:
    - name: my_pv
      type: template
      template: huawei-sun2000-hybrid
      usage: pv
      
      # RS485 via adapter (Modbus RTU)
      modbus: rs485serial
      id: 1
      device: /dev/ttyUSB0 # USB-RS485 Adapter Adresse
      baudrate: 9600 # Prüfe die Geräteeinstellungen, typische Werte sind 9600, 19200, 38400, 57600, 115200
      comset: "8N1" # Kommunikationsparameter für den Adapter
      timeout: 5s # optional
      
      # RS485 via TCP/IP (Modbus RTU)
      modbus: rs485tcpip
      id: 1
      host:  # Hostname
      port: 502 # Port
      timeout: 5s # optional
      
      # Modbus TCP
      modbus: tcpip
      id: 1
      host:  # Hostname
      port: 502 # Port
      timeout: 5s # optional
      maxacpower: 0 # Maximum AC power of the hybrid inverter (W), optional
```

```yaml
meters:
    - name: my_battery
      type: template
      template: huawei-sun2000-hybrid
      usage: battery
      
      # RS485 via adapter (Modbus RTU)
      modbus: rs485serial
      id: 1
      device: /dev/ttyUSB0 # USB-RS485 Adapter Adresse
      baudrate: 9600 # Prüfe die Geräteeinstellungen, typische Werte sind 9600, 19200, 38400, 57600, 115200
      comset: "8N1" # Kommunikationsparameter für den Adapter
      timeout: 5s # optional
      
      # RS485 via TCP/IP (Modbus RTU)
      modbus: rs485tcpip
      id: 1
      host:  # Hostname
      port: 502 # Port
      timeout: 5s # optional
      
      # Modbus TCP
      modbus: tcpip
      id: 1
      host:  # Hostname
      port: 502 # Port
      timeout: 5s # optional
      maxchargepower: # Maximum charge power (W), For forced charging of the battery.
      maxdischargepower: # Maximum discharge power (W), Maximum discharge power of the storage.
      capacity: 50 # Battery capacity (kWh), optional
      minsoc: 0 # Minimum charge (%), Lower limit as configured on the battery system. Used by optimizer. (optional)
      maxsoc: 100 # Maximum charge (%), Upper limit as configured on the battery system. Used by optimizer and for grid charging. (optional)
      forceaccharging: false # Inverter cascade, Keep AC charging active (except for when being dimmed) to charge the storage from other inverters via AC. May prevent standby with older firmware versions. (optional)
```
