Modbus TCP

Node-RED als CCU3/RaspberryMatic Addon, WebApp, HomeKit, ...

Moderator: Co-Administratoren

Gawan
Beiträge: 448
Registriert: 11.12.2014, 23:40

Re: Modbus TCP

Beitrag von Gawan » 09.10.2019, 16:41

Hi,

du brauchst keine weitere CCU3.
Im ersten Schritt benötigst du einen PC mit Netzwerkzugang wie Garf schon geschrieben hat.
Den nutzt du als Modbus Master um die Kommunikation mit dem WR aufzubauen.

Einige Zeit später:
Sobald da mal halbwegs sinnvolle Daten hin- und herfließen kannst du anstatt deinen PC zu verwenden einen NodeRed-Server nehmen. Das kann z.B. ein RaspberryPi sein, eine NAS mit Docker oder auch ein kleiner PC der 24/7 läuft. Und über diesen NodeRed-Server kannst du dann die Daten vom WR nehmen, formatieren wie du magst und an deine aktive CCU schicken um dort damit zu arbeiten.

Benutzeravatar
tgw
Beiträge: 248
Registriert: 10.10.2013, 22:35
Wohnort: Recklinghausen
Hat sich bedankt: 6 Mal

Re: Modbus TCP

Beitrag von tgw » 09.10.2019, 18:15

Hallo,
egal, wie es später umgesetzt wird. :-) Einen kleinen PC nehme ich nicht, die reduziere ich derzeit alle.

Ich würde gerne mal wissen, ob ich Euch irgendwas bereitstellen kann, damit Ihr die nötigen Dinge zum Entwickeln und Testen aus dem WR holen, nutzen und verarbeiten kann. Dazu bitte PM an mich, dann können wir uns was ausdenken. Ich möchte nur von der blöden API weg. :)
Viele Grüße aus Recklinghausen im Ruhrpott

Der TGW

Ich bin Jahrgang 1959, bitte helft mir nicht über die Straße, aber etwas bei Homematic! :-)

Gawan
Beiträge: 448
Registriert: 11.12.2014, 23:40

Re: Modbus TCP

Beitrag von Gawan » 09.10.2019, 18:20

Weisst du schon wie du Modbus TCP am WR aktivierst ?
Da gibt es einen Menüpunkt dafür

Garf
Beiträge: 34
Registriert: 29.03.2019, 07:45
Danksagung erhalten: 1 Mal

Re: Modbus TCP

Beitrag von Garf » 09.10.2019, 18:52

