# OpenEMS Modbus-API

Quelle: https://docs.evcc.io/de/meters/openems-modbus-api

##### Lizenzhinweis:
Für FENECON FEMS Systeme ist für die aktive Batteriesteuerung eine kommerzielle Lizenz *FEMS App Modbus/TCP Schreibzugriff* erforderlich.

##### FEMS-Dokumentation:
- FEMS App Modbus/TCP Lesezugriff: [docs.fenecon.de](https://docs.fenecon.de/de/fems/fems-app/App_ModbusTCP_Lesezugriff.html)
- FEMS App Modbus/TCP Schreibzugriff: [docs.fenecon.de](https://docs.fenecon.de/de/fems/fems-app/App_ModbusTCP_Schreibzugriff.html)
##### OpenEMS-Dokumentation:
- OpenEMS Edge Api Modbus Controller: [openems.github.io](https://openems.github.io/openems.io/openems/latest/edge/controller.html#_api_modbus)

Unterstützte Funktionen: battery-control

## Parameter

| Name | Beschreibung | Standard / Beispiel | |
| --- | --- | --- | --- |
| modbus | Modbus Typ (tcpip) | tcpip |  |
| battery | steuert Batterie Komponente aktive Batteriesteuerung (Modbus/TCP schreibend) | false |  |
| capacity | Akkukapazität | 50 kWh |  |
| minsoc | Minimaler Ladestand Untere Grenze wie am Batteriesystem eingestellt. Wird vom Optimizer genutzt. | 0 % |  |
| maxsoc | Maximaler Ladestand Obere Grenze wie am Batteriesystem eingestellt. Wird vom Optimizer und für Netzladen genutzt. | 100 % |  |
| grid_power_register | Modbus-Register für Netzleistung GridActivePower (W) | 315 | erweitert |
| grid_energy_register | Modbus-Register für Netzbezug Energie GridBuyActiveEnergy (Wh) | 359 | erweitert |
| pv_power_register | Modbus-Register für PV-Leistung ProductionActivePower (W) | 327 | erweitert |
| pv_energy_register | Modbus-Register für PV-Energie ProductionActiveEnergy (Wh) | 367 | erweitert |
| maxacpower | Maximale AC Leistung des Hybrid-Wechselrichters | 0 W | erweitert |
| battery_power_register | Modbus-Register für Batterie-Leistung EssDischargePower (W) | 415 | erweitert |
| battery_soc_register | Modbus-Register für Batteriestand SoC (%) | 302 | erweitert |
| battery_set_register | Modbus-Register für Ladeleistung SetActivePowerLessOrEquals (W) | 710 | erweitert |
| watchdog | Batteriesteuerung API-Timeout | 60s | erweitert |
| maxchargepower | Maximale Ladeleistung Für erzwungenes Laden des Speichers. |  W | erweitert |
| maxdischargepower | Maximale Entladeleistung Maximale Entladeleistung des Speichers. |  W | erweitert |

## Konfigurationsbeispiel für evcc.yaml

```yaml
meters:
    - name: my_grid
      type: template
      template: openems-modbus
      usage: grid
      
      # Modbus TCP
      modbus: tcpip
      id: 1
      host:  # Hostname
      port: 502 # Port
      grid_power_register: 315 # Modbus-Register für Netzleistung, GridActivePower (W) (optional)
      grid_energy_register: 359 # Modbus-Register für Netzbezug Energie, GridBuyActiveEnergy (Wh) (optional)
```

```yaml
meters:
    - name: my_pv
      type: template
      template: openems-modbus
      usage: pv
      
      # Modbus TCP
      modbus: tcpip
      id: 1
      host:  # Hostname
      port: 502 # Port
      pv_power_register: 327 # Modbus-Register für PV-Leistung, ProductionActivePower (W) (optional)
      pv_energy_register: 367 # Modbus-Register für PV-Energie, ProductionActiveEnergy (Wh) (optional)
      maxacpower: 0 # Maximale AC Leistung des Hybrid-Wechselrichters (W), optional
```

```yaml
meters:
    - name: my_battery
      type: template
      template: openems-modbus
      usage: battery
      
      # Modbus TCP
      modbus: tcpip
      id: 1
      host:  # Hostname
      port: 502 # Port
      battery: false # steuert Batterie Komponente, aktive Batteriesteuerung (Modbus/TCP schreibend) (optional)
      capacity: 50 # Akkukapazität (kWh), optional
      minsoc: 0 # Minimaler Ladestand (%), Untere Grenze wie am Batteriesystem eingestellt. Wird vom Optimizer genutzt. (optional)
      maxsoc: 100 # Maximaler Ladestand (%), Obere Grenze wie am Batteriesystem eingestellt. Wird vom Optimizer und für Netzladen genutzt. (optional)
      battery_power_register: 415 # Modbus-Register für Batterie-Leistung, EssDischargePower (W) (optional)
      battery_soc_register: 302 # Modbus-Register für Batteriestand, SoC (%) (optional)
      battery_set_register: 710 # Modbus-Register für Ladeleistung, SetActivePowerLessOrEquals (W) (optional)
      watchdog: 60s # Batteriesteuerung API-Timeout, optional
      maxchargepower: # Maximale Ladeleistung (W), Für erzwungenes Laden des Speichers. (optional)
      maxdischargepower: # Maximale Entladeleistung (W), Maximale Entladeleistung des Speichers. (optional)
```
