NEWS
Modbus adapter
-
Hallo zusammen!
Ich habe den Modbus-Adapter nun schon eine ganze Weile erfolgreich am Laufen. Da mein Raspi3 nun an seinen Grenzen kam, habe ich ein frisches System auf einem Raspi4 mit 8Gb aufgesetzt. Soweit so gut. Beim Gerät das ich Abfrage handelt es sich um eine Pluggit Ap 310 (zentrale Lüftungsanlage für Wohngebäude).
Genau wie auf dem Alten ist Modbus auf dem Neuen in der Version 3.4.11 installiert. Ebenso nutze ich auf dem neuen wieder Admin 5.
Nun wollte ich recht simpel die TSV-Datei aus der alten Installation in die neue eintragen. Beim Import selber kommen keine Fehler, jedoch dann im Log selbst. Der Adapter beendet dann auch recht zeitnah die Verbindung zur Pluggit.Folgendes steht im Log
modbus.0 2021-09-15 19:10:57.364 info Disconnected from slave 192.168.178.25 modbus.0 2021-09-15 19:09:56.362 warn Poll error count: 4 code: {"errorCode":131,"exceptionCode":2,"message":"ILLEGAL DATA ADDRESS"} modbus.0 2021-09-15 19:09:56.354 info Connected to slave 192.168.178.25 modbus.0 2021-09-15 19:08:56.350 info Disconnected from slave 192.168.178.25 modbus.0 2021-09-15 19:07:55.288 warn Poll error count: 3 code: {"errorCode":131,"exceptionCode":2,"message":"ILLEGAL DATA ADDRESS"} modbus.0 2021-09-15 19:07:55.278 info Connected to slave 192.168.178.25 modbus.0 2021-09-15 19:06:55.275 info Disconnected from slave 192.168.178.25 modbus.0 2021-09-15 19:05:54.273 warn Poll error count: 2 code: {"errorCode":131,"exceptionCode":2,"message":"ILLEGAL DATA ADDRESS"} modbus.0 2021-09-15 19:05:54.265 info Connected to slave 192.168.178.25 modbus.0 2021-09-15 19:04:54.260 info Disconnected from slave 192.168.178.25 modbus.0 2021-09-15 19:03:53.175 warn Poll error count: 1 code: {"errorCode":131,"exceptionCode":2,"message":"ILLEGAL DATA ADDRESS"} modbus.0 2021-09-15 19:03:53.158 info Connected to slave 192.168.178.25 modbus.0 2021-09-15 19:03:52.451 info starting. Version 3.4.11 in /opt/iobroker/node_modules/iobroker.modbus, node: v14.17.5, js-controller: 3.3.15
Die Daten stimme 1zu1 mit denen der alten Installation überein, habe sie ja direkt kopiert. Ebenso läuft der Modbus-Adapter auf der alten Installation nicht, wenn ich mit der Neuen teste.
Jemand eine Idee woran das noch liegen kann?
Danke und Grüße
-
@puppet1912 sagte in Modbus adapter:
Die Daten stimme 1zu1 mit denen der alten Installation überein,
Was passiert , wenn du nur ein Register abfragst , also nur ein Eintrag in der TSV
-
@glasfaser said in Modbus adapter:
Was passiert , wenn du nur ein Register abfragst , also nur ein Eintrag in der TSV
Das klappt in der Regel. Habe auch schon mal zwei Einträge zum Laufen bekommen. Aber ein Schema erkenne ich da einfach nicht.
-
dann ist ein Fehler drin .
Ich weiß ja nicht wieviel du abfragst !?
,Teile doch beim einfügen den Inhalt in den TSV , nach und nach den falschen
Eintrag suchen . -
Ich frage insgesamt 17 Register ab.
Auch das habe ich bereits versucht. Leider ohne Erfolg. Ich frage mich halt, wie da ein Fehler rein kommen kann. Ich kopiere die TSV ja aus einem Adapter der mit genau dieser Config läuft und keinerlei Fehler bringt.
-
-
Da funktioniert nur die ersten drei.
Edit:
Ich konnte den Fehler finden. Vermutlich der billigste überhaupt der mir unterlaufen konnte. Die Adressen waren in meiner alten TSV nicht aufsteigend geordnet. Damit scheint die neue Installation nicht klar zu kommen, warum auch immer.
Ich habe jetzt alles geordnet und bekomme endlich wieder Werte.Ich danke dir vielmals für den Denkanstoß!
-
Hallo
Ich habe ähnliche probleme.Bei mir ist alles super gelaufen.Als ein Update des Modbus Adapter kam ging plötzlich nichts mehr .Gibt es da schon erfahrungen?modbus.0
2021-11-17 21:20:29.204 info Disconnected from slave 192.......
modbus.0
2021-11-17 21:20:29.153 warn Poll error count: 8 code: {"errorCode":132,"exceptionCode":3,"message":"ILLEGAL DATA VALUE"}
modbus.0
2021-11-17 21:20:29.134 info Connected to slave 192..........Der code 8 wiederholt sich auf ander also code 1 bis 10
Danke schonmal
-
Ist es möglich einzelne Register die nicht per intervall abgerufen werden sollen. Einzeln manuell anzustoßen?
Also irgendwie in der Art getRegister(1234) und dann wird der Register gelesen?
Wenn nein, kann man sowas implementieren?Danke & Gruß
Daniel -
Ist es möglich einzelne Register die nicht per intervall abgerufen werden sollen. Einzeln manuell anzustoßen?
Also irgendwie in der Art getRegister(1234) und dann wird der Register gelesen?
Wenn nein, kann man sowas implementieren?Danke & Gruß
Daniel -
@doubled Ich bin kein Modbus Experte, sondern nur Nutzer und das auch nur in einer Konfiguration.
In dieser Konfiguration mit einem kleinem Victron Wechselrichter wäre das nicht möglich. Da muß man den Wechselrichter zum Senden auffordern. Man kann dort mit der aktuellen Firmware Version selektiv subskribiren, was man haben möchte. Dann sendet er diese Daten in dem zeitlichen Abstand den er will.
Damit wäre in diesem speziellen Fall Dein Anliegen so wie Du es beschrieben hast, leider nicht lösbar. -
Guten Morgen,
ich verzweifle an der Modbus Beschreibung dieses Sensors. Die Verbindung zum Slave/Server funktioniert. Aber ich weiß nicht, was ich bei Eingangsregister eintragen muss, da ich mit der Beschreibung nicht hin komme Kann mir jemand helfen?
-
@nerg Also ich kenne mich mit diesen Sensoren nicht aus, aber generell musst Du eigentlich nun nur die Holding-Register entsprechend im Adapter eintragen. Dazu gibt es eine Basisaddresse und auf diese werden dann sozusagen die Adressen in der linken Spalte aufgeschlagen. Der Inhalt ist in Deiner Tabelle beschrieben, ebenso welchen Typ das Register hat (z.B. signed Integer, Float, etc.). All diese Werte musst Du im Adapter eintragen, dann werden sie "abgeholt" und in Datenpunkten abgelegt. Schau Dir vielleicht mal die Threads zum Thema Solarwechselrichter an, da ist das im Prinzip genauso.
-
@joergh Das klappt bisher leider gar nicht. Egal was ich versuche, ich erhalte
Poll error count: 6 code: {"errorCode":131,"exceptionCode":1,"message":"ILLEGAL FUNCTION"}
Hab es im Holding Register mit "12" "40012" und allen Float-Typen versucht - ich komme da nicht weiter
-
@nerg schon mal mit 412 getestet
-
@nerg Mal das loggen für den Adapter auf Debug gestellt und geschaut ob im log noch etwas mehr kommt?
-
@wendy2702 @Farmer-cb Nach weiteren Versuchen: Ich musste es auf "Eingagsregister" mit "12" eingeben. Danke für eure Unterstützung
-
Seit dem Update auf 5.0.0 bekomme ich plötzlich Fehler im log für meine Abfrage der Wallbox.
Ich habe absolut nichts geändert, außer dem Update des Modbus Adapters.2022-05-13 15:14:29.915 - warn: modbus.2 (23092) Error: undefined
2022-05-13 15:14:29.916 - error: modbus.2 (23092) Request timed out.
2022-05-13 15:14:29.919 - error: modbus.2 (23092) Client in error state.
2022-05-13 15:14:29.920 - warn: modbus.2 (23092) Poll error count: 1 code: {"err":"timeout","timeout":5000}Was kann ich tun, um das weiter einzugrenzen?
-
@matis sagte in Modbus adapter:
Update auf 5.0.0
Das ist Beta
um das weiter einzugrenzen?
Wallbox mal neu gestartet / auch erreichbar .
Adapterinstanz auf DEBUG stellen , da mal schauen was los ist .
modbus.2
und was ist mit den anderen Instanzen 0 und 1
EDIT:
Abfrage der Wallbox
Welcher Adapter / Script , fragt sonst noch die Wallbox ab .
-
die anderen Instanzen (Hauskraftwerk, Wärmepumpe) laufen weiterhin ohne Fehler, da muß irgendwas in der Kombi mit dem Update und der Wallbox sein. Mehrfache Neustart auch der WB hat nichts gebracht, per IP einwandfrei erreichbar.
Stimmt da was mit dem timing nicht mehr, das vorher zufällig paßte?
So sieht debug aus:2022-05-13 16:16:57.977 info Disconnected from slave 192.168.5.13 2022-05-13 16:16:57.977 debug Closing client on purpose. 2022-05-13 16:16:56.980 debug Cleaning up request fifo. 2022-05-13 16:16:56.978 debug Clearing timeout of the current request. 2022-05-13 16:16:56.978 debug Socket closed with error 2022-05-13 16:16:56.977 error Client in error state. 2022-05-13 16:16:56.977 error Request timed out. 2022-05-13 16:16:56.977 warn Error: undefined 2022-05-13 16:16:56.897 warn Poll error count: 1 code: "App Timeout" 2022-05-13 16:16:51.976 debug [DevID_255/holdingRegs] Poll address 521 - 8 registers .... 2022-05-13 16:07:24.745 debug [DevID_255/inputRegs] Poll address 100 DONE 2022-05-13 16:07:23.994 warn Poll error count: 1 code: "App Timeout" 2022-05-13 16:07:20.308 debug [DevID_255/inputRegs] Poll address 100 - 41 registers .... 2022-05-13 16:06:59.332 info Connected to slave 192.168.5.13 2022-05-13 16:05:59.329 info Disconnected from slave 192.168.5.13 2022-05-13 16:05:59.328 debug Closing client on purpose. 2022-05-13 16:05:58.332 debug Cleaning up request fifo. 2022-05-13 16:05:58.331 debug Clearing timeout of the current request. 2022-05-13 16:05:58.331 debug Socket closed with error 2022-05-13 16:05:58.329 warn Poll error count: 1 code: {"err":"timeout","timeout":5000} 2022-05-13 16:05:58.328 error Client in error state. 2022-05-13 16:05:58.327 error Request timed out. 2022-05-13 16:05:58.327 warn Error: undefined 2022-05-13 16:05:53.324 debug [DevID_255/coils] Poll address 400 - 10 bits 2022-05-13 16:05:53.294 debug [DevID_255/disInputs] Poll address 200 - 9 bits 2022-05-13 16:05:53.293 debug [DevID_255] Poll start --------------------- ....