NEWS
Modbus adapter
-
Du hast also von der Bezeichnung her wirklich den hier: UEM80-4D R for RS485 Modbus RTU/ASCII communication?
Kommuniziert die "Originale SW" des Herstellers auch über Modbus mit dem Zähler?
Mal etwas probiert bei z.B. Holding oder Eingangsregister einzutragen?
Stimmen die Kommunikations Einstellungen mit dem was im Zähler konfiguriert ist über ein ?
-
@wendy2702
Die 10.0.0.6 ist die Adresse vom IOB, die 10.0.0.21 ist die Adresse vom CMI.Das zweite Bild ist von der CMI, dort ist die 10.0.0.6 eingetragen, damit die CMI weis wohin sie die Daten schicken soll
Fehler gefunden, man sollte auf der CMI Seite auch die richtige Adresse einstellen, hatte aus versehen eine 10 statt einer 1 stehen.
Läuft nun.
Aber ich muß den Modbus-Adapter auf Slave einstellen und die IP 0.0.0.0 verwenden, dann funktioniert es. -
@wendy2702
Ja habe den UEM80-4D R for Mudbus RTU/ASCII
Ja mit der Orginal SW kann ich die Daten auslesen am PCHolding bzw Eingangsregister habe ich eingegenben.
bekomme aber immer:
bin mir nicht sicher bezüglich der Adressen, aber wenn ich das Datenblatt richtig verstehe,
müsste bzw fängt er im register 0 an mit einem wort länge 2 wo der wert
"V1 • L-N voltage phase 1" hinterlegt sein muss. (also die Spannung von L1)
Kommunikation einstellungen müssten eigentlich passen.
9600 ist auch die Baud die am PC läuft
verbunden bin ich mit einem usb 485 Kabel
-
Adresse 0 kann nicht sein.
Versuche mal 4096
-
@wendy2702 said in Modbus adapter:
4096
mir ist was anderes aufgefallen:
sollte bei der port auswahl nicht /dev/ttyUSB0 für den adapter auftauchen?
-
okay habe mal ein neues system aufgesetzt und siehe das es läuft.
keine ahnung warum er beim alten system den dev/ttyUSB0 nicht gefunden hat.So aber nun würde mich mal interessieren wie du auf die adresse 4096 kommst die übringends funktioniert.
auch drüber 4098, 4100, 4102,.... bekomme ich werte.
Ich versteh im moment nur nicht den zusammenhang zu der aufgeführten liste bei der doku.Edit:
Okay, sorry stand auf der Leitung sind ja Hex werte 1000HEX = 4096 Dezimal -
Hallo zusammen,
ich hatte bisher FHEM im Einsatz um meinem Stromzähler (ECS/Optec Stromzähler) über Modbus RTU auszulesen. Dort ging es aber auch nur mit dem Attribut "skipGarbage", welches eine 00 in der Antwort vom Zähler ignoriert. Wieso das der Zähler macht, weiß ich nicht, aber es scheint nicht wirklich Modbus-konform zu sein und ist auch nicht abzuschalten.Nun die Frage: Gibt es beim ioBroker Modbus Adapater etwas vergleichbares? Hab gefühlt alle Optionen in den Einstellungen durch, aber nichts bringt mir den richtigen Effekt. Bekomme aufgrund dieser 00 im Log immer CRC Fehler.
Beispiel aus dem Log:
2019-10-23 17:21:05.231 - error: modbus.1 Wrong CRC for frame: 0,1,3,2,255,16,248,120
Die 0 am Anfang ist das Problem....Jemand ne Idee?
Danke euch im Voraus!
-
EDIT: Beim nochmal durchlesen, hab ichs gefunden. Anwort vom 15.08.2019. "Nicht auf 16bit ausrichten" bringt die Lösung.
Hallo zusammen. Ich habe ein Problem beim Auslesen von diskreten Eingängen (1bit). Adresse ist laut Beschreibung 205
und ich bekomme mit einem anderen Programm auch die erwartete 1 angezeigt.
Frage ich nun unter dieser Adresse den Wert mit dem Modbus Adapter ab, bekomme ich keinen Wert und der Adapter geht auf Störung.
Andere Werte funktionieren problemlos. Beispiel Adresse 300 im Holding läuft.
Was mache ich falsch?
Gruß
Timo
-
Hallo, ich versuche gerade verzweifelt einen Wert in ein Register zu schreiben. Es hat scheinbar irgendwas mit dem Funktionscode FC16 bzw. FC6 zu tun. Das Gerät akzeptiert nur FC16. Getestet hab ich das mit dem Programm "Modbus Poll". Dort tritt der Fehler "illigal funktion" beim Versuch mit FC6 auf. Mit FC16 funktioniert es. Hier screenshots zu den Einstellungen in "Modbus Poll":
In ioBroker sehen meine Einstellungen so aus:
Angezeigt werden die Werte, beim Versuch zu schreiben wird der Wert rot und folgende Fehler im Log:
Habs mit Version 2.0.9 und 3.0.0 probiert. MaxLeseanforderungslänge hatte ich auch schon auf 1 gestellt (Hatte das irgendwo gelesen). Im ChangeLog der Version 0.3.9 steht, dass immer mit "Write Multiple Register" gearbeitet wird. Wurde das vielleicht irgendwann wieder geändert?
Ich weiß nicht weiter. Kann einer von euch helfen?
Gruß
Timo -
美的中央空调网关能否通过modbus tcp 接入那
https://cac.midea.com/product/Control-Device/Network-Control/CCM15
-
Hallo,
Ich bin ein umsteiger von OpenHab zu IoBroker.
Habe mit dem Modbus ähnliche probleme wie @TimoS .
Ich kann mit dem Adapter die Werte (Holding und Eingangsregister) aus mein Lüftungsgerät auslesen. Kann aber nicht ins Holding schreiben.
modbus.0 2019-12-21 13:42:24.032 warn (7404) Poll error count: 1 code: "App Timeout" modbus.0 2019-12-21 13:42:23.189 error (7404) Cannot write [1003]: {"err":"timeout"} modbus.0 2019-12-21 13:42:23.187 error (7404) Request timed out. modbus.0 2019-12-21 13:42:23.184 warn (7404) Error: undefined modbus.0 2019-12-21 13:42:18.212 error (7404) unknown function code: 134
Dieses hatte bei OpenHab ohne probleme Funktioniert.
Link zur Docu vom Lüftungsgerät
ZurZeit ist der Modbus 2.0.9 installiert. den 3.0.0 kann ich nicht Installieren weder über SSH mit npm i iobroker.modbus oder über das Webinterface.adapter etc. sind alle soweit aktuell. (Laut Webinterface)
MfG Umsteiger
Edit: Ok habe herrausgefunden wie man den Modbus3.0 installiert.
Wird der FC06 oder der FC16 beim schreiben verwendet.kann man das evtl. im log sehen?
-
darkbrain85
wendy2702
Habt Ihr den SDM120 mit ioBroker zum Laufen bekommen? -
-
@wendy2702 Danke, dann hatte ich das missverstanden. Der Solarlog Pro1 Wechselstrom-Modbuszähler ist mir mit 80 EUR zu teuer für die geplante Anwendung.
-
Hallo,
ich bin Umsteiger von FHEM und hatte dort schon einige Jahre meinen Stromzähler Eastron SDM630 per Modbus angeschlossen und ausgelesen.
Nun habe ich diesen auch auf iobroker umgezogen. Beim Zähler hang ein Raspberry PI der als iobroker Slave läuft. An dem Raspberry PI steckt der Modbus USB Serial Wandler (https://www.reichelt.de/raspberry-pi-usb-rs485-schnittstelle-ch340c-rpi-usb-rs485-p242783.html?PROVID=2788&gclid=Cj0KCQjw-Mr0BRDyARIsAKEFbecS4y94rfFFcUSRfe1_YIbp6PDk98SJYgdq9VMpRSjqpTYKJmhm52MaAosbEALw_wcB&&r=1).
Diese Hardwarekombination lief schon mehrere Jahre unter fhem absolut stabil.Nun habe ich alles in iobroker eingerichtet und es hat auch auf anhieb funktioniert. Im Modbusadapter habe ich den USB Stick konfiguriert und das Eingangregister befüllt. Daten kommen an, soweit alles gut.
Nun das Problem:
Alle paar Minuten, manchmal auch nach einer Stunde geht der Modbus adapter auf "Gelb" und ich bekomme keine Daten mehr. Starte ich ihn neu läuft es wieder eine gewisse Zeit. Im Log habe ich bisher einmal die Meldung "Disconnect from Slave" gehabt, dies kommt aber auch nicht immer wenn der Adapter auf Gelb geht.Momentan habe ich echt keine Idee mehr was ich noch machen kann um die Verbindung stabil zum laufen zu bekommen.
Ich bin für jeden Tip dankbar, vielleicht hatte ja schon einer von euch ein ähnliches Problem.
Schon mal vielen Dank!
Gruß Lars
-
Zum testen habe ich nun noch die Werte reduziert und habe nur 5 Werte im Eingangsregister eingetragen. Gefühlt bricht die Verbindung weniger ab, von stabil ist aber noch lange keine Rede.
Nun hatte ich auch wieder ein Eintrag im Log:
modbus.0 2020-04-12 12:49:49.443 info (1902) Disconnected from slave modbus.0 2020-04-12 12:49:48.444 warn (1902) Poll error count: 27 code: {"err":"timeout"} modbus.0 2020-04-12 12:49:48.443 error (1902) Request timed out. modbus.0 2020-04-12 12:49:48.441 warn (1902) Error: undefined modbus.0 2020-04-12 12:49:43.437 info (1902) Connected to slave
-
Hab nun bei Github gesehen, dass es eine Version 3.0.1 gibt, bei der wohl auch ein "Serial Timeout" Problem gefixt sein soll.
3.0.1 (2020-01-23)
(BlackBird77) Fixes for Serial Timeouts done
(bluefox) RefactoringAlso nun die 3.0.1 von Github installiert. Leider bekomme ich mit dieser Version überhaupt keine Verbindung. Modbus Adapter bleibt gelb.
Im Log ist leider auch nichts brauchbares zu sehen:modbus.0 2020-04-12 14:54:00.144 info (1268) List of port: [{"comName":"/dev/ttyAMA0"},{"manufacturer":"1a86","pnpId":"usb-1a86_USB2.0-Serial-if00-port0","vendorId":"1a86","productId":"7523","comName":"/dev/ttyUSB0"}] modbus.0 2020-04-12 14:52:49.600 info (1268) List of port: [{"comName":"/dev/ttyAMA0"},{"manufacturer":"1a86","pnpId":"usb-1a86_USB2.0-Serial-if00-port0","vendorId":"1a86","productId":"7523","comName":"/dev/ttyUSB0"}] modbus.0 2020-04-12 14:49:28.214 info (1268) starting. Version 3.0.1 in /opt/iobroker/node_modules/iobroker.modbus, node: v10.20.0
-
Loggen für die Instanz mal auf "Debug" stellen.
-
@wendy2702 :Danke für den Hinweis. Habe nun die Modbus Instanz auf Debug gestellt. Leider ist der Log auch nicht viel aussagekräftiger.
Hier der Log von Version 3.0.0. Zuerst läuft die Kommunikation noch, dann kommt der Timeout.
modbus.0 2020-04-13 11:19:58.842 debug (819) connect to serial /dev/ttyUSB0 with 9600 modbus.0 2020-04-13 11:18:58.846 debug (819) Cleaning up request fifo. modbus.0 2020-04-13 11:18:58.845 debug (819) Clearing timeout of the current request. modbus.0 2020-04-13 11:18:58.839 info (819) Disconnected from slave modbus.0 2020-04-13 11:18:57.838 warn (819) Poll error count: 2 code: {"err":"timeout"} modbus.0 2020-04-13 11:18:57.837 error (819) Request timed out. modbus.0 2020-04-13 11:18:57.835 warn (819) Error: undefined modbus.0 2020-04-13 11:18:52.833 debug (819) Poll inputRegs DevID(1) address 0 - 88 bytes modbus.0 2020-04-13 11:18:52.831 debug (819) Poll device 1 modbus.0 2020-04-13 11:18:52.828 info (819) Connected to slave modbus.0 2020-04-13 11:18:52.819 debug (819) connect to serial /dev/ttyUSB0 with 9600 modbus.0 2020-04-13 11:17:52.824 debug (819) Cleaning up request fifo. modbus.0 2020-04-13 11:17:52.823 debug (819) Clearing timeout of the current request. modbus.0 2020-04-13 11:17:52.815 info (819) Disconnected from slave modbus.0 2020-04-13 11:17:51.813 warn (819) Poll error count: 1 code: {"err":"timeout"} modbus.0 2020-04-13 11:17:51.811 error (819) Request timed out. modbus.0 2020-04-13 11:17:51.809 warn (819) Error: undefined modbus.0 2020-04-13 11:17:46.805 debug (819) Poll inputRegs DevID(1) address 0 - 88 bytes modbus.0 2020-04-13 11:17:46.804 debug (819) Poll device 1 modbus.0 2020-04-13 11:17:45.643 debug (819) Poll inputRegs DevID(1) address 334 - 48 bytes modbus.0 2020-04-13 11:17:45.459 debug (819) Poll inputRegs DevID(1) address 224 - 46 bytes modbus.0 2020-04-13 11:17:45.389 debug (819) Poll inputRegs DevID(1) address 200 - 8 bytes modbus.0 2020-04-13 11:17:45.337 debug (819) Poll inputRegs DevID(1) address 100 - 8 bytes modbus.0 2020-04-13 11:17:45.014 debug (819) Poll inputRegs DevID(1) address 0 - 88 bytes modbus.0 2020-04-13 11:17:45.013 debug (819) Poll device 1 modbus.0 2020-04-13 11:17:43.852 debug (819) Poll inputRegs DevID(1) address 334 - 48 bytes modbus.0 2020-04-13 11:17:43.678 debug (819) Poll inputRegs DevID(1) address 224 - 46 bytes modbus.0 2020-04-13 11:17:43.606 debug (819) Poll inputRegs DevID(1) address 200 - 8 bytes modbus.0 2020-04-13 11:17:43.553 debug (819) Poll inputRegs DevID(1) address 100 - 8 bytes modbus.0 2020-04-13 11:17:43.233 debug (819) Poll inputRegs DevID(1) address 0 - 88 bytes modbus.0 2020-04-13 11:17:43.231 debug (819) Poll device 1
Hier der Log mit Version 3.0.1 Modbus Adapter bleibt gelb:
modbus.0 2020-04-13 12:01:57.100 info (1126) starting. Version 3.0.1 in /opt/iobroker/node_modules/iobroker.modbus, node: v10.20.0 modbus.0 2020-04-13 12:01:56.275 debug (1126) statesDB connected modbus.0 2020-04-13 12:01:56.272 debug (1126) States connected to redis: 192.168.0.117:9000 modbus.0 2020-04-13 12:01:56.248 debug (1126) States create System PubSub Client modbus.0 2020-04-13 12:01:56.236 debug (1126) States create User PubSub Client modbus.0 2020-04-13 12:01:56.216 debug (1126) Redis States: Use Redis connection: 192.168.0.117:9000 modbus.0 2020-04-13 12:01:56.207 debug (1126) objectDB connected modbus.0 2020-04-13 12:01:56.183 debug (1126) Objects connected to redis: 192.168.0.117:9001 modbus.0 2020-04-13 12:01:56.145 debug (1126) Objects client initialize lua scripts modbus.0 2020-04-13 12:01:56.142 debug (1126) Objects create User PubSub Client modbus.0 2020-04-13 12:01:56.138 debug (1126) Objects create System PubSub Client modbus.0 2020-04-13 12:01:56.122 debug (1126) Objects client ready ... initialize now modbus.0 2020-04-13 12:01:55.991 debug (1126) Redis Objects: Use Redis connection: 192.168.0.117:9001 host.iobroker2 2020-04-13 12:01:53.219 info instance system.adapter.modbus.0 started with pid 1126 host.iobroker2 2020-04-13 12:01:51.344 info instance system.adapter.modbus.0 terminated with code 156 (156) host.iobroker2 2020-04-13 12:01:50.682 info stopInstance system.adapter.modbus.0 send kill signal modbus.0 2020-04-13 12:01:50.654 info (1111) Terminated (START_IMMEDIATELY_AFTER_STOP): Without reason modbus.0 2020-04-13 12:01:50.648 info (1111) terminating modbus.0 2020-04-13 12:01:50.640 info (1111) Got terminate signal TERMINATE_YOURSELF
-
@lstorm Zeig doch mal deine Konfiguration, hab auch den SDM630 hier am laufen allerdings mit einem Modbus TCP Gateway. Sollte aber vom Prinzip her identisch sein.