Modbus - kompatibel??

Allgemeine Fragen rund um die "Smart Home" Hardware/Komponenten

Moderatoren: seppy, udo1toni

mad-mike
Beiträge: 402
Registriert: 6. Jan 2021 18:05
Answers: 2

Modbus - kompatibel??

Beitrag von mad-mike »

Moin zusammen.

Ich habe für mein Wechselrichter ein Modbus Gateway bestellt. Dieser kann 232 auf TCP/IP oder 485 /422 auf TCP/IP.

Wenn ich das richtig gelesen habe brauche ich 485 auf TCP/IP. Anschluss.

Jetzt meine Frage: :?:
Ich habe gesehen das es auch eine Relais Boards gibt. Kann ich die an den selben BUS Hängen? Oder wird dann der Wechselrichter streiken?

Es gibt da ja Addr. die ich wohl zuweisen müsste. Aber auch irgendwelche Bundraten oder so. :roll:

Ich habe diese ganze Struktur des Modbus noch nicht verstanden.

Kann mir jemand ein Link senden, oder mal einfach was dazu sagen?? Bei google komme ich immer auf Industrielösungen und so.

:arrow:
Ich stelle wir das so vor, das ich alle Teilnehmer in reihenschaltung an den 485 Bus hängen kann, mit dem Gateway dann ansprechen kann.

Ist das richtig? oder brauche ich dann für die Relaisbords wieder ein eigenes Gateway??
Gruss mad-mike

openHABian 4.1.1 auf Raspberry Pi 4 Mod. b (8GB) ;)

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Modbus - kompatibel??

Beitrag von udo1toni »

mad-mike hat geschrieben: 19. Mär 2023 10:04 Bei google komme ich immer auf Industrielösungen und so.
Was daran liegen könnte, dass Modbus vor allem in der Industrie verwendet wird :lol: genauso wie RS-485

Ich denke, es kommt einfach darauf an, was das Gateway unterstützt. Ist es vorgesehen, das Relais-Board gemeinsam mit dem Gateway und dem Wechselrichter im Verbund zu betreiben, dann wird openHAB Dir da keinen Strich durch die Rechnung machen. openHAB ist nur ein passiver Busteilnehmer (im Sinne, dass openHAB selbst kein Busmaster ist - wenn ich es richtig im Kopf habe...)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

mad-mike
Beiträge: 402
Registriert: 6. Jan 2021 18:05
Answers: 2

Re: Modbus - kompatibel??

Beitrag von mad-mike »

Also entnehme ich deiner Antwort: Modbus und 485 ist nicht das gleiche?? :oops:

Okay, gut. :oops: So hatte ich die antworten bei google gedeutet. Modbus ist immer von 485 die rede und umgedreht.


Also der Wechselrichter hat 485 und das Relaisbord auch.

Also Abwarten bis die Komponenten da sind, und dann mal prüfen. :!:
Ist es vorgesehen, das Relais-Board gemeinsam mit dem Gateway und dem Wechselrichter im Verbund zu betreiben, dann wird openHAB Dir da keinen Strich durch die Rechnung machen.
Joar, so dachte ich ganz einfach. Einfach zwischen hängen und man hat wieder ein paar ""Ausgänge"" die man für irgendwas benutzen könnte... Beleuchtung ist immer ein Thema, (Muss nichts mit der PV zu tun haben).

Wie gesagt, ich warte ab bis das zeug da ist. 8-)
Gruss mad-mike

openHABian 4.1.1 auf Raspberry Pi 4 Mod. b (8GB) ;)

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Modbus - kompatibel??

Beitrag von udo1toni »

