Solaredge Wechselrichter

Es gibt drei Arten den Wechselrichter einzubinden:

  1. Über Modbus TCP (Miniserverkommunikation → Modbusserver) bekommt Loxone die Daten direkt vom Wechselrichter und vom an den Wechselrichter angebundenen Smart-Meter.
    Vorteile: direkte Kommunikation, wird oft aktualisiert, funktioniert auch ohne Internetverbindung.

  2. Bei der Monitoring-API (über virtuellen HTTP Eingang) hingegen ruft Loxone die Daten vom Solaredge Portal aus dem Internet ab.
    Vorteile: Liefert zusätzliche Daten, etwa wenn Stromzähler oder Batterie ebenfalls über Solaredge laufen.
    Nachteile: Miniserver benötigt Internetzugang, Abruf der Daten maximal alle 5 Minuten möglich.

Beides wird hier erklärt.

Und in beiden Fällen wird keine Modbus Extension benötigt, Modbus TCP läuft auch ohne Modbus Extenstion!

Zusätzlich habt ihr noch eine dritte Möglichkeit:

3. Über Modbus RTU (benötigt Miniserver Modbus extension)
→ Diese Art der Kommunikation kann gerne hier im Wiki ergänzt werden, aktuell liegen keine Informationen darüber vor.

 

 

Hinweis

Oft ist das Ziel, mit Loxone den Eigenverbrauch an PV-Strom zu erhöhen, also z.B. bei viel Sonne gezielt Verbraucher einzuschalten. Dazu ist es wichtiger, den aktuellen Status eures Stromzählers zu kennen. Denn der Wechselrichter alleine sagt erst mal nur, wieviel Strom Eure PV-Anlage erzeugt, kennt aber den Stromverbrauch im Haus nicht. Eine einfache Eigenverbrauchsoptimierung etwa mit dem Baustein "Energiemanager" funktioniert also bereits, ohne die Daten des Wechselrichters.

 

 

Einbindung über Modbus TCP

Ältere Wechselrichter brauchen eventuelle noch ein Softwareupdate, um Modbus TCP zu ermöglichen. Das Update gibt es wohl nur auf Nachfrage direkt durch SolarEdge. Wenn man mit dem SolarEdge Portal verbunden ist, kann der Support das Update direkt einspielen. Dazu eine Mail an support@solaredge.de mit Eurer Anlagen ID (steht im Portal) und am nächsten Tag ist das Update da.

Dokument von Solaredge zur Modbus Implementierung:

https://www.solaredge.com/sites/default/files/sunspec-implementation-technical-note.pdf

Vorbedingung: Der Wechselrichter muss am Heimnetzwerk angeschlossen sein (über Patch Kabel).

Bei Arbeiten am Gehäuse darauf achten, dass die Photovoltaikanlage und der Wechselrichter komplett "spannungsfrei" sind (siehe Solaredge Installationsanleitung).

 

Konfiguration im Heimnetz

im LAN-Menü eine statische IP Adresse vergeben, z.B. 192.168.1.88.

Subnet z.B. 255.255.255.0

Gateway z.B. 192.168.1.1. (=Adresse des Routers)

DNS 192.168.1.1

 

Modbus aktivieren beim Wechselrichter

Siehe Installationsanleitung, Kapitel "Konfigurieren des Wechselrichters mit den internen LCD Tasten".

Zuerst muss der Setup-Modus eingestellt werden über Eingabe eines Passwortes.

Der Setup-Modus sollte nur von einem Techniker bedient werden!

Danach kann laut Bedienungsanleitung der Sunspec Implementation (siehe Kapitel "Modbus over TCP configuration") der Modbus TCP aktiviert werden:

Select Communication --> LAN Config --> Modbus TCP

Settings (wie oben bei der stat. Adresse) z.B. 192.168.1.88:502 (Port 502)

Dann bleiben laut Anleitung 2 Minuten Zeit für Verbindung zum Client, sonst schaltet die Modbus Verbindung wieder ab.

Es kann sein, daß bei Status immer nur "Init" stehen bleibt, er wechselt nicht zu "ready" oder "connected". Die Aktivierung hat aber oft trotzdem geklappt.

 

Loxone Konfiguration

Schritt 1: Miniserver in der Konfiguration auswählen → Modbusserver anlegen.

Schritt 2: "Sensoren und Aktoren" → Peripherie einfügen / Vordefinierte Geräte.

Im Loxone gibt es bereits die Sensoren des Wechselrichters schon fertig angelegt unter "Solaredge WR".

Für die korrekte Interpretation des Wertes "I_AC_Energy_WH" gilt:

Modbus TCP: Unter Einstellungen den Haken bei "Registerreihenfolge" setzen.

Modbus RTU: Haken "Registerreihenfolge" nicht setzen.

Siehe Post im Loxforum.

 

Die Sensoren, z.B. "I_AC_Power" mit dem jeweiligen Skalierungsfaktor "I_AC_Power_SF" in Formelbausteinen umrechnen. 