Gawan hat geschrieben:
09.10.2019, 16:41
du brauchst keine weitere CCU3.
Im ersten Schritt benötigst du einen PC mit Netzwerkzugang wie Garf schon geschrieben hat.
Den nutzt du als Modbus Master um die Kommunikation mit dem WR aufzubauen.
Korrekt. Ob er nun schon eine CCU3 hat, oder sich erst noch eine zulegen möchte bleibt ihm völlig überlassen und hat mit dem Thema hier nichts zu tun.
Gawan hat geschrieben:
09.10.2019, 16:41
Einige Zeit später:
Sobald da mal halbwegs sinnvolle Daten hin- und herfließen kannst du anstatt deinen PC zu verwenden einen NodeRed-Server nehmen. Das kann z.B. ein RaspberryPi sein, eine NAS mit Docker oder auch ein kleiner PC der 24/7 läuft. Und über diesen NodeRed-Server kannst du dann die Daten vom WR nehmen, formatieren wie du magst und an deine aktive CCU schicken um dort damit zu arbeiten.
Oder er verwendet die CCU3 und installiert darauf RedMatic. Dann kann er mit den Daten anstellen was immer er will.
tgw hat geschrieben:
09.10.2019, 14:53
ich glaube, wir reden aneinander vorbei.
Ja, ich denke schon
tgw hat geschrieben:
09.10.2019, 14:53
Die CCU3 schaffe ich eh extra an, um eben weit weit weg vom Produktivsystem zu sein. Final möchte ich das aber in die vorhandene CCU3 einbinden, da die eh läuft und auch sowieso ein Raspy drin ist. Warum ist das unnötig, alles auf ein Gerät zu bauen. OK, muss ich hier jetzt nicht diskutieren. Dazu kann man später eine Lösung finden. Wäre halt nur einfacher, die CCU3 könnte ich einfach freigeben zum Testen.
Mach was Du für richtig hälst, aber alle deine Pläne für deinen zukünftigen Hardwareaufbau haben mit deiner Fragestellung hier nichts zu tun.
Wenn ich alles richtig verstanden habe möchtest Du die Werte aus dem WR über Modbus auslesen. Wenn uns dies mit dem PC gelingt, dann bekommen wir dies sicher auch mit Node Red hin.
tgw hat geschrieben:
09.10.2019, 14:53
Ich schau mal, dass ich den Modbus mit dem Modmaster nochmal auslese, hatte ich jetzt eine Weile auf Eis gelegt wegen der Stille hier. Dann bekommst Du, was Du brauchst.
Jetzt kommen wir zum Kern deiner Frage.
tgw hat geschrieben:
09.10.2019, 14:53
Ist denn ein Gerät, welches im Modbus an den WR hängt schon ein Produktivsystem für Dich? ich dachte, das ist alles nur lesend. Aber da bist Du der Fachmann, ich möchte unterstützen, so geht es geht.
Nein natürlich nicht. Ein Produktivsystem ist für mich meine CCU3 oder mein Raspi3, da laufen verschiedene Programme unter NodeRed die meine Rolläden steuern und verschiedene Dinge wie Wasser- und Wärmemengenzähler auslesen. Als Herzstück meine Homeautomation läuft bei mir ein Industrieregler der Firma SAIA. Der SAIA-Regler steuert und regelt den Heizkessel, den Kachelofen und die Solaranlage. Um an den SAIA Regler Daten der Wärmezähler, den Müllkalender und der Benzinpreise übertragen zu können, stelle ich über die Modbus TCP Schnittstelle dem Industrieregler die auf der CCU3 und des Raspi verarbeiteten Daten zur Verfügung. Daher habe ich mich in Modbusthema recht tief einarbeiten müssen. Im Vergleich zum S-Bus, M-Bus und MQTT stellt im Handling der Modbus das aufwendigste und schwierigste Protokoll dar.
Allerdings wird euch schon viel Arbeit abgenommen. Alle Werte des WR werden bereits in Registern zur Verfügung gestellt und müssen nur noch richtig ausgelesen werden.

Und genau hier biete ich mein Wissen und meine Hilfe an. Ich bin kein Fachmann und mein Wissen habe ich mir im Selbststudium angeeignet. Mein Doing selber liegt auch schon einige Monate zurück, deshalb muss ich mich in Details erst wieder reinfuchsen.

Laßt es uns versuchen, mehr wie schief gehen kann es nicht. Eins sollte euch allerdings von vorne herein klar sein Messwerte in Echtzeit über die Modbusschnittstelle wird es nicht geben. Abfragen in gewissen Zeitabständen dagegen sollte möglich sein.

Jetzt bitte zurück zum Thema. Um helfen zu können bräuchte(n) ich/wir Input von euch, am liebsten in Form von Screenshots.

Garf
Beiträge: 34
Registriert: 29.03.2019, 07:45
Danksagung erhalten: 1 Mal

Re: Modbus TCP

Beitrag von Garf » 09.10.2019, 18:59

tgw hat geschrieben:
09.10.2019, 18:15
Ich würde gerne mal wissen, ob ich Euch irgendwas bereitstellen kann, damit Ihr die nötigen Dinge zum Entwickeln und Testen aus dem WR holen,
Also den Zahn kann ich dir schon einmal ziehen. Ich entwickel nicht. Wenn seit ihr selber die Entwickler/Programmierer in der Sache.

Wenn Du es nun selber angehen möchtest, so biete ich dir meine Unterstützung und mein Wissen für die Umsetzung an. Im ersten Schritt müssen über den Modbusmaster eine Verbindung zum WR aufgebaut und die Registerwerte ausgelsen werden. Da ich dies selber nicht machen kann, musst Du dies nun machen und von dem Ergebnis hier die Screenshots posten.

Es liegt als an euch in diesem Thema Schritt für Schritt weiter zu kommen.

Gawan
Beiträge: 448
Registriert: 11.12.2014, 23:40

Re: Modbus TCP

Beitrag von Gawan » 09.10.2019, 19:21

