NEWS
Modbus adapter
-
@glasfaser sagte in Modbus adapter:
aber es lag an Shelly
ohne jetzt den Link gelesen zu haben, was hat shelly mit modbus zu schaffen?
-
@glasfaser said in Modbus adapter:
aber es lag an Shelly
Also bei mir hat der Shelly Adapter keinen Einfluss auf das Connect/Disconnect Verhalten. Auch eine Datenabfrageintervall von 5000ms zeigt keine wirkliche Veränderung. Ich werden den Wert noch höher machen und beobachten.
Aber ist es denn allgemein vorgesehen, dass der Adapter connceted, Daten abruft und dann wieder disconected?
-
@schtallone ich hab das Verhalten nicht.
weder bei dem einen mit tcp, noch bei den anderen mit RTU.Kann aber sein, dass nur meine alte Admin version das nicht im log zeigt.
-
Hallo, ich habe eine kurze Modbus-Anfängerfrage. Ich habe meine Wärmepumpe eingerichtet (Typ: Master). Bezüglich der Eingangsregister ist alles klar (sind ja read only), aber was ich nicht verstehe sind die Holding Register. Abfrage und CW, aus welcher Sicht ist das gesehen? Was muss ich einstellen, wenn ich nur von der Wärmepumpe lesen möchte?
-
@benni86 sagte in Modbus adapter:
was ich nicht verstehe sind die Holding Register. Abfrage und CW, aus welcher Sicht ist das gesehen? Was muss ich einstellen, wenn ich nur von der Wärmepumpe lesen möchte?
wieso willst du Holdingregister nur lesen?
Holdingregister sind zum Beschreiben.Abfrage ist klar, wenn du deren Wert abfragen willst, Cyclic Write solltest du tunlichst vermeiden wenn die Werte in ein EEPROM geschrieben werden.
Das hält nur ca. 100.000 Schreibvorgänge -
@homoran danke für deine Erklärung. Wieso ich es nur lesen will? Mir reicht erstmal die Anzeige des Betriebsmodi, habe grade keinen usecase diesen auch zu ändern. Der Hinweis ist gut mit den Schreibzyklen: das vermeide ich zuverlässig wenn ich CW deaktiviere? Wenn es sich bei CW ums Schreiben ins Register des Geräts handelt, wieso gibts die Option dann auch bei Eingangsregistern die doch nur zum lesen sind? Und ist mein beobachtetes Verhalten korrekt, dass wenn ich bei Holding Registern poll nicht aktiviert habe dann liest er auch keine Werte? Schreiben würde er sie auch nur mit aktiviertem poll meiner Beobachtung nach. Ist mein Verständnis korrekt?
-
@Bluefox und Community: Ich nutze den Adapter für meinen Wechselrichter und meine Wärmepumpe. Vielen Dank für diesen Adapter!
Mit dem Wechselrichter funktioniert das super und eigentlich auch mit der Wärmepumpe. Neuerdings ist der Adapter aber immer gelb und im Log habe ich die Meldung
"Poll error count: 6 code: "App Timeout"
Ich habe versucht das nachzuvollziehen, indem ich mal Logstufe silly gewählt und per Wireshark den Traffic aufgezeichnet habe.
Hier ein Auszug aus dem Log:
modbus.0 2023-12-04 21:29:46.368 debug [DevID_1/inputRegs] Poll address 31104 DONE modbus.0 2023-12-04 21:29:46.368 debug [DevID_1/inputRegs] Poll address 36101 DONE modbus.0 2023-12-04 21:29:46.366 debug [DevID_1/inputRegs] Poll address 31104 - 2 registers modbus.0 2023-12-04 21:29:46.366 debug [DevID_1/inputRegs] Poll address 36101 - 4 registers modbus.0 2023-12-04 21:29:16.563 warn Poll error count: 7 code: "App Timeout" modbus.0 2023-12-04 21:29:16.368 debug [DevID_1/inputRegs] Poll address 30006 DONE modbus.0 2023-12-04 21:29:16.367 debug [DevID_1/inputRegs] Poll address 30006 - 1 registers
Per Wireshark wirkt auch alles wie es soll, d.h. query für register 30006, response und dann noch ein ACK, alles in time. Anschließend der nächste query für 36101 inkl. response und ACK. Zwischen diesen beiden Abfragen kommt die Fehlermeldung "Poll error count: 7 code: "App Timeout""
Hier die allgemeinen Settings für die Instanz:
Long Story short, die Kommunikation mit der Wärmepumpe sieht gut aus. Die Meldung kann ich mir nicht erklären - liegt evtl. an den allgemeinen Einstellungen?
Danke für eure Hilfe!
-
@socke85 Push
-
@socke85 sagte in Modbus adapter:
@socke85 Push
und wo pushst du die Konfigurationen?
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1 -
@bkuerby
Hallo!
Hast du deine WPCU Abfrage damals zum laufen bekommen?
Ich will das jetzt auch gerade umsetzen. Ich habe dazu eine Raspi 4 mit IOBroker und Modbus Adapter. Verbunden über einen Seriell zu USB Adapter.
Ich bekomme auch schon bei den meisten Registern Werte, nur ergeben diese Werte keinen Sinn!
Hast du vielleicht eine Lösung, wie du die Werte umrechnest? -
Update: 1 aufgrund der sehr freundlichen Hinweise wurden die Logs mit eingefügt.
Moin Freunde des Modbuses,
ich habe folgende Modbus RTU 4 Channel Karte: RS485 TTL Controller welche dann mit einem Eletechsup ET69C02 Modbus TCP fähig wird.
Über den ioBroker Adpater schaffe ich alle 4 Kanäle zu schalten, allerdings nur für das Relais 1 auch den Status abzufragen.
Habe mich zunächst mit ModBusTool von Github herangetastet. Es scheint, dass ich den Status der einzelnen Relais nur unter der Adresse 0 abfragen kann. Kann man hier auch schick sehen (mit read coils):
Leider bekomme ich das im Modbus Adapter nicht hin. Wie auch im ModbusTool bekomme ich einen Poll / error code 2 von der Platine das die diese abfrage verweigert, sobald ich pro Relais eine coil abfrage mache auf der jeweiligen Adresse.
Update (Log nachträglich eingefügt, da ich mittlerweile ein Platine mit 8 Relais dran habe sind hier mehr Coils als in den anderen Screenshots)
modbus.2 2025-08-24 14:31:59.990 info Disconnected from slave 10.8.2.14 modbus.2 2025-08-24 14:31:59.990 debug Closing client on purpose. modbus.2 2025-08-24 14:31:58.992 debug Cleaning up request fifo. modbus.2 2025-08-24 14:31:58.992 debug Clearing timeout of the current request. modbus.2 2025-08-24 14:31:58.992 debug Socket closed with error modbus.2 2025-08-24 14:31:58.990 warn [DevID_4] Poll error count: 1 code: {"err":"timeout","timeout":5000} modbus.2 2025-08-24 14:31:58.989 error Client in error state. modbus.2 2025-08-24 14:31:58.989 error Request timed out. modbus.2 2025-08-24 14:31:58.989 warn Error: undefined modbus.2 2025-08-24 14:31:53.988 debug [DevID_4/coils] Poll address 0 - 1 bits modbus.2 2025-08-24 14:31:53.987 debug [DevID_4] Poll start --------------------- modbus.2 2025-08-24 14:31:53.987 info Connected to slave 10.8.2.14 modbus.2 2025-08-24 14:31:53.872 debug Initialize Objects for holdingRegs: [] modbus.2 2025-08-24 14:31:53.872 debug Initialize Objects for inputRegs: [] modbus.2 2025-08-24 14:31:53.872 debug Add coils.4.7_Relais-4-8: {"_id":"coils.4.7_Relais-4-8","type":"state","common":{"name":"Relais-4-8","role":"switch","type":"boolean","read":false,"write":true,"def":false},"native":{"regType":"coils","address":7,"deviceId":4,"poll":false,"wp":false}} modbus.2 2025-08-24 14:31:53.871 debug Add coils.4.6_Relais-4-7: {"_id":"coils.4.6_Relais-4-7","type":"state","common":{"name":"Relais-4-7","role":"switch","type":"boolean","read":false,"write":true,"def":false},"native":{"regType":"coils","address":6,"deviceId":4,"poll":false,"wp":false}} modbus.2 2025-08-24 14:31:53.871 debug Add coils.4.5_Relais-4-6: {"_id":"coils.4.5_Relais-4-6","type":"state","common":{"name":"Relais-4-6","role":"switch","type":"boolean","read":false,"write":true,"def":false},"native":{"regType":"coils","address":5,"deviceId":4,"poll":false,"wp":false}} modbus.2 2025-08-24 14:31:53.871 debug Add coils.4.4_Relais-4-5: {"_id":"coils.4.4_Relais-4-5","type":"state","common":{"name":"Relais-4-5","role":"switch","type":"boolean","read":false,"write":true,"def":false},"native":{"regType":"coils","address":4,"deviceId":4,"poll":false,"wp":false}} modbus.2 2025-08-24 14:31:53.871 debug Add coils.4.3_Relais-4-4: {"_id":"coils.4.3_Relais-4-4","type":"state","common":{"name":"Relais-4-4","role":"switch","type":"boolean","read":false,"write":true,"def":false},"native":{"regType":"coils","address":3,"deviceId":4,"poll":false,"wp":false}} modbus.2 2025-08-24 14:31:53.871 debug Add coils.4.2_Relais-4-3: {"_id":"coils.4.2_Relais-4-3","type":"state","common":{"name":"Relais-4-3","role":"switch","type":"boolean","read":false,"write":true,"def":false},"native":{"regType":"coils","address":2,"deviceId":4,"poll":false,"wp":false}} modbus.2 2025-08-24 14:31:53.871 debug Add coils.4.1_Relais-4-2: {"_id":"coils.4.1_Relais-4-2","type":"state","common":{"name":"Relais-4-2","role":"switch","type":"boolean","read":false,"write":true,"def":false},"native":{"regType":"coils","address":1,"deviceId":4,"poll":false,"wp":false}} modbus.2 2025-08-24 14:31:53.871 debug Add coils.4.0_Relais-4-1: {"_id":"coils.4.0_Relais-4-1","type":"state","common":{"name":"Relais-4-1","role":"switch","type":"boolean","read":true,"write":true,"def":false},"native":{"regType":"coils","address":0,"deviceId":4,"poll":true,"wp":false}} modbus.2 2025-08-24 14:31:53.870 debug Initialize Objects for coils: [{"_address":0,"deviceId":4,"name":"Relais-4-1","description":"Relais-4-1","formula":"","role":"switch","room":"","poll":true,"wp":false,"cw":false,"isScale":false,"address":0,"id":"coils.4.0_Relais-4-1","len":1},{"_address":1,"deviceId":4,"name":"Relais-4-2","description":"Relais-4-2","formula":"","role":"switch","room":"","poll":false,"wp":false,"cw":false,"isScale":false,"address":1,"id":"coils.4.1_Relais-4-2"},{"_address":2,"deviceId":4,"name":"Relais-4-3","description":"Relais-4-3","formula":"","role":"switch","room":"","poll":false,"wp":false,"cw":false,"isScale":false,"address":2,"id":"coils.4.2_Relais-4-3"},{"_address":3,"deviceId":4,"name":"Relais-4-4","description":"Relais-4-4","formula":"","role":"switch","room":"","poll":false,"wp":false,"cw":false,"isScale":false,"address":3,"id":"coils.4.3_Relais-4-4"},{"_address":4,"deviceId":4,"name":"Relais-4-5","description":"Relais-4-5","formula":"","role":"switch","room":"","poll":false,"wp":false,"cw":false,"isScale":false,"address":4,"id":"coils.4.4_Relais-4-5"},{"_address":5,"deviceId":4,"name":"Relais-4-6","description":"Relais-4-6","formula":"","role":"switch","room":"","poll":false,"wp":false,"cw":false,"isScale":false,"address":5,"id":"coils.4.5_Relais-4-6"},{"_address":6,"deviceId":4,"name":"Relais-4-7","description":"Relais-4-7","formula":"","role":"switch","room":"","poll":false,"wp":false,"cw":false,"isScale":false,"address":6,"id":"coils.4.6_Relais-4-7"},{"_address":7,"deviceId":4,"name":"Relais-4-8","description":"Relais-4-8","formula":"","role":"switch","room":"","poll":false,"wp":false,"cw":false,"isScale":false,"address":7,"id":"coils.4.7_Relais-4-8"}] modbus.2 2025-08-24 14:31:53.870 debug Initialize Objects for disInputs: [] modbus.2 2025-08-24 14:31:53.827 info starting. Version 6.3.2 in /opt/iobroker/node_modules/iobroker.modbus, node: v20.19.4, js-controller: 7.0.6
Log aus dem ModBus Tool, leider nur als Screenshot möglich.
Meine Modbus Adapter Einstellungen sind wie folgt:
Allgemein:
Diskrete Ausgänge:
Hat einer von Euch eine Idee, wie ich als Datenpunkt den Status aus Adresse 0 bekomme? Dann kann ich zwar umständlich aber per Skript mir manuelle Datenpunkte schalten. Grund ist, das ich den aktuellen Status von Relais 2-4 nicht sehe:
Grüße
-
@fliegema sagte in Modbus adapter:
allerdings nur für das Relais 1 auch den Status abzufragen.
du hast ja auch nur bei 1 die Abfrage aktiviert
-
@homoran said in Modbus adapter:
@fliegema sagte in Modbus adapter:
allerdings nur für das Relais 1 auch den Status abzufragen.
fu hast ja auch nur bei 1 die Abfrage aktiviert
Hi, danke für die schnelle Rückmeldung. Dies ist bewusst so, weil sobald ich bei den anderen Adressen die Abfrage setze, ich einen Poll error / timeout bekomme. Genau das gleiche auch mit dem ModbusTool.
-
@fliegema sagte in Modbus adapter:
Dies ist bewusst so,
dann gehört diese Info auch bewusst in den Post!
@fliegema sagte in Modbus adapter:
einen Poll error
und der wäre?
geheim? -
@homoran said in Modbus adapter:
@fliegema sagte in Modbus adapter:
Dies ist bewusst so,
dann gehört diese Info auch bewusst in den Post!
@fliegema sagte in Modbus adapter:
einen Poll error
und der wäre?
geheim?ganz und gar nicht, jedoch steht nur ein timeout drin (erwähnt) und via ModBusTool ein Error Code 2 sprich Platine verweigert die Abfrage (auch erwähnt)
-
@fliegema sagte in Modbus adapter:
erwähnt
hast du ohne Kennzeichnung die schwarze Briefmarke später hinzugefügt?
LOGS immer als text in code-tags!
EDITs immer kennzeichnen -
@homoran said in Modbus adapter:
@fliegema sagte in Modbus adapter:
erwähnt
hast du ohne Kennzeichnung die schwarze Briefmarke später hinzugefügt?
ich habe die beiden Screenshots unter den bestehenden Text (erwähnt) nachträglich aufgrund Deines Beitrages eingefügt.
-
@fliegema
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1das ist aber auch kein debug-log