Aktuelle Leistung (Einheit kWh) = I_AC_Power * 10^I_AC_Power_SF / 1000

Das an den Wechselrichter angebundene Smart-Meter kann ebenfalls über diesen ausgelesen werden:
M_AC_Power: IO-Adresse 40206, 16-bit signed integer
M_AC_Power_SF: IO-Adresse 40210, 16-bit unsigned integer

Über einen Formelbaustein verschaltet, wie auch die anderen Eingänge, erhält man die Leistung, die man vom Netzbetreiber bezieht (Negativwerte) oder die man einspeist (Positivwerte). Der Loxone Energiemonitor nimmt diese Werte am Eingang Pv verkehrtherum entgegen. Daher bitte die Formel um den Multiplikator *-1 ergänzen.

Anbei ein Link zum SolarEdge Dokument, welches weitere Adressen für das SmartMeter bereithält: SunSpec Logging in SolarEdge Inverters

Man kann auch über I_Status und einen Statusbaustein den Status des Wechselrichters abfragen.

Einstellungen von I_Status

 

I_Status mit einem Statusbaustein verbinden:

Und hier der Inhalt des Statusbausteines:

(Bisherige) Einschränkung bei SolarEdge Invertern mit Niedervolt Batterien über CAN-Bus

Über die MODBUS Schnittstelle (RTU / TCP) konnte man (Stand 2020) mit den Invertern nur die Daten des Inverters selbst (erkennbar am I_..., z.B. I_AC_Power ) und dem Stromzähler (Meter, erkennbar am M_..., z.B. M_AC_Power) auslesen.

Eine Abfrage der Daten der Batterie über das MODBUS Protokoll war nicht möglich. Mittlerweile werden die Daten der Batterie (nach evtl. Firmware Upgrade) über die Register 62852 (Füllstand), 62836 (Leistung) und 62854 (Status) zur Verfügung gestellt.

Damit können nun alle notwendigen Daten für den Energiemonitor sowohl über die API der SolarEdge Cloud als auch direkt über MODBUS abgefragt werden!

Einbindung über MonitoringAPI

Falls der Wechselrichter seine Daten ans Solaredge Portal schickt kann die Einspeisung und der Fremdbezug vom Netz erfasst werden.

Voraussetzung dafür ist, dass der Wechselrichter über einen Stromzähler Messwerte zum aktuellen Hausstromverbrauch erhält.

Ist dies der Fall, sollten die Statistiken zur Anlage im Solaredge Portal so oder ähnlich aussehen:

Es werden Verbrauch, Produktion PV, Eigenverbrauch und Einspeisung / Fremdbezug aufgezeichnet.

Einbindung in Loxone funktioniert über die Monitoring API von Solaredge und virtuelle HTTP Eingänge.
Die Dokumentation von Solaredge zur Monitoring API liegt hier: https://www.solaredge.com/sites/defa...toring_api.pdf

Der relevante Teil ist die Möglichkeit, den aktuellen PowerFlow auszulesen:
Site Power Flow
Retrieves the current power flow between all elements of the site including PV array, storage (battery), loads (consumption) and grid.
Note: Applies when export , import and consumption can be measured.

Hierbei lese ich drei Werte alle 10 min. von der API in virtuelle HTTP Eingänge:
- GRID (kW)
- PV (kW)
- LOAD (kW)
- (Speicher habe ich keinen, wäre aber auch möglich)

 

Antwort (Beispiel) auf die HTTP Anfrage:

{"siteCurrentPowerFlow":{"updateRefreshRate":5,"unit":"kW",
"connections":[
{"from":"LOAD","to":"Grid"},
{"from":"PV","to":"Load"}],
"GRID":{"status":"Active","currentPower":1.22},
"LOAD":{"status":"Active","currentPower":0.14},
"PV":{"status":"Active","currentPower":1.36}}}

 


Screenshot Monitoringapi als virtuellen Eingang:

 

Befehlserkennung am Beispiel "GRID"

 


Für den "GRID" Wert ist dabei wichtig zu unterscheiden, ob aktuell Import (purchase) oder Export (feed-in) vorliegt.

Die drei Größen hängen direkt zusammen, es gibt folgende Umrechnungsmöglichkeit:
GRID = PV - LOAD (bei Bezug < Stromeinspeisung)
GRID = LOAD - PV (bei Bezug > Stromeinspeisung)

Virtueller HTTP-Eingang PV wird direkt an den Eingang "Pp" vom Energiemonitor angeschlossen.
Über einen Formelbaustein wird dann der Leistungseingang "Pv" vom Energiemonitor Baustein berechnet.
Dieser kann negativ / positiv sein, je nach Energiebezug/Einspeisung.
Dies kann wie oben beschrieben über die Subtraktion von "PV" vom "LOAD" Wert ermittelt werden:

PowerFlow Status Berechnung:

 

Vollständige Loxone Config (V10), mit Einbindung Solarege über Modbus TCP und MonitoringAPI: