Skip to end of metadata
Go to start of metadata

Es gibt zwei Wege den Wechselrichter einzubinden:

  • Über Modbus TCP (Miniserverkommunikation → Modbusserver) bekommt Loxone die Daten direkt vom Wechselrichter und vom an den Wechselrichter angebundenen Smart-Meter.
    (thumbs up) Vorteile: direkte Kommunikation, wird oft aktualisiert, funktioniert auch ohne Internetverbindung.
  • Bei der Monitoring-API (über virtuellen HTTP Eingang) hingegen ruft Loxone die Daten vom Solaredge Portal aus dem Internet ab.
    (thumbs up)Vorteile: Liefert zusätzliche Daten, etwa wenn Stromzähler oder Batterie ebenfalls über Solaredge laufen.
    (thumbs down)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!

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 Stromverbauch 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).

(warning) 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.

(warning) 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.

(info) 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:

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 zu Einspeisung und Fremdbezug 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:

Upload_Solaredge.Loxone




12 Comments

  1. Hi, kann diese config jemand zum download anbieten?

    Danke vorab!

    1. Gerade die Datei angehängt.

  2. Ich habe die Solaredge-Monitoring-API mit der beschriebenen Konfiguration getestet. Wenn ich den CurrentPowerFlow aus dem Webportal abrufen, bekomme ich jedoch nur <siteCurrentPowerFlow /> zurück. Laut den Anweisungen der API bedeutet dies, dass diese nicht im Webportal aktiv ist. Weißt du, wie man das einstellt?

  3. Hallo Peter,

    unter Admin/Anlagenzugriff/Zugriffssteuerung/API-Zugriff kann man den API-Zugriff aktivieren und zugleich den API-Key generieren.


    VG

    Thomas

  4. Hallo Thomas,

    Ich habe den API-Schlüssel bereits erhalten und verwende ihn zusammen mit der 'Site'-Nummer. Es betrifft nur den CurrentPowerFlow, der nicht wie erwartet funktioniert. Andere API-Befehle funktionieren gut. Z.B. 

    https://monitoringapi.solaredge.com/sites/list?size=5&searchText=Lyon&sortProperty=name&sortOrder=ASC&api_key= mein API-Schlüssel

    kehrt zurück

    <siteList>
    <count> 1 </ count>
    <site>
    <id> Meine ID </ id>
    <Name> Berghmans Peter </ Name>
    <accountId> Meine konto </ accountId>
    <status> Aktiv </ status>
    <peakPower> 6.16 </ peakPower>
    <lastUpdateTime> 2018-11-10 </ lastUpdateTime>
    <installationDate> 2018-02-23 </ installationDate>
    <Notizen />
    usw.

    V.G.

    Peter

  5. Hallo,


    woher bekomme ich die I_AC Power bzw. I_AC Energy Werte wenn ich über die Monitoring API die Werte anfrage?

    Oder muss ich beides verwenden die API und über Modbus TCP?

    Vielen Dank im Voraus!


    Lg, Christoph

    1. Hallo Christoph,

      die I_AC-Werte bekommst Du über Modbus TCP.

      Um Verbrauch, Produktion und Bezug anzuzeigen, ist das aber nicht nötig. Das geht auch alleine über die Monitoring API.

      Allerdings habe ich festgestellt, dass die Berechnung nur funktioniert, wenn am Eingang Ep ein Wert anliegt (siehe unten), auch wenn das aus logischen Gründen nicht erforderlich sein sollte. Das geht aber auch ohne TCP Modbus, indem man dort eine Konstante anbindet, 

      LG

      Niels

  6. Hallo,

    ich hätte eine Frage.

    Habe meinen Solaredge Wechselrichter über Modbus TCP eingebunden.

    Habe aber das Problem, das bei der Aktuellen Produktion über AC-Power der Skalierfaktor nicht Syncron arbeitet.

    Daher bekome ich beim Energiemonitor---- Gesamtüberblick  Error (%Gf)

    Jetzt hab ich im Forum gelesen, das wenn ich den Wert rechnerisch ermittle (Spannung*Strom) es funktionieren soll!

    Ist eine Woche gut gegangen, und jetzt wieder das selbe!

    Hatt wer eine Lösung?

    Danke!

  7. Hallo,

    vielen Dank für das Einstellen der Anleitung und der Config!

    Der Zugriff über die API funktioniert bei mir. Allerdings habe ich das Problem, dass der Energiemonitor am Ausgang für die PV-Produktion AQp kontinuierlich "0" anzeigt, obwohl am Eingang Pp eine Leistung >0 anliegt.

    Ich hätte erwartet, dass diese Werte immer identisch sind. Hat jemand eine Idee, was hier das Problem ist?

    Besten Dank!

    1. Ich habe das Problem gelöst. Das scheint mir ein Bug im Energiemonitor zu sein. Es muss ein Wert am Zählereingang EP anliegen, damit der Wert vom Eingang Pp am Ausgang AQp angezeigt wird. Mittlerweile habe ich zusätzlich zur Monitoring API auch den TCP Modbus eingerichtet. Das Problem lässt sich aber auch umgehen, indem man einfach eine Konstante als Dummy an den Eingang legt.

  8. Hallo, ich habe meinen Solaredge Wechselrichter ebenfalls über API eingebunden und bin am überlegen ob ich auch über TCP diesen einbinden soll um die IAC WErte zu bekommen. Was ist der Vorteil wenn ich beide Wege nutze? DANKE vorab! Lg

    1. Hallo Christoph,
      Siehe oben, habe die Vor- und Nachteile nochmal ergänzt.
      Vorteil von Modbus TCP: Du bist unabhängig vom Internet und kannst häufiger abrufen.

      D.h. es läuft immer und du hast aktuellere Daten (kann für manche Anwendungen sinnvoll sein, welche auf minutengenaue aktuelle Daten angewiesen sind).