Nein, RS-485 beschreibt die elektrische Schnittstelle, also das gleiche wie RS-232 (nicht das Selbe! nur die Art der Schnittstelle ist hier sehr ähnlich, wobei RS-232 nur Punkt-zu-Punkt nutzt, RS-485 erlaubt aber einen Bus mit mehreren Teilnehmern. RS-485 muss mit Terminalwiderständen abgeschlossen werden, also am ersten und am letzten Gerät. Es kann auch gut sein, dass Geräte mit RS-485 diese Terminalwiderstände bereits eingebaut haben (die können dann per Jumper aktiviert werden).

MODBUS ist ein Protokoll, welches vor allem über RS-485, aber eben auch über IP genutzt werden kann.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

mad-mike
Beiträge: 402
Registriert: 6. Jan 2021 18:05
Answers: 2

Re: Modbus - kompatibel??

Beitrag von mad-mike »

So nach guten 3 Tagen habe ich es nun geschafft, ein paar Werte über mbpoll abzufragen.

Ich habe nun Versucht das Modbus Binding einzusetzen, oder liege ich damit falsch?

Alle versuche über das Binding, sind gescheitert.

Über die Konsole kann ich über den Befehl:

Code: Alles auswählen

mbpoll -a 1 -t 3 -c 125   192.168.178.198
eine Abfrage starten.

Eine ausgabe sieht dann so aus:

Code: Alles auswählen

mbpoll -a 1 -t 3 -c 125 -1  192.168.178.198
mbpoll 1.0-0 - FieldTalk(tm) Modbus(R) Master Simulator
Copyright © 2015-2019 Pascal JEAN, https://github.com/epsilonrt/mbpoll
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; type 'mbpoll -w' for details.

Protocol configuration: Modbus TCP
Slave configuration...: address = [1]
                        start reference = 1, count = 125
Communication.........: 192.168.178.198, port 502, t/o 1.00 s, poll rate 1000 ms
Data type.............: 16-bit register, input register table

-- Polling slave 1...
[1]: 	0
[2]: 	0
[3]: 	0
[4]: 	0
[5]: 	0
[6]: 	0
[7]: 	0
[8]: 	0
[9]: 	0
[10]: 	0
[11]: 	0
[12]: 	0
[13]: 	16896
[14]: 	2496
[15]: 	448
[16]: 	2220
[17]: 	250
[18]: 	0
[19]: 	0
[20]: 	0
[21]: 	0
[22]: 	0
[23]: 	0
[24]: 	0
[25]: 	0
[26]: 	0
[27]: 	0
[28]: 	0
[29]: 	0
[30]: 	0
[31]: 	0
[32]: 	0
[33]: 	0
[34]: 	0
[35]: 	0
[36]: 	0
[37]: 	0
[38]: 	5000
[39]: 	2305
[40]: 	13
[41]: 	0
[42]: 	0
[43]: 	0
[44]: 	0
[45]: 	0
[46]: 	0
[47]: 	0
[48]: 	0
[49]: 	0
[50]: 	0
[51]: 	0
[52]: 	0
[53]: 	0
[54]: 	0
[55]: 	0
[56]: 	0
[57]: 	0
[58]: 	5
[59]: 	43944 (-21592)
[60]: 	0
[61]: 	0
[62]: 	0
[63]: 	0
[64]: 	0
[65]: 	0
[66]: 	0
[67]: 	0
[68]: 	0
[69]: 	0
[70]: 	0
[71]: 	0
[72]: 	0
[73]: 	0
[74]: 	0
[75]: 	0
[76]: 	0
[77]: 	0
[78]: 	0
[79]: 	0
[80]: 	0
[81]: 	0
[82]: 	0
[83]: 	0
[84]: 	0
[85]: 	0
[86]: 	0
[87]: 	0
[88]: 	0
[89]: 	0
[90]: 	0
[91]: 	0
[92]: 	0
[93]: 	0
[94]: 	198
[95]: 	193
[96]: 	189
[97]: 	0
[98]: 	116
[99]: 	67
[100]: 	0
[101]: 	0
[102]: 	0
[103]: 	0
[104]: 	0
[105]: 	0
[106]: 	0
[107]: 	0
[108]: 	0
[109]: 	0
[110]: 	0
[111]: 	0
[112]: 	0
[113]: 	0
[114]: 	0
[115]: 	0
[116]: 	0
[117]: 	0
[118]: 	7
[119]: 	0
[120]: 	1
[121]: 	0
[122]: 	0
[123]: 	0
[124]: 	0
[125]: 	0

Kurze info:
Die Anlage ist noch nicht komplett fertig. Deswegen sind wohl auch einige viele "0" vorhanden. Ein Akku und die PV Platten sollten dann noch mal mit auftauchen...


Jedenfall, wie bekomme ich nun die Werte ins openHAB?

:?: :?:

jemand eine idee?

Gruss
Gruss mad-mike

openHABian 4.1.1 auf Raspberry Pi 4 Mod. b (8GB) ;)

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Modbus - kompatibel??

Beitrag von udo1toni »

