ModBus TCP Proxy
Moderator: Ulrich
Re: ModBus TCP Proxy
Ich versuche gerade meine Huawei Anlage anzubinden und habe dafür auch den Modbusproxy eingrichtet. Der Modbusproxy soll sowohl von Solaranzeige als auch vom TeslaSolarCharger genutzt werden. Der TeslaSolarCharger erhält seine Daten über den Modbusproxy d.h. das scheint zu funktionieren.
Solaranzeige bekommt aber keine Daten und zeigt im Log immer:
Modbus: Timeout
Modbus: Keine Häppchen empfangen
Kann mir da jemand helfen?
EDIT: Erledigt, hatte die falsche Geräte-ID angegeben. Mit 62 statt 49 gehts, obwohl SmartMeter eigentlich auch vorhanden
Solaranzeige bekommt aber keine Daten und zeigt im Log immer:
Modbus: Timeout
Modbus: Keine Häppchen empfangen
Kann mir da jemand helfen?
EDIT: Erledigt, hatte die falsche Geräte-ID angegeben. Mit 62 statt 49 gehts, obwohl SmartMeter eigentlich auch vorhanden
Re: ModBus TCP Proxy
Ich habe genau das selbe setup: nur wo trage ich die ip vom wechselrichter und vom ac thor ein ?mthom1962 hat geschrieben: ↑Mo 13. Mär 2023, 11:20Moin,
meine Anlage ist erst seit einer Woche in Betrieb, allerdings selber gebaut.
WR Huawei 6ktl-m1
Luna2000 5kw
AC-Elwa-e
Der Huawei hat wohl das gleiche Problem, es geht nur eine Verbindung über Modbus TCP.
Die Elwa und solaranzeige wollen zugreigfen.
Hab den Proxy installiert, und siege da, alles ist fein!
Mit diesen Einstellungen läuft der Huawei sauber:
sudo modbus-proxy -b tcp://0:9000 --modbus tcp://192.168.2.132:502 --timeout 10 --modbus-connection-time 0.5
Hab den Proxy auf der selben Raspi Kiste wie die Solaranzeige installiert.
Gruß
Tommy
PS: Hoffe es hilft dem ein oder anderen. Falls es fehler gibt müsst Ihr mit den Parametern timeout und modbus-connection-time spielen.
Der wechselrichter hat 192.168.2.64 und der acthor 192.168.2.67 der Proxy gibt dann quasi die daten weiter ? Versteh ich das so richtig ?
Re: ModBus TCP Proxy
Die IP des Wechselrichters wird bei --modbus tcp;//192.168.2.64:502 gesetzt, die Ip beim Thor ist die Ip Adresse des pi auf dem der Prxoy läuft. Der Port beim Thor ist in diesem Fall 9000 da der Proxy auf 9000 lauscht.solarll hat geschrieben: ↑Mi 6. Mär 2024, 23:48Ich habe genau das selbe setup: nur wo trage ich die ip vom wechselrichter und vom ac thor ein ?mthom1962 hat geschrieben: ↑Mo 13. Mär 2023, 11:20Moin,
meine Anlage ist erst seit einer Woche in Betrieb, allerdings selber gebaut.
WR Huawei 6ktl-m1
Luna2000 5kw
AC-Elwa-e
Der Huawei hat wohl das gleiche Problem, es geht nur eine Verbindung über Modbus TCP.
Die Elwa und solaranzeige wollen zugreigfen.
Hab den Proxy installiert, und siege da, alles ist fein!
Mit diesen Einstellungen läuft der Huawei sauber:
sudo modbus-proxy -b tcp://0:9000 --modbus tcp://192.168.2.132:502 --timeout 10 --modbus-connection-time 0.5
Hab den Proxy auf der selben Raspi Kiste wie die Solaranzeige installiert.
Gruß
Tommy
PS: Hoffe es hilft dem ein oder anderen. Falls es fehler gibt müsst Ihr mit den Parametern timeout und modbus-connection-time spielen.
Der wechselrichter hat 192.168.2.64 und der acthor 192.168.2.67 der Proxy gibt dann quasi die daten weiter ? Versteh ich das so richtig ?
Huawei Sun2000 6KTL-M1 + DTSU666-H + Luna2000
Re: ModBus TCP Proxy
Hallo zusammen,
gibt es die von Ulrich gewünschte Installations-/Konfigurationsanleitung für den modbusproxy irgendwo?
Danke und Gruß
Hartmut
gibt es die von Ulrich gewünschte Installations-/Konfigurationsanleitung für den modbusproxy irgendwo?
Danke und Gruß
Hartmut
PV-Anlage mit Sungrow Wechselrichter SH10RT-V112 und Speicher SBR128
MyPV AC ELWA 2 Heizstab zur Brauchwassererwärmung
Zwei Stromzähler ZPA GH305
MyPV AC ELWA 2 Heizstab zur Brauchwassererwärmung
Zwei Stromzähler ZPA GH305
-
- Beiträge: 161
- Registriert: Mo 16. Jan 2023, 20:43
- Hat sich bedankt: 16 Mal
- Danksagung erhalten: 25 Mal
Re: ModBus TCP Proxy
Also Leute, ich verstehe den ganzen Thread hier nicht. Bitte klärt mich auf wenn ich falsch liege.
Wenn ein Wechselrichter ein Modbus TCP Interface hat, dann muss ihm doch egal sein woher im TCP Netz die Anfragen kommen. OK wenn das Interface des Wechselrichters buggy programmiert ist, dann könnte es sein, dass viele parallele Abfragen es ausser Takt bringen.
Aber in einem Modbus TCP Netz können mehrere Clients Abfragen an den selben Server richten. Das ist so spezifiziert.
Wenn ein Wechselrichter ein Modbus TCP Interface hat, dann muss ihm doch egal sein woher im TCP Netz die Anfragen kommen. OK wenn das Interface des Wechselrichters buggy programmiert ist, dann könnte es sein, dass viele parallele Abfragen es ausser Takt bringen.
Aber in einem Modbus TCP Netz können mehrere Clients Abfragen an den selben Server richten. Das ist so spezifiziert.
Raspi 3B, Hybrid Must PV18-3024 VHM, Hoymiles HM-800 , Nachteinspeisung, Flex-BKW, AhoyDTU, Smart Meter DTSU666-H, DIY Akku 6,7 KWh, DalyBMS2MQTT, Victron2MQTT,Architektur, HomeMatic CCU. Autor: Solaranlage Do-It-Yourself
-
- Beiträge: 1203
- Registriert: Mo 22. Jun 2020, 08:58
- Wohnort: Ulm / Neu-Ulm
- Hat sich bedankt: 18 Mal
- Danksagung erhalten: 144 Mal
Re: ModBus TCP Proxy
Es gibt aber Hersteller (z.B. SolarEdge) welche nur eine einzige ModbusTCP Verbindung erlauben.
Sollen jetzt aber mehrere Geräte diesen Wechselrichter abfragen, geht es nicht.
Sollen jetzt aber mehrere Geräte diesen Wechselrichter abfragen, geht es nicht.
Gruß Timo
Auflistung Geräte/Dashboards/Anschlussart
Datenbankfelder der einzelnen Geräte
GANZ WICHTIG: Überblick der vorhandenen Anleitungen
Fertige Komplett-Systeme gibt es hier anfragen[AT]bauer-timo[.]de
Tibber Invite (100% Öko-Strom + 50€ Bonus)
Auflistung Geräte/Dashboards/Anschlussart
Datenbankfelder der einzelnen Geräte
GANZ WICHTIG: Überblick der vorhandenen Anleitungen
Fertige Komplett-Systeme gibt es hier anfragen[AT]bauer-timo[.]de
Tibber Invite (100% Öko-Strom + 50€ Bonus)
Re: ModBus TCP Proxy
Hallo,
ich habe Probleme den modbus-proxy zum Laufen zu bekommen und benötige Unterstützung.
Was habe ich gemacht: (Installationsanleitung von hier https://pypi.org/project/modbus-proxy/)
Das hat auch soweit funktioniert.
Es kommt die Meldung
Allerdings ist dann die Konsole "belegt".
Deshalb wollte ich den modbus-proxy als Dienst laufen lassen.
(Anleitung hier https://github.com/binsentsu/home-assis ... ssions/119
Wenn ich jetzt in der user.config.php umstelle von der IP des Wechselrichters auf localhost und vom Port 502 auf 9000, dann bekomme ich einen Fehler im solaranzeige Log weil keine Verbindung zu Wechselrichter aufgebaut werden kann.
Wie kann ich prüfen, ob der Dienst sauber läuft und ob es ggfs. Fehler gibt?
Danke vorab für jeden Tipp.
Gruß Hartmut
ich habe Probleme den modbus-proxy zum Laufen zu bekommen und benötige Unterstützung.
Was habe ich gemacht: (Installationsanleitung von hier https://pypi.org/project/modbus-proxy/)
Code: Alles auswählen
# pip installiert
sudo apt install python3-pip
# modbus-proxy installiert
pip install modbus-proxy --break-system-packages
#Datei /usr/lib/modbus-proxy/mproxy-conf.yaml angelegt (mit der Konfiguration für den Wechselrichterzugriff, wie bisher in der user.config.php)
# modbus-proxy manuell gestartet
modbus-proxy -c /usr/lib/modbus-proxy/mproxy-conf.yaml
Es kommt die Meldung
Code: Alles auswählen
hru@pinas:~ $ modbus-proxy -c /usr/lib/modbus-proxy/mproxy-conf.yaml
2024-03-28 15:39:02,166 INFO modbus-proxy: Starting...
2024-03-28 15:39:02,173 INFO modbus-proxy.ModBus(192.168.178.45:502): Ready to accept requests on 0:9000
Deshalb wollte ich den modbus-proxy als Dienst laufen lassen.
(Anleitung hier https://github.com/binsentsu/home-assis ... ssions/119
Code: Alles auswählen
# Datei /etc/systemd/system/mproxy.service anlegen
# mit Zeile: ExecStart = modbus-proxy -c /usr/lib/modbus-proxy/mproxy-conf.yaml
# reload your systemd daemon, so that it can load your new service script
sudo systemctl daemon-reload
# enable your new service
sudo systemctl enable mproxy.service
# start your modbus-proxy service
sudo systemctl start mproxy.service
Code: Alles auswählen
28.03. 15:18:01 |---------------- Start sungrow.php --------------------------
28.03. 15:18:01 -Sungrow: localhost Port: 9000 GeräteID: 1
28.03. 15:18:01 XX -Kein Kontakt zum Wechselrichter localhost Port: 9000
28.03. 15:18:01 |---------------- Stop sungrow.php --------------------------
Danke vorab für jeden Tipp.
Gruß Hartmut
PV-Anlage mit Sungrow Wechselrichter SH10RT-V112 und Speicher SBR128
MyPV AC ELWA 2 Heizstab zur Brauchwassererwärmung
Zwei Stromzähler ZPA GH305
MyPV AC ELWA 2 Heizstab zur Brauchwassererwärmung
Zwei Stromzähler ZPA GH305
Re: ModBus TCP Proxy
Hallo
hier noch folgende Info zu meinem Fall:
Danke vorab für jeden Tipp.
Gruß Hartmut
hier noch folgende Info zu meinem Fall:
Code: Alles auswählen
hru@pinas:~ $ sudo systemctl status mproxy.service
× mproxy.service - Modbus-Proxy
Loaded: loaded (/etc/systemd/system/mproxy.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Thu 2024-03-28 15:54:24 CET; 5h 34min ago
Duration: 68ms
Process: 110141 ExecStart=/home/hru/.local/bin/modbus-proxy -c /usr/lib/modbus-proxy/mproxy-conf.yaml (code=exited, status=1/FAILURE)
Main PID: 110141 (code=exited, status=1/FAILURE)
CPU: 68ms
Mar 28 15:54:24 pinas systemd[1]: mproxy.service: Scheduled restart job, restart counter is at 5.
Mar 28 15:54:24 pinas systemd[1]: Stopped mproxy.service - Modbus-Proxy.
Mar 28 15:54:24 pinas systemd[1]: mproxy.service: Start request repeated too quickly.
Mar 28 15:54:24 pinas systemd[1]: mproxy.service: Failed with result 'exit-code'.
Mar 28 15:54:24 pinas systemd[1]: Failed to start mproxy.service - Modbus-Proxy.
Gruß Hartmut
PV-Anlage mit Sungrow Wechselrichter SH10RT-V112 und Speicher SBR128
MyPV AC ELWA 2 Heizstab zur Brauchwassererwärmung
Zwei Stromzähler ZPA GH305
MyPV AC ELWA 2 Heizstab zur Brauchwassererwärmung
Zwei Stromzähler ZPA GH305
Re: ModBus TCP Proxy
Hallo,
weitere Infos aus der Analyse.
Der Befehl liefert folgendes.
Das kommt insgesamt 5 mal hintereinander.
Und dann kommt schließlich
In der ausführbaren Datei modbus-proxy steht in Zeile 5 "from modbus_proxy import main".
das scheint der Grund für den Fehler zu sein:
Hört sich an, als ob "modbus_proxy" nicht gefunden werden kann.(man achte auf den Unterstrich)
Hat jemand eine Idee?
Gruß Hartmut
weitere Infos aus der Analyse.
Der Befehl
Code: Alles auswählen
sudo journalctl --unit mproxy
Code: Alles auswählen
Mar 28 15:54:23 pinas systemd[1]: Started mproxy.service - Modbus-Proxy.
Mar 28 15:54:23 pinas modbus-proxy[110137]: Traceback (most recent call last):
Mar 28 15:54:23 pinas modbus-proxy[110137]: File "/home/hru/.local/bin/modbus-proxy", line 5, in <module>
Mar 28 15:54:23 pinas modbus-proxy[110137]: from modbus_proxy import main
Mar 28 15:54:23 pinas modbus-proxy[110137]: ModuleNotFoundError: No module named 'modbus_proxy'
Mar 28 15:54:23 pinas systemd[1]: mproxy.service: Main process exited, code=exited, status=1/FAILURE
Mar 28 15:54:23 pinas systemd[1]: mproxy.service: Failed with result 'exit-code'.
Mar 28 15:54:23 pinas systemd[1]: mproxy.service: Scheduled restart job, restart counter is at 1.
Mar 28 15:54:23 pinas systemd[1]: Stopped mproxy.service - Modbus-Proxy.
Und dann kommt schließlich
Code: Alles auswählen
Mar 28 15:54:24 pinas systemd[1]: mproxy.service: Start request repeated too quickly.
Mar 28 15:54:24 pinas systemd[1]: mproxy.service: Failed with result 'exit-code'.
Mar 28 15:54:24 pinas systemd[1]: Failed to start mproxy.service - Modbus-Proxy.
das scheint der Grund für den Fehler zu sein:
Code: Alles auswählen
hru@pinas:~ $ cat ./.local/bin/modbus-proxy
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import re
import sys
from modbus_proxy import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
sys.exit(main())
Hat jemand eine Idee?
Gruß Hartmut
PV-Anlage mit Sungrow Wechselrichter SH10RT-V112 und Speicher SBR128
MyPV AC ELWA 2 Heizstab zur Brauchwassererwärmung
Zwei Stromzähler ZPA GH305
MyPV AC ELWA 2 Heizstab zur Brauchwassererwärmung
Zwei Stromzähler ZPA GH305
Re: ModBus TCP Proxy
Hallo,
so jetzt bin ich einen Schritt weiter.
Ich musste noch den Ordner wo die eigentliche Installation vom modbus-proxy liegt mit in der Datei mproxy.service per Environment-Befehl angeben:
Jetzt kommt die Verbindung mit dem Wechselrichter beim Auslesen über den modbus-proxy zustande.(localhost und Port 9000 in der user.config.php)
Aber der Auslesevorgang hat noch ein Problem, nach der Modellgruppe kommt statt des Modells ein Lesefehler.
@Ulrich:
Hast Du eine Idee was da klemmen kann?
Vielen Dank vorab für Deine Unterstützung.
Gruß Hartmut
so jetzt bin ich einen Schritt weiter.
Ich musste noch den Ordner wo die eigentliche Installation vom modbus-proxy liegt mit in der Datei mproxy.service per Environment-Befehl angeben:
Code: Alles auswählen
hru@pinas:~ $ cat /etc/systemd/system/mproxy.service
[Unit]
Description=Modbus-Proxy
After=network.target
[Service]
Type=simple
Restart=always
Environment="PYTHONPATH=$PYTHONPATH:/home/hru/.local/lib/python3.11/site-packages"
ExecStart = /home/hru/.local/bin/modbus-proxy -c /usr/lib/modbus-proxy/mproxy-conf.yaml
[Install]
WantedBy=multi-user.target
Jetzt kommt die Verbindung mit dem Wechselrichter beim Auslesen über den modbus-proxy zustande.(localhost und Port 9000 in der user.config.php)
Aber der Auslesevorgang hat noch ein Problem, nach der Modellgruppe kommt statt des Modells ein Lesefehler.
@Ulrich:
Hast Du eine Idee was da klemmen kann?
Code: Alles auswählen
29.03. 00:30:01 |---------------- Start sungrow.php --------------------------
29.03. 00:30:01 -Sungrow: 192.168.178.45 Port: 502 GeräteID: 1
29.03. 00:30:01 + -Die Daten werden ausgelesen...
29.03. 00:30:02 -Firmware: ARM_SAPPHIRE-H_V11_V01_B
29.03. 00:30:02 -Seriennummer: ...
29.03. 00:30:02 -ModellGruppe: SH
29.03. 00:30:10 -Modell: SH10RT-V112
29.03. 00:30:17 -Alle 10 Minuten werden die Statistikdaten übertragen.
29.03. 00:30:18 * -Daten zur lokalen InfluxDB [ sungrow_sh10rt ] gesendet.
29.03. 00:30:37 -Schleife 1 Ausgang...
29.03. 00:30:37 -OK. Datenübertragung erfolgreich.
29.03. 00:30:37 |---------------- Stop sungrow.php --------------------------
29.03. 00:31:01 |---------------- Start sungrow.php --------------------------
29.03. 00:31:01 -Sungrow: localhost Port: 9000 GeräteID: 1
29.03. 00:31:01 + -Die Daten werden ausgelesen...
29.03. 00:31:01 -Firmware: ARM_SAPPHIRE-H_V11_V01_B
29.03. 00:31:01 -Seriennummer: ...
29.03. 00:31:02 -ModellGruppe: SH
29.03. 00:31:10 -Lesefehler => Ausgang.
29.03. 00:31:10 |---------------- Stop sungrow.php --------------------------
Gruß Hartmut
PV-Anlage mit Sungrow Wechselrichter SH10RT-V112 und Speicher SBR128
MyPV AC ELWA 2 Heizstab zur Brauchwassererwärmung
Zwei Stromzähler ZPA GH305
MyPV AC ELWA 2 Heizstab zur Brauchwassererwärmung
Zwei Stromzähler ZPA GH305