Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Modbus Adapter - Unterstützung für RTU over TCP

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    324

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.5k

Modbus Adapter - Unterstützung für RTU over TCP

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
60 Beiträge 6 Kommentatoren 10.5k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • BluefoxB Offline
    BluefoxB Offline
    Bluefox
    schrieb am zuletzt editiert von
    #42

    Kannst du lib/modbus-tcp-rtu-client.js die Zeile 135 modifizieren

    this.logError('Wrong CRC for frame: ' + data.toArrayBuffer().join(', '));
    
    

    ? Da ist komische Antwort.

    1 Antwort Letzte Antwort
    0
    • T Offline
      T Offline
      tschombe
      schrieb am zuletzt editiert von
      #43

      Hab die Zeile ausgebessert, dann Adapter gestoppt und neu gestartet:

      Dabei habe ich 2 Werte geschrieben, der erste ist tatsächlich angekommen am Gerät,

      aber in der admin-Anzeige blieb er auf dem alten Wert (vermutlich weil keine Bestätigung kam?),

      das muss der Log-Eintrag mit dem Timeout gewesen sein.

      Dann hat sich der Adapter automatisch neu verbunden und den gesetzten Wert korrekt zurückgelesen,

      dann wollte ich den 2. Wert schreiben und die Exceptions sind aufgetreten.

      bekomme jetzt diese Fehlermeldung:

      host-lxccuhost2	2016-10-22 10:27:07.360	info	Restart adapter system.adapter.modbus.0 because enabled
      host-lxccuhost2	2016-10-22 10:27:07.359	error	instance system.adapter.modbus.0 terminated with code 0 (OK)
      uncaught	2016-10-22 10:27:07.299	error	exception: Object ��� has no method 'toArrayBuffer'
      TypeError:	2016-10-22 10:27:07.287	error	at TCP.onread (net.js:526:21)
      TypeError:	2016-10-22 10:27:07.287	error	at Socket.Readable.push (_stream_readable.js:127:10)
      TypeError:	2016-10-22 10:27:07.287	error	at readableAddChunk (_stream_readable.js:165:9)
      TypeError:	2016-10-22 10:27:07.287	error	at emitReadable (_stream_readable.js:404:5)
      TypeError:	2016-10-22 10:27:07.287	error	at emitReadable_ (_stream_readable.js:408:10)
      TypeError:	2016-10-22 10:27:07.287	error	at Socket.EventEmitter.emit (events.js:92:17)
      TypeError:	2016-10-22 10:27:07.287	error	at Socket. (_stream_readable.js:746:14)
      TypeError:	2016-10-22 10:27:07.287	error	at Socket.EventEmitter.emit (events.js:95:17)
      TypeError:	2016-10-22 10:27:07.287	error	at Object. (/opt/iobroker/node_modules/iobroker.modbus/lib/modbus-tcp-rtu-client.js:135:66)
      TypeError:	2016-10-22 10:27:07.287	error	Object  has no method 'toArrayBuffer'
      uncaught	2016-10-22 10:27:07.277	error	exception: Object  has no method 'toArrayBuffer'
      modbus-0	2016-10-22 10:27:07.237	info	Connected to slave
      modbus-0	2016-10-22 10:27:06.226	info	Disconnected from slave 192.168.2.20
      modbus-0	2016-10-22 10:27:06.221	error	Cannot write [1]: {"err":"timeout"}
      modbus-0	2016-10-22 10:26:45.150	info	Connected to slave
      modbus-0	2016-10-22 10:26:44.876	warn	Serial is not available
      
      
      1 Antwort Letzte Antwort
      0
      • BluefoxB Offline
        BluefoxB Offline
        Bluefox
        schrieb am zuletzt editiert von
        #44

        Ich habe Fehler gemacht es muss

        this.logError('Wrong CRC for frame: ' + pdu.toArrayBuffer().join(', '));
        

        sein

        1 Antwort Letzte Antwort
        0
        • T Offline
          T Offline
          tschombe
          schrieb am zuletzt editiert von
          #45

          Jetzt kommt folgender Fehler:

          host-conentfst08	2016-10-22 14:38:19.903	error	instance system.adapter.modbus.0 terminated with code 0 (OK)
          modbus-0	2016-10-22 14:38:19.887	info	terminating
          TypeError:	2016-10-22 14:38:19.882	error	at TCP.onread (net.js:538:20)
          TypeError:	2016-10-22 14:38:19.882	error	at Socket.Readable.push (_stream_readable.js:126:10)
          TypeError:	2016-10-22 14:38:19.882	error	at readableAddChunk (_stream_readable.js:163:16)
          TypeError:	2016-10-22 14:38:19.882	error	at Socket.emit (events.js:107:17)
          TypeError:	2016-10-22 14:38:19.882	error	at Object. (D:\_\node_modules\iobroker.modbus\lib\modbus-tcp-rtu-client.js:135:65)
          TypeError:	2016-10-22 14:38:19.882	error	undefined is not a function
          uncaught	2016-10-22 14:38:19.882	error	exception: undefined is not a function
          modbus-0	2016-10-22 14:38:19.857	info	Connected to slave
          modbus-0	2016-10-22 14:38:18.846	info	Disconnected from slave 192.168.2.20
          modbus-0	2016-10-22 14:38:18.845	error	Cannot write [1]: {"err":"timeout"}
          modbus-0	2016-10-22 14:37:26.468	info	Connected to slave
          modbus-0	2016-10-22 14:37:26.318	info	starting. Version 0.4.4 in D:/_/node_modules/iobroker.modbus
          host-conentfst08	2016-10-22 14:37:25.733	info	instance system.adapter.modbus.0 started with pid 21708
          
          
          1 Antwort Letzte Antwort
          0
          • BluefoxB Offline
            BluefoxB Offline
            Bluefox
            schrieb am zuletzt editiert von
            #46

            Ich habe auf dem git noch mal was gefixt.

            Allerdings, das ist nur debug Ausgabe, die ich noch mal analysieren muss um auf die Lösung zu kommen.

            Es wäre sehr praktisch, wenn du mal WebStorm Umgebung installieren konntest.

            Oder TeamViewer?

            1 Antwort Letzte Antwort
            0
            • T Offline
              T Offline
              tschombe
              schrieb am zuletzt editiert von
              #47

              ich versuch mal Webstorm hier vernünftig zum Laufen zu bringen!!!

              Bin allerdings heute und morgen dann weg, vielleicht könnten wir echt

              nächste Woche mal eine TeamViewer Sitzung machen, dann würdest du direkt das Live-Verhalten sehen

              (und ich würd was über Webstrom und Debugging lernen).

              Das wäre echt cool!!!

              Ich setz mal alles auf und meld mich

              1 Antwort Letzte Antwort
              0
              • E Offline
                E Offline
                enricoh831
                schrieb am zuletzt editiert von
                #48

                Hi, ich bin auch langsam wieder auf dem weg an meiner haussteueung zu arbeiten. Nach dem ich ja aussversehen alle meine arduino Sketche gelöscht habe muss ich langsam mal wieder von vorne anfangen.

                Habt ihr schon mal versucht auf dem weg mit dem com Server auch mal mehrere Rtu slaves abzufragen und zu beschreiben ?

                Iobroker agiert ja jetzt als rtu master und liest und schreib die jeweiligen Register.

                Das war auch damals genau mein Problem weil wenn der arduino master war dann konnte ich zwar problemlos alles per TCP oder matt zu io broker schicken aber aber zurück war das Problem.

                Wenn jetzt nur noch io broker der master ist dann steht meiner eigenen slaves nix mehr im Wege ausser ich selbst :)

                Gesendet von meinem AEON mit Tapatalk

                1 Antwort Letzte Antwort
                0
                • T Offline
                  T Offline
                  tschombe
                  schrieb am zuletzt editiert von
                  #49

                  Hi,

                  ich war jetzt leider beruflich unterwegs und muss gleich wieder los, konnte aber mal kurz testen.

                  Bei mir ist das Verhalten beim Schreiben unterschiedlich, aktuell erhalte ich eine Timeout Fehlermeldung,

                  anschliessend tut sich nichts mehr (Poll Timeout)

                  modbus-0	2016-10-25 07:26:18.811	warn	Poll error count: 1 code: {"err":"timeout"}
                  modbus-0	2016-10-25 07:26:08.793	info	Connected to slave
                  modbus-0	2016-10-25 07:26:07.960	info	starting. Version 0.4.4 in D:/_/node_modules/iobroker.modbus
                  host-conentfst08	2016-10-25 07:26:00.381	info	instance system.adapter.modbus.0 started with pid 8868
                  
                  

                  Beim zweiten Versuch (Neustart des Adapters) habe ich wieder einen Timeout, da allerdings einen Write-Timeout,

                  anschliessend erfolgte aber eine Exception und daraufhin ein automatischer Neustart:

                   <code>host-conentfst08	2016-10-25 07:33:02.956	info	Restart adapter system.adapter.modbus.0 because enabled
                  host-conentfst08	2016-10-25 07:33:02.956	error	instance system.adapter.modbus.0 terminated with code 0 (OK)
                  modbus-0	2016-10-25 07:33:02.939	info	terminating
                  TypeError:	2016-10-25 07:33:02.934	error	at TCP.onread (net.js:538:20)
                  TypeError:	2016-10-25 07:33:02.934	error	at Socket.Readable.push (_stream_readable.js:126:10)
                  TypeError:	2016-10-25 07:33:02.934	error	at readableAddChunk (_stream_readable.js:163:16)
                  TypeError:	2016-10-25 07:33:02.934	error	at Socket.emit (events.js:107:17)
                  TypeError:	2016-10-25 07:33:02.934	error	at Object. (D:\_\node_modules\iobroker.modbus\lib\modbus-tcp-rtu-client.js:103:29)
                  TypeError:	2016-10-25 07:33:02.934	error	at Function.Buffer.concat (buffer.js:215:9)
                  TypeError:	2016-10-25 07:33:02.934	error	undefined is not a function
                  uncaught	2016-10-25 07:33:02.934	error	exception: undefined is not a function
                  modbus-0	2016-10-25 07:33:02.904	info	Connected to slave
                  modbus-0	2016-10-25 07:33:01.895	info	Disconnected from slave 192.168.2.20
                  modbus-0	2016-10-25 07:33:01.895	error	Cannot write [1]: {"err":"timeout"}
                  modbus-0	2016-10-25 07:32:41.349	info	Connected to slave
                  modbus-0	2016-10-25 07:32:41.164	info	starting. Version 0.4.4 in D:/_/node_modules/iobroker.modbus
                  [code][/code]</code>
                  

                  Wenn du mal Zeit / Lust hast könnten wir mal abends eine TeamViewer Session machen. Ich hab mir

                  jetzt Webstorm installiert, komm aber nicht so recht weiter. Bin abends immer so ab 18 Uhr eigentlich zu Hause

                  wenn berufl. nix dazwischenkommt

                  1 Antwort Letzte Antwort
                  0
                  • T Offline
                    T Offline
                    tschombe
                    schrieb am zuletzt editiert von
                    #50

                    Hab sogar zu dem Verhalten jetzt mal einen Breakpoint in Webstorm hinbekommen:

                    Es war die Adresse 1, Holding Register (Unsigned 16Bit BigEndian), aber den Wert weis ich nicht mehr,

                    ist eine Temperatur, irgendetwas zwischen 15 und 20:
                    268_iobroker_log.jpg

                    Webstorm Breakpoint:
                    268_webstorm.jpg

                    Und hier der Wert von pdu:
                    268_pdu.jpg

                    1 Antwort Letzte Antwort
                    0
                    • BluefoxB Offline
                      BluefoxB Offline
                      Bluefox
                      schrieb am zuletzt editiert von
                      #51

                      Also auf dem git gibt es neue Version. Da habe ich auch was für seriel geändert.

                      1 Antwort Letzte Antwort
                      0
                      • T Offline
                        T Offline
                        tschombe
                        schrieb am zuletzt editiert von
                        #52

                        super, hol ich mir gleich und lass einen dauertest übernacht laufen

                        1 Antwort Letzte Antwort
                        0
                        • T Offline
                          T Offline
                          tschombe
                          schrieb am zuletzt editiert von
                          #53

                          Hat den Dauertest übernacht leider nicht bestanden :(

                          268_iobroker_log.jpg

                          Bis 22:14 hat alles super funktioniert, dann kam ein timeout

                          und anschliessend hat er anscheinend nicht mehr neu aufgesetzt.

                          1 Antwort Letzte Antwort
                          0
                          • BluefoxB Offline
                            BluefoxB Offline
                            Bluefox
                            schrieb am zuletzt editiert von
                            #54

                            Habe was gemacht. Kannst du checken?

                            1 Antwort Letzte Antwort
                            0
                            • T Offline
                              T Offline
                              tschombe
                              schrieb am zuletzt editiert von
                              #55

                              Ja check ich heut abend!!!

                              1 Antwort Letzte Antwort
                              0
                              • T Offline
                                T Offline
                                tschombe
                                schrieb am zuletzt editiert von
                                #56

                                Hi,

                                Reconnect funktioniert!!!

                                268_iobroker_log.jpg

                                Allerdings muss ich mal prüfen warum ich plötzlich so häufige timeouts bekomme.

                                Es lief jetzt ca 1,5h ohne einen einzigen timeout, jetzt treten die ersten auf,

                                aber der Reconnect setzt anscheinend sauber wieder auf.

                                Ich lass es auf jeden Fall noch übernacht weiterlaufen.

                                PS: Ich lass den Admin-Adapter auf der Seite "Log" stehen und da kommt dann auch irgendwann kein

                                "Refresh" mehr bis ich z.B. zu Ereignisse und zurück navigiere. Dann wird das Log refreshed aber nicht weiter

                                geupdated. Nach F5 im Browser geht es dann wieder.

                                Das ist doch das Problem das du auch noch suchst, oder, soll ich versuchen das irgendwie nachzustellen?

                                1 Antwort Letzte Antwort
                                0
                                • T Offline
                                  T Offline
                                  tschombe
                                  schrieb am zuletzt editiert von
                                  #57

                                  Also der Adapter ist durchgelaufen, Kommunikation (lesen) ging,

                                  nur leider konnte ich heute früh keinen Wert mehr schreiben,

                                  allerdings keine Log-Ausgabe und unter Objekte scheint es auch so auszusehen als ob

                                  der Wert geschrieben wurde, ioBroker denkt ansch. es ist alles ok, aber der Wert kommt

                                  im Gerät nicht an.

                                  Ich lass den Adapter heut abend nochmal mit Webstorm laufen, evtl kann ich dann etwas rausfinden

                                  1 Antwort Letzte Antwort
                                  0
                                  • T Offline
                                    T Offline
                                    tschombe
                                    schrieb am zuletzt editiert von
                                    #58

                                    Hi bluefox.

                                    Ich müsste dich glaube ich nochmal wegen dem Modbus-Adapter belästigen.

                                    Ich bekomme immer wieder Fehlermeldungen im Log bezüglich Timeouts.

                                    Ich hab mich da mal mit Webstorm rangehangen, evlt kannst du mir ne Info geben, was da schief

                                    läuft und ob man da evtl den Adapter robuster machen könnte oder ob in meiner Installation

                                    (RTU-Device <–-ModbusRTU---> COMSERVER <---ModbusRtuOverTcp---> Modbus-Adapter) irgendetwas

                                    schief ist. Das ModbusPoll-Tool meldet mir solche Fehler nicht.

                                    Hier der Callstack von Webstorm:

                                    main.reconnect(), main.js: 1346

                                    main.js: 1765

                                    emit(), stampit-event-bus.js: 20

                                    modbus-client-core.js:59

                                    listOnTimeout(), timers.js:119

                                    Das kommt häufig vor wenn ich einen Wert SCHREIBEN will, dann reconnected der Adapter und der

                                    Schreibauftrag geht nicht durch...

                                    Kannst du dir die relevanten Code-Zeilen evtl mal anschauen ob du da etwas siehst?

                                    Oder wir könnten nochmal eine TeamViewer Sitzung machen?

                                    1 Antwort Letzte Antwort
                                    0
                                    • M Offline
                                      M Offline
                                      max_power
                                      schrieb am zuletzt editiert von
                                      #59

                                      Hallo zusammen,

                                      ich würde das Thema gerne nochmals aufgreifen. Habe ebenfalls eine Wac250 Westaflex Lüftung und versuche via RS485->USB Dongle Werte auszulesen und zu schreiben. Leider ohne Erfolg.

                                      Könnt Ihr mir ggf. Tipps geben, wir Ihr den Wac Chip angesprochen habt?

                                      Anbei meine versuchten Einstellungen:

                                      ser = serial.Serial(
                                          port='/dev/ttyUSB0',\
                                          baudrate=9600,\
                                          parity=serial.PARITY_NONE,\
                                          stopbits=serial.STOPBITS_ONE,\
                                          bytesize=serial.EIGHTBITS,\
                                          timeout=0) # 0 = non blocking mode
                                      ser.setRTS(True)
                                      
                                          #Hier sollte dann Lüfterstufe 0->3 geschalten werden...
                                          #so sieht es zumindest im WireShark aus...wenn die Fernbedienung das macht....
                                          input="\x01\x70\xd3\x19\xf9\xf9\x00"
                                          ser.write(input)
                                      
                                      

                                      Das ModBus Protokoll mit Slave und den Funktionen kann ich darin aber nur Ansatzweise erkennen…????

                                      Über Tipps würde ich mich sehr freuen.

                                      1 Antwort Letzte Antwort
                                      0
                                      • T tschombe

                                        Hi,

                                        ich hab gestern schon im Modbus-Thread von Nightwatcher bezüglich RTU over TCP angefragt.

                                        Sorry das ich den Thread dazu missbraucht hab, daher mach ich mal einen eigenen auf, um da

                                        nicht 2 Dinge in einem Thread zu vermischen.

                                        @Bluefox: Bezüglich des Features "RTU over TCP" hab ich gestern mal meinen Testaufbau aktiviert.

                                        Ich hab eine Westaflex-Steuerung die ModbusRTU über RS485 spricht. Daran hängt ein WUT 58631

                                        (COM-Server von W&T), also ein Converter der das Ding in mein Ethernet-Netzwerk bringt.

                                        Der Converter wandelt nun TCP Anfragen in RTU Anfragen um, allerdings muss das Protokoll

                                        als Modbus RTU over TCP erfolgen.

                                        Als Client verwende ich aktuell zum Test Modbus Poll, der kann RTU over TCP.

                                        Ich habe eine Wireshark-Aufzeichnung erstellt.

                                        Falls du wirklich das Feature implementieren möchtest, kann ich dir die Wireshark-Aufzeichnung zur

                                        Verfügung stellen. Weiterhin könnte ich eine Beschreibung für ein Testsystem (Windows) erstellen

                                        wie man die gleiche Kommunikation simulieren könnte (mit ModbusPoll als Master und ModbusSlave als Slave)

                                        auf einem Rechner.

                                        Ich möchte Holding Registers lesen u schreiben und Input Registers und Coils lesen.

                                        D Offline
                                        D Offline
                                        DirkM
                                        schrieb am zuletzt editiert von
                                        #60

                                        @tschombe said in Modbus Adapter - Unterstützung für RTU over TCP:

                                        Bezüglich des Features "RTU over TCP" hab ich gestern mal meinen Testaufbau aktiviert.
                                        Ich hab eine Westaflex-Steuerung die ModbusRTU über RS485 spricht. Daran hängt ein WUT 58631
                                        (COM-Server von W&T), also ein Converter der das Ding in mein Ethernet-Netzwerk bringt.
                                        Der Converter wandelt nun TCP Anfragen in RTU Anfragen um, allerdings muss das Protokoll
                                        als Modbus RTU over TCP erfolgen.

                                        Hi, ich weiß das Thema ist schon älter aber hast du den WuT noch in Betrieb und wenn ja funktioniert er mit dem Modbus-Adapter vom ioBroker?

                                        Wenn ja, könntest du mir deine Konfiguration des 58631 und der Instanz vom ioBroker zur Verfügung stellen?

                                        Gruß

                                        Dirk

                                        1 Antwort Letzte Antwort
                                        0
                                        Antworten
                                        • In einem neuen Thema antworten
                                        Anmelden zum Antworten
                                        • Älteste zuerst
                                        • Neuste zuerst
                                        • Meiste Stimmen


                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate
                                        FAQ Cloud / IOT
                                        HowTo: Node.js-Update
                                        HowTo: Backup/Restore
                                        Downloads
                                        BLOG

                                        592

                                        Online

                                        32.5k

                                        Benutzer

                                        81.7k

                                        Themen

                                        1.3m

                                        Beiträge
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                        ioBroker Community 2014-2025
                                        logo
                                        • Anmelden

                                        • Du hast noch kein Konto? Registrieren

                                        • Anmelden oder registrieren, um zu suchen
                                        • Erster Beitrag
                                          Letzter Beitrag
                                        0
                                        • Home
                                        • Aktuell
                                        • Tags
                                        • Ungelesen 0
                                        • Kategorien
                                        • Unreplied
                                        • Beliebt
                                        • GitHub
                                        • Docu
                                        • Hilfe