# Growatt Hybrid Inverter

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

To use the active battery control, a one-time manual setup is necessary.
The modbus registers `1100, 1101, 1102` need to be set to the values `0, 5947, 0` at the same time (via "write multiple", FC 16).
This can be done by e.g. using the [Modbus CLI](https://github.com/favalex/modbus-cli): `modbus [...] H@1100=0 H@1101=5947 H@1102=0`.
The active battery control uses the first "Battery first" timeslot, so it cannot be used otherwise.

Supported features: battery-control

## Parameters

| Name | Description | Default / example | |
| --- | --- | --- | --- |
| modbus | Modbus Type (rs485, tcpip) |  |  |
| 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 |
| maxchargepower | Maximum charge power For forced charging of the battery. |  W | advanced |
| maxdischargepower | Maximum discharge power Maximum discharge power of the storage. |  W | advanced |

## Configuration example for evcc.yaml

```yaml
meters:
    - name: my_grid
      type: template
      template: growatt-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
      
      # RS485 via TCP/IP (Modbus RTU)
      modbus: rs485tcpip
      id: 1
      host:  # Hostname
      port: 502 # Port
      
      # Modbus TCP
      modbus: tcpip
      id: 1
      host:  # Hostname
      port: 502 # Port
```

```yaml
meters:
    - name: my_pv
      type: template
      template: growatt-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
      
      # RS485 via TCP/IP (Modbus RTU)
      modbus: rs485tcpip
      id: 1
      host:  # Hostname
      port: 502 # Port
      
      # Modbus TCP
      modbus: tcpip
      id: 1
      host:  # Hostname
      port: 502 # Port
      maxacpower: 0 # Maximum AC power of the hybrid inverter (W), optional
```

```yaml
meters:
    - name: my_battery
      type: template
      template: growatt-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
      
      # RS485 via TCP/IP (Modbus RTU)
      modbus: rs485tcpip
      id: 1
      host:  # Hostname
      port: 502 # Port
      
      # Modbus TCP
      modbus: tcpip
      id: 1
      host:  # Hostname
      port: 502 # Port
      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)
      maxchargepower: # Maximum charge power (W), For forced charging of the battery. (optional)
      maxdischargepower: # Maximum discharge power (W), Maximum discharge power of the storage. (optional)
```