Ich nutze selbst kein Modbus, aber das Prinzip sollte das gleiche sein.
Etwas tricky ist, dass es bei Modbus zwei Bridges gibt. Die erste Bridge stellt die Verbindung zum Bus her (tcp oder seriell), kommen also die IP und der Port rein.
Die zweite Bridge ist der ersten Bridge zugeordnet und hat die Aufgabe zu pollen. Das dürfte nach meinem Verständnis der eigentliche Modbus Client sein (Das Gerät ist der Modbus Server und somit der "Slave", der auf Anforderung Dinge erledigen und Auskunft erteilen muss, der Cleint ist der Master, der Sagt, was Sache ist).
Unterhalb des Pollers musst Du dann die Things anlegen, in welchen die Adressbereiche auf Channel umgesetzt werden.

Die Beispiele in der Doku sind auch eher verwirrend als hilfreich, und es wird nicht besser dadurch, dass man gar keine Channel definiert...
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

oh73
Beiträge: 285
Registriert: 7. Mär 2021 14:49
Answers: 1

Re: Modbus - kompatibel??

Beitrag von oh73 »

ich nutze den Modbus vom SMA Wechselrichter Tripower 8.0

die Bridges und Things sind da aufgebaut wie Udo schon schreibt (zwei Bridges).

vielleicht solltest du dir das Beispiel mal ansehen.

hab das von https://github.com/alaub81/openhab_modbus_sma_inverter runter geladen.
OH 4.0.3 auf HP 26o G1 Dm Mini Pc mit MX_Linux

mad-mike
Beiträge: 402
Registriert: 6. Jan 2021 18:05
Answers: 2

Re: Modbus - kompatibel??

Beitrag von mad-mike »

Danke euch. ;)

Es hat etwas gedauert bis es klick gemacht hat :roll: , aber nun kommen daten rein. :D

Bridge 1 ist die Verbindung zum Gateway.
Bridge 2 ist das Polling in einem Addr bereich von - bis ... //max 125

Und dann musste ich ein Thing ""Modbus Data"" erstellen welches einen Datenpunkt innerhalb der 125 daten punkte abfragt.

Hier gibts dann Channel:

""Value as Number""

Dort finde ich dann den aktuellen wert """Haus verbrauch""" Wieder...
Jetzt habe ich also nach 20 Stunden versuchen eine Modbus Verbindung Online und sehe den Aktuellen Verbrauch. :D

Der Wert müsste jetzt noch /10 genommen werden.

Muss ich das über eine Rule erledigen, oder kann man eine solche Korrektur innerhalb des Item machen??

Zu Info:

den Wert möchte ich später dann noch für eine Rule verwenden. Entweder muss ich dann berücksichtigen, das dort der Wert auch /10 genommen wird. oder dies wird irgendwie im Item erledigt??
Gruss mad-mike

openHABian 4.1.1 auf Raspberry Pi 4 Mod. b (8GB) ;)

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Modbus - kompatibel??

Beitrag von udo1toni »

Schau genau nach, was Du für Felder beim Modbus Thing hast (eigentlich beim Channel...) Falls es die Möglichkeit gibt, die Unit zu setzen, könntest Du z.B. statt W für Watt dW (deziWatt, also 1 = ein zehntel Watt) setzen. Diese Größe ist eher unüblich :) aber zulässig. Die Anzeige kann dann dennoch in Watt erfolgen. Andersrum wäre es daW, (DekaWatt, also 1 = 10 W)
Und natürlich gibt es (nahezu) beliebige andere Multiplikatoren,
siehe https://www.openhab.org/docs/concepts/u ... enting-uom
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

oh73
Beiträge: 285
Registriert: 7. Mär 2021 14:49
Answers: 1

Re: Modbus - kompatibel??

Beitrag von oh73 »

Der Wert müsste jetzt noch /10 genommen werden.

Muss ich das über eine Rule erledigen, oder kann man eine solche Korrektur innerhalb des Item machen??
beim SMA wird das im Things gemacht.

Beispiel,

Code: Alles auswählen

Thing data GVoltageL1 "SMA Inverter 2 Voltage L1" [ readStart="30783", readValueType="int32", readTransform="JS(smalimit100.js)" ]
OH 4.0.3 auf HP 26o G1 Dm Mini Pc mit MX_Linux

Antworten