OpenWB, HomeAssistant und Modbus
Verfasst: Do Mai 26, 2022 2:00 pm
Hallo Zusammen,
ich hatte mich bereits in diesem Topic hier mit eingeschaltet, da ich vor der "Problematik" stand, dass nach Installation der Wallbox mein Monitoring des Wechselrichters über Modbus in HomeAssistant nicht mehr möglich war.
viewtopic.php?p=65193#p65193
Nun habe ich dafür eine potentielle Lösung gefunden, welche ich hier mit anderen Teilen möchte - welche ggf. vor der selben Problematik stehen; Habe jedoch noch ein paar kleinere Fragen zur Konfiguration des ganzen...
Ausgangssituation:
In HomeAssistant läuft eine Integration, welche via Modbus mit dem Wechselrichter kommuniziert.
Die Standardkonfiguration läuft auf Port 1502
In HomeAssistant konnten damit sämtliche Parameter des Wechselrichters abgerufen werden, vom Betriebszustand, über die Temperatur des Wechselrichters bis hin zu den ganzen Produktionsrelevanten Daten wie Einspeisung, Bezug, Produktion uvm.
IBN der OpenWB
Mit Installation der OpenWB war es der HomeAssistant Integration nicht mehr möglich, die Daten des WR abzurufen.
SolarEdge erlaubt lediglich die Verbindung von einem Client - soweit ich heraus gefunden habe, nach "first come - first serve" prinzip.
In der OpenWB ist das ganze wie folgt konfiguriert:
Modulkonfiguration PV
PV-Modul: SolarEdge WR
WR Solaredge IP: 192.168.xxx.xxx
Damit wird standardmäßig Port 502 genutz, lt. der Info-Box:
"Gültige Werte: adresse oder adresse:port. Wenn nicht angegeben wird port 502 verwendet. Modbus TCP muss am WR aktiviert sein."
Modulkonfiguration EVU
Strombezugsmodul: Solaredge
IP Adresse: 192.168.xxx.xxx
Port: 502
lt. Info-Block:
"Modbus/TCP Port der im WR Konfiguriert ist.
Standardmäßig ist das 502 oder 1502"
für mich bedeutet das, dass der Elektriker bei der Installation den Port am WR von 1502 auf 502 geändert hat.
In der Dokumentation von SolarEdge (https://www.solaredge.com/sites/default ... l-note.pdf) werden beide Ports erwähnt:
Seite 11:
Die Information zu Port 502 unter: "Using the Inverter/Commercial Gateway Display"
Ich bin nun etwas verwirrt, weil in meiner Ursprünglichen Modbus-Konfiguration der Port 1502 gewählt war; und ich jetzt scheinbar auf 502 gehe.
Die Frage ist hier, ob es einen Unterschied gibt, bzgl. ggf. vorhandener Implementierungen (Sunspec, und propietäre Informationen des Wechselrichters?)
Potentielle Lösung zur Kommunikation von openWB und weiteren Clients über modbus
Ich bin über eine kleine Python-Software gestoßen, welche sich modbus-proxy nennt.
https://github.com/tiagocoutinho/modbus-proxy
Diese kann als modbus-Brücke dienen, welche sich auf das Modbus-Endgerät verbindet und die Nachrichten an mehrere Clients durchreichen kann.
Dies dürfte für den ein oder anderen - ohne HomeAssistant wohl funktionieren, wenn die Software auf einem Pi oder ähnlichem ausgeführt wird.
Lösung für HomeAssistant
Die oben genannte Lösung funktioniert prinzipell auch für HomeAssistant, erfordert aber den Einsatz eines weiteren Rechners.
Allerdings gibt es modbus-proxy auch als eigenständiges Addon für HomeAssistant - und kann somit innerhalb von HomeAssistant direkt ausgeführt werden.
https://github.com/Akulatraxas/ha-modbusproxy
jetzt bleibt nur noch die Frage zu klären, ob ich den Inverter wieder auf Port 1502 umstellen sollte, oder auf 502 belasse und die anderen Konfigurationen anpasse?
Ist hier vielleicht ein Unterschied bei SolarEdge bekannt, zwischen den beiden Ports?
ich hatte mich bereits in diesem Topic hier mit eingeschaltet, da ich vor der "Problematik" stand, dass nach Installation der Wallbox mein Monitoring des Wechselrichters über Modbus in HomeAssistant nicht mehr möglich war.
viewtopic.php?p=65193#p65193
Nun habe ich dafür eine potentielle Lösung gefunden, welche ich hier mit anderen Teilen möchte - welche ggf. vor der selben Problematik stehen; Habe jedoch noch ein paar kleinere Fragen zur Konfiguration des ganzen...
Ausgangssituation:
In HomeAssistant läuft eine Integration, welche via Modbus mit dem Wechselrichter kommuniziert.
Die Standardkonfiguration läuft auf Port 1502
In HomeAssistant konnten damit sämtliche Parameter des Wechselrichters abgerufen werden, vom Betriebszustand, über die Temperatur des Wechselrichters bis hin zu den ganzen Produktionsrelevanten Daten wie Einspeisung, Bezug, Produktion uvm.
IBN der OpenWB
Mit Installation der OpenWB war es der HomeAssistant Integration nicht mehr möglich, die Daten des WR abzurufen.
SolarEdge erlaubt lediglich die Verbindung von einem Client - soweit ich heraus gefunden habe, nach "first come - first serve" prinzip.
In der OpenWB ist das ganze wie folgt konfiguriert:
Modulkonfiguration PV
PV-Modul: SolarEdge WR
WR Solaredge IP: 192.168.xxx.xxx
Damit wird standardmäßig Port 502 genutz, lt. der Info-Box:
"Gültige Werte: adresse oder adresse:port. Wenn nicht angegeben wird port 502 verwendet. Modbus TCP muss am WR aktiviert sein."
Modulkonfiguration EVU
Strombezugsmodul: Solaredge
IP Adresse: 192.168.xxx.xxx
Port: 502
lt. Info-Block:
"Modbus/TCP Port der im WR Konfiguriert ist.
Standardmäßig ist das 502 oder 1502"
für mich bedeutet das, dass der Elektriker bei der Installation den Port am WR von 1502 auf 502 geändert hat.
In der Dokumentation von SolarEdge (https://www.solaredge.com/sites/default ... l-note.pdf) werden beide Ports erwähnt:
Seite 11:
Seite 13:MODBUS over TCP Support
MODBUS/TCP uses the Ethernet media in physical layers to carry the MODBUS message handling structure and can support a large number of devices in one network; it is easier to integrate into the Local Area Network (LAN) of a company, so it is the choice of more
and more customers.
Here, it is used for remote 3rd party monitoring and control. MODBUS TCP is agnostic of the server connection. It works only over LAN.
When configured, MODBUS TCP does not initiate a connection. The server waits for a client to connect. Only one connection is supported.
NOTE
The MODBUS TCP function is disabled by default. When enabled, it supports TCP port 1502 by default. The port number can be reconfigured.
Interessanter weise steht die Information zu Port 1502 bei der Konfiguration via SetApp;MODBUS over TCP Support
MODBUS/TCP uses the Ethernet media in physical layers to carry the MODBUS message handling structure and can support a large number of devices in one network; it is easier to integrate into the Local Area Network (LAN) of a company, so it is the choice of more
and more customers.
Here, it is used for remote 3rd party monitoring and control. MODBUS TCP is agnostic of the server connection. It works only over LAN.
When configured, MODBUS TCP does not initiate a connection. The server waits for a client to connect. Only one connection is supported.
NOTE
The MODBUS TCP function is disabled by default. When enabled, it supports TCP port 502 by default. The port number can be reconfigured.
Die Information zu Port 502 unter: "Using the Inverter/Commercial Gateway Display"
Ich bin nun etwas verwirrt, weil in meiner Ursprünglichen Modbus-Konfiguration der Port 1502 gewählt war; und ich jetzt scheinbar auf 502 gehe.
Die Frage ist hier, ob es einen Unterschied gibt, bzgl. ggf. vorhandener Implementierungen (Sunspec, und propietäre Informationen des Wechselrichters?)
Potentielle Lösung zur Kommunikation von openWB und weiteren Clients über modbus
Ich bin über eine kleine Python-Software gestoßen, welche sich modbus-proxy nennt.
https://github.com/tiagocoutinho/modbus-proxy
Diese kann als modbus-Brücke dienen, welche sich auf das Modbus-Endgerät verbindet und die Nachrichten an mehrere Clients durchreichen kann.
Dies dürfte für den ein oder anderen - ohne HomeAssistant wohl funktionieren, wenn die Software auf einem Pi oder ähnlichem ausgeführt wird.
Lösung für HomeAssistant
Die oben genannte Lösung funktioniert prinzipell auch für HomeAssistant, erfordert aber den Einsatz eines weiteren Rechners.
Allerdings gibt es modbus-proxy auch als eigenständiges Addon für HomeAssistant - und kann somit innerhalb von HomeAssistant direkt ausgeführt werden.
https://github.com/Akulatraxas/ha-modbusproxy
jetzt bleibt nur noch die Frage zu klären, ob ich den Inverter wieder auf Port 1502 umstellen sollte, oder auf 502 belasse und die anderen Konfigurationen anpasse?
Ist hier vielleicht ein Unterschied bei SolarEdge bekannt, zwischen den beiden Ports?