Schritt 1: die IP deines WR im Netzwerk rausfinden - sagen wir es ist die 192.168.0.20

Schritt 2: rausfinden wie du beim WR den "Modbus TCP" oder "Modbus Ethernet" Modus aktivieren kannst (im Menü)
!!! ACHTUNG !!! DU HAST JETZT NUR 2 MINUTEN ZEIT UM EINE VERBINDUNG AUFZUBAUEN - SONST GEHT DIE FUNKTION WIEDER OFFLINE !!!

Schritt 3: am PC den qModMaster starten, bei "options" - "modbus TCP" die Adresse deines WR eingeben -> 192.168.0.20, TCP Port bleibt 502

Schritt 4: jetzt wirds spannend ... gib mal bei Start Address die 40001 ein - alle anderen Optionen und Parameter weiß ich nicht, sorry

Schritt 5: klicke oben auf den "Connect" Button mit den beiden Steckern

Schritt 6: beobachte was passiert und schick im besten Fall einen Screenshot

Schritt 7 - optional: spiele mit den anderen Parametern herum bis irgendeine sinnvolle Rückmeldung kommt

Garf
Beiträge: 34
Registriert: 29.03.2019, 07:45
Danksagung erhalten: 1 Mal

Re: Modbus TCP

Beitrag von Garf » 09.10.2019, 19:45

@Gawan
Für den ersten Versuch schon einmal eine gute Anleitung.

Allerdings bin ich auf diesen vielleicht nicht ganz unwichtigen Hinweis gestoßen
Noch der Hinweis, dass Du den Registertyp als "Holding"-Register auswählen musst. Damit ist ein Modbus-Register "40000" gleichbedeutend mit dem Holding-Register 0x0000. Weiterhin zählt Solaredge hier ab #1, wobei das entsprechende Modbus Register dann immer -1 zu zählen. Als Beispiel die aktuelle Leistung des Wechselrichters unter der Sunspec Adresse "40084", dies enstpricht dann dem Holding Register mit der Adresse 83.
.

Quelle: https://www.photovoltaikforum.com/threa ... ost1485732

Gawan
Beiträge: 448
Registriert: 11.12.2014, 23:40

Re: Modbus TCP

Beitrag von Gawan » 09.10.2019, 20:23

und da hörts leider auch auch bei mir :)

Folgende Parameter benötigt QModMaster:

Slave Addr: da stimmt hoffentlich die 1 aus der Anleitung
Function Code: Holding Register
Start Address: 83 oder 40084 DEC / HEX einfach ausprobieren

Number of Coils: 1
Data Format Dec / Bin Hex ebenfalls ausprobieren

Ich kann leider mit meiner eigenen Hardware noch nicht mittesten - ich hab aber zur Sicherheit mal meinen NodeRed wieder lauffähig gemacht :mrgreen:

Garf
Beiträge: 34
Registriert: 29.03.2019, 07:45
Danksagung erhalten: 1 Mal

Re: Modbus TCP

Beitrag von Garf » 09.10.2019, 20:57

Gawan hat geschrieben:
09.10.2019, 20:23
und da hörts leider auch auch bei mir :)
Falsch, jetzt fängt es erst richtig an. :mrgreen:

Ich mache mal eine Anleitung wie die Grundeinstellung auszusehen hat. Im Moment brauchen wir kein Node Red. Ein PC der im Netzwerk ist und den Wechselrichter der sich ebenfalls im Netzwerk befindet und dessen IP Adresse,

Schau mal, dass Du baldmöglichst den WR ins Netzwerk eingebunden bekommst.

Benutzeravatar
tgw
Beiträge: 248
Registriert: 10.10.2013, 22:35
Wohnort: Recklinghausen
Hat sich bedankt: 6 Mal

Re: Modbus TCP

Beitrag von tgw » 10.10.2019, 11:16

Ich hab da was:
2019-10-10 11_10_07-KAPA-O-KAPA-O0 - Vollsteuerung.png
2019-10-10 11_10_07-KAPA-O-KAPA-O0 - Vollsteuerung.png (14.86 KiB) 28 mal betrachtet
Viele Grüße aus Recklinghausen im Ruhrpott

Der TGW

Ich bin Jahrgang 1959, bitte helft mir nicht über die Straße, aber etwas bei Homematic! :-)

Antworten

Zurück zu „RedMatic“