Seite 1 von 5

ModBus TCP Proxy

Verfasst: Mo 27. Jun 2022, 22:38
von mfschr
Hallo,

an dieser Stelle nochmals vielen Dank für das geniale Projekt, welches ich mit einem SolarEdge Wechselrichter und PowerMeter betreibe.
Nachdem ich nun auch einen my-PV ACThor betreibe, der parallel zum SolarEdge PowerMeter auf den SolarEdge Wechselrichter zugreift, habe ich auch die in anderen Beiträgen erwähnten Aussetzer.

Aus diesem Grund habe ich einen ModBus TCP Proxy auf einem anderen RasPi installiert. Der ModBus TCP Proxy ist ein Python-Programm von https://pypi.org/project/modbus-proxy/

Wäre es möglich, dieses Programm in die Solaranzeige zu integrieren, damit die Anfragen an den Wechselrichter über den Proxy geschleust werden?

Vielen Dank im Voraus.

Re: ModBus TCP Proxy

Verfasst: Di 28. Jun 2022, 20:53
von Snoopy
Das wäre richtig gut wenn das dabei wäre.

Grüße

Re: ModBus TCP Proxy

Verfasst: Mi 29. Jun 2022, 13:38
von Ulrich
Python 3.9.2-3 ist installiert. Somit kann jeder den MODBUS TCP Proxi mit einer Zeile installieren. Das ist aber dann noch nicht alles. Er muss ja auch konfiguriert und eingerichtet werden. Für einen Python Kenner jedoch alles kein Problem. ( Ist also dabei.. )

Re: ModBus TCP Proxy

Verfasst: Do 13. Okt 2022, 14:52
von Knubbi
Hallo, bin per Googlesuche auf diesen Thread gestossen.
mfschr hat geschrieben:
Mo 27. Jun 2022, 22:38
an dieser Stelle nochmals vielen Dank für das geniale Projekt, welches ich mit einem SolarEdge Wechselrichter und PowerMeter betreibe.
Nachdem ich nun auch einen my-PV ACThor betreibe, der parallel zum SolarEdge PowerMeter auf den SolarEdge Wechselrichter zugreift, habe ich auch die in anderen Beiträgen erwähnten Aussetzer.

Aus diesem Grund habe ich einen ModBus TCP Proxy auf einem anderen RasPi installiert. Der ModBus TCP Proxy ist ein Python-Programm von https://pypi.org/project/modbus-proxy/
Meinen 2018er Solaredge SE-9K PV Inverter mit einem Solar-Log 380 Pro Mod Drehstromzähler möchte ich um 3x Victron Multiplus II (für Batterie) und eine OpenWB erweitern, habe aber keinen Platz mehr für den EM24 Drehstromzähler, den Victron angeblich "zwingend" benötigt.

Kann ich den zusätzlichen EM24 mit Deiner Lösung einsparen und den 380 Pro Zähler sowohl für Solaredge, Victron und OpenWB nutzen? Das wäre ja genial. Hast Du nähere Details?

Re: ModBus TCP Proxy

Verfasst: Fr 27. Jan 2023, 19:22
von mfschr
Einfach mal unter diesem Link schauen:
https://pypi.org/project/modbus-proxy/

Idealerweise den ModBus Proxy automatisch starten lassen, also z.B. in die Datei rc.local eintragen.

Auf den ModBus Proxy können dann verschiedene Geräte zugreifen, die Verbrauchsdaten per Modbus auslesen sollen/müssen.

Re: ModBus TCP Proxy

Verfasst: So 29. Jan 2023, 00:24
von Snoopy
Hallo,
ich habe das mit dem Modbus Proxy Versuche und bekomme immer ein Fehler.

Code: Alles auswählen

2023-01-28 23:18:18,712     INFO modbus-proxy.ModBus(192.168.178.61:502): connected!
2023-01-28 23:18:28,714    ERROR modbus-proxy.ModBus(192.168.178.61:502): write_read error [1/2]: TimeoutError()
2023-01-28 23:18:28,715     INFO modbus-proxy.ModBus(192.168.178.61:502): closing connection...
2023-01-28 23:18:28,715     INFO modbus-proxy.ModBus(192.168.178.61:502): connection closed
2023-01-28 23:18:28,715     INFO modbus-proxy.ModBus(192.168.178.61:502): connecting to modbus...
2023-01-28 23:18:28,716     INFO modbus-proxy.ModBus(192.168.178.61:502): connected!
2023-01-28 23:18:38,717    ERROR modbus-proxy.ModBus(192.168.178.61:502): write_read error [2/2]: TimeoutError()
2023-01-28 23:18:38,717     INFO modbus-proxy.ModBus(192.168.178.61:502): closing connection...
2023-01-28 23:18:38,717     INFO modbus-proxy.ModBus(192.168.178.61:502): connection closed
2023-01-28 23:18:38,717     INFO modbus-proxy.Client(192.168.178.32:41530): closing connection...
2023-01-28 23:18:38,717     INFO modbus-proxy.Client(192.168.178.32:41530): connection closed
Ich habe die IP in der 1.user.config.cfg angepasst und sonst nirgends ist das so richtig?


Weil die 192.168.178.32:41532, die man oben erkennen kann, ist der Raspberry.
Die 192.168.178.61:502 ist mein Wechselrichter.

Re: ModBus TCP Proxy

Verfasst: So 29. Jan 2023, 14:52
von mfschr
Hi,

bei mir sieht die Zeile, mit der der ModBus Proxy gestartet wird, wie folgt aus:
sudo modbus-proxy -b tcp://0:9000 --modbus tcp://192.168.1.104:1502 &

Der Proxy versucht den Wechselrichter über die IP 192.168.1.104 und den Port 1502 zu erreichen.
Der Proxy selbst stellt den ModBus über den Port 9000 zur Verfügung.

D.h. der Proxy muss auf den Port des Wechselrichters eingestellt werden, und die Solaranzeige auf den Port des Proxys.
In der user.config.cfg müssen IP und Port des ModBus Proxys eingestellt werden; die 1.user.config.cfg nur verwenden, wenn tatsächlich mehrere Geräte mit der Solaranzeige administriert werden (z.B. Wechselrichter und Wallbox); der ModBus Proxy gehört nicht dazu.

Re: ModBus TCP Proxy

Verfasst: So 29. Jan 2023, 15:03
von Snoopy
Hallo,

ja, das hab ich alles so. Ich verstehe nur nicht, warum der Wechselrichter nicht schreiben darf ((192.168.178.61:502): write_read error) ?

Re: ModBus TCP Proxy

Verfasst: Mi 1. Feb 2023, 21:31
von Snoopy
@Ulrich

Ist es möglich, das mit den nächsten paar Updates zu integrieren? Ich bekomme das Ding einfach nicht zum Laufen. Der schmeißt bei mir immer ein read error raus.

MFG

Re: ModBus TCP Proxy

Verfasst: Do 2. Feb 2023, 11:21
von Ulrich
Snoopy hat geschrieben:
Mi 1. Feb 2023, 21:31
@Ulrich

Ist es möglich, das mit den nächsten paar Updates zu integrieren? Ich bekomme das Ding einfach nicht zum Laufen. Der schmeißt bei mir immer ein read error raus.

MFG
Damit habe ich mich noch nicht befasst. Welchen Sinn soll der Proxy in welcher Konstellation machen? Gibt es dafür Beispiele, wo es ohne den Proxy nicht funktioniert?