SolarEdge Modbus

Hallo zusammen,

ich betreibe aktuell folgendes Setup:

3x Multiplus II 48/5000
MPPT 250/60, MPPT 450/100, MPPT 150/35
6x Pylontech US5000
Ekrano GX - VenusOS v3.64
Solaredge SE10k-RWS
Home Assistant mit Modbus Proxy und (custom) SolarEdge Integration

Der SolarEdge ist in das Victron-System integriert und wird auch als Device angezeigt:

Die angezeigt IP entspricht der fest zugewiesenen IP des Wechselrichters. Alle relevanten Daten zur Erzeugung sind erkennbar.

Gleichzeitig wird eine weitere IP Adresse als “detected” angezeigt:

Hierbei handelt es sich um die IP meines Home Assistant, auf dem der Modbus Proxy läuft.

Der Modbus-Scan hat keine Modbus Geräte gefunden:

In Home Assistant funktioniert der Zugriff auf den SolarEdge WEchselrichter problemlos, d.h. ich kann Werte auslesen und auch den WR steuern.

Nun frage ich mich wie das funktionieren kann, da SolarEdge ja nur eine Modbus- Verbindung zulässt?

Für mich sieht es so aus, als würde Venus über die direkte IP des Solaredge zugreifen und der Modbus Proxy auch?

Vielleicht verstehe ich aber auch die Modbus-Logik nicht richtig.

Kann mir hier vielleicht jemand helfen, das zu verstehen?

Danke und viele Grüße!

Hallo,

steht das irgendwo so beschrieben? Das wäre ja evtl. denkbar, dass das bei SolarEdge so ist? Es ist aber keineswegs bei ModbusTCP prinziell so, dass nur mit einem “Partner” kommuniziert wird/werden kann.

Das war zumindest meine bisherige Erfahrung aus der vor-Victron-Zeit. Und dann habe ich noch Folgendes gefunden:

und reichlich anekdotische Fundstellen, wie z. B.:

Solaredge communication dropping every few minutes - Q&A and troubleshooting - Victron Community

Mit geht es primär darum, auch die “dynamic power limiting” zu verwenden. Bisher funktioniert das bei mir nicht und ich dachte, dass das vielleicht damit zusammenhängt.

Ich versuche halt Modbus TCP besser zu verstehen :wink:

Danke!

Ja, das steht da tatsächlich so geschrieben, was das allerdings bedeuten soll, erschließt sich mir aber nicht. Es gibt in dem Sinne keinen “Leader” im Modbus-Protokoll.

Es ist technisch natürlich möglich die Kommunikation entsprechend zu beschränken, aber warum? Evtl. Um den Server (das SolarEdge Gerät) nicht mit zu vielen Anfragen zu überlasten…??? Keine Ahnung, falls das wirklich der Fall sein sollte.

Gedacht ist das Ganze aber genau andersherum, speziell bei ModbusTCP.

Hier ist das grundlegende Konzept von Modbus mal, wie ich finde, ganz einfach erklärt.

Zitat:

Modbus TCP

Seit der Einführung von Modbus TCP im Jahr 1999 ist auch eine Modbus-Kommunikation über Ethernet-Netzwerke möglich. Daten können damit in IP-basierten Netzwerken (WLAN, WAN, Internet) übertragen werden.

Modbus TCP verwendet Port 502.

Vorteile von Modbus TCP gegenüber anderen Modbus-Versionen sind unter anderem schnelle Datenübertragung und die erhöhte Kompatibilität mit modernen Netzwerkstrukturen.

Auch bei Modbus TCP wird die Kommunikation durch einen Client gesteuert. Allerdings können in einem Modbus TCP-Netzwerk mehrere Clients vorhanden sein, wobei Geräte durch ihre IP eindeutig identifiziert werden können.

Danke, das hilft schon weiter.

Ich betreibe mein System “netzparallel”, d.h. alle Verbraucher und Erzeuger (SolarEdge) sind über ACin-1 verbunden. Die Steuerung kann also - anders als im Inselbetrieb - nicht über die Frequenz erfolgen. Ich bin davon ausgegangen, dass ich auch unter diesen Umständen eine “Nulleinspeisung” realisieren kann, in dem ich “AC-coupled PV - feed in excess” deaktiviere und “dynamic power limiting” für Solaredge aktiviere.

Das funktioniert allerdings nicht. Dynamic Power Limit steht immer auf 10kW und ändert sich nicht.

Freue mich über jeden Hinweis oder jede Idee! :wink:

Viele Grüße!

Ich kann auf den ersten Blick kein Register finden, das “dynamic power limiting” heißt. Wo hast Du das her, wie lautet die Adresse? Nebenbei bemerkt scheint mir die ModBus-Doku von SolarEdge eine ziemliche Katastrophe…

Das ist eine Funktion, die Victron mit der Firmware v3.6x eingeführt hat:

Meines Erachtens bezieht sich das auf die SolarEdge Funktion “Site Limit”. Hier kann man erst über “Limit Control Mode” den Modus auf “Export Control” oder “Production Control” setzen, wobei “Export Control” ein SolarEdge Smartmeter erfordert. Dann kann über “Site Limit” eine Vorgabe machen, wieviel ins Netz eingespeist wird.

Über meine Home Assistant Modbus Integration funktioniert das auch:

  1. Limit Control Mode auf Export Control (Export/Import Meter) stellen
  2. Site Limit auf 0 Watt stellen
    Ergebnis: PV-Produktion wird auf 0 Watt Einspeisung, gemessen am SolarEdge Smartmeter, ausgeregelt

Ich dachte, dass VIctron den selben Weg (also die entsprechenden Modbus Register) nutzt. Das scheint jedoch nicht der Fall zu sein.

Und ja, die Solaredge Modbus-Doku ist ziemlicher Mist.

P.S.

Das hier ist übrigens die HA Integration, die die Modbus Register anspricht und in HA Entitäten “umwandelt”

Das muss dann doch irgendwo dokumentiert sein, was es macht und wie es funktioniert…

Tja, das dachte ich auch. Bisher habe ich aber nichts zu dem “wie” finden können. Ich hätte eigentlich erwartet, dass es dazu nähere Infos bzw. Beschreibungen der Modbus-Register o.ä. gibt. Leider Fehlanzeige :frowning: