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.
  • T Offline
    T Offline
    tschombe
    schrieb am zuletzt editiert von
    #28

    Ja, wieder einen Schritt weiter!!!

    Das Schreiben hat zur Simulation funktioniert :mrgreen: :mrgreen: :mrgreen:

    Habe dann gleich nochmal gegen Live getestet.

    Da ist mir aufgefallen, das ich ab und zu einen Timeout bekomme, dann versucht der Adapter anscheinend nicht mehr neu zu verbinden:

    inMem	2016-10-20 23:25:08.277	debug	message modbus.0.* modbus.0.info.connection val=false, ack=true, ts=1476998708276, q=0, from=system.adapter.modbus.0, lc=1476998708276
    modbus-0	2016-10-20 23:25:08.276	warn	Poll error count: 1 code: {"err":"timeout"}
    inMem	2016-10-20 23:25:03.276	debug	message modbus.0.* modbus.0.info.connection val=true, ack=true, ts=1476998703272, q=0, from=system.adapter.modbus.0, lc=1476998703272
    modbus-0	2016-10-20 23:25:03.271	info	Connected to slave
    modbus-0	2016-10-20 23:25:03.116	info	starting. Version 0.4.3 in D:/GitHub/iobroker/node_modules/iobroker.modbus
    
    

    Anschliessend passiert nichts mehr

    Ich lass jetzt mal die Simulation im Dauertest bis morgen früh laufen

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

      @tschombe:

      Ja, wieder einen Schritt weiter!!!

      Das Schreiben hat zur Simulation funktioniert :mrgreen: :mrgreen: :mrgreen:

      Habe dann gleich nochmal gegen Live getestet.

      Da ist mir aufgefallen, das ich ab und zu einen Timeout bekomme, dann versucht der Adapter anscheinend nicht mehr neu zu verbinden:

      inMem	2016-10-20 23:25:08.277	debug	message modbus.0.* modbus.0.info.connection val=false, ack=true, ts=1476998708276, q=0, from=system.adapter.modbus.0, lc=1476998708276
      modbus-0	2016-10-20 23:25:08.276	warn	Poll error count: 1 code: {"err":"timeout"}
      inMem	2016-10-20 23:25:03.276	debug	message modbus.0.* modbus.0.info.connection val=true, ack=true, ts=1476998703272, q=0, from=system.adapter.modbus.0, lc=1476998703272
      modbus-0	2016-10-20 23:25:03.271	info	Connected to slave
      modbus-0	2016-10-20 23:25:03.116	info	starting. Version 0.4.3 in D:/GitHub/iobroker/node_modules/iobroker.modbus
      
      

      Anschliessend passiert nichts mehr

      Ich lass jetzt mal die Simulation im Dauertest bis morgen früh laufen `
      Nach einem timeout bei Poll versucht Adapter in 60 Sekunden sich wieder zu verbinden

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

        Oh, da war ich zu ungeduldig :lol: :lol: :lol:

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

          Dauertest in der Simulation über nacht bestanden :D

          Jetzt zu meinem eigentlichen Problem, der Ankopplung an die Lüftung :cry:

          die Kommunikation zwischen Adapter und dem COMServer geht leider nicht.

          Ich habe jetzt mal 4 Wireshark-Mitschnitte gemacht. Dabei verwende ich die folgenden

          Konstellationen:

          Master: Slave: Test: Wireshark-Protokoll

          Simulator (ModbusPoll) Simulator (ModbusSlave) GEHT sim-sim.pcapng

          iobroker modbus Adapter Simulator (ModbusSlave) GEHT broker-sim.pcapng

          Simulator (ModbusPoll) Live (WuT COMServer) GEHT sim-live.pcapng

          iobroker modbus Adapter Live (WuT COMServer) FAIL broker-live.pcapng

          Ich hoffe du kannst dir mal die Wiresharks anschauen und siehst irgendetwas

          Ich weis sonst nicht was ich noch Einstellen oder Testen könnte :cry: :cry: :cry:

          268_diag4.zip

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

            Komisch,

            ich hab mir die Wireshark-Mitschnitte mal angeschaut von

            broker-live und sim-live. Den Inhalt kann ich leider nicht wirklich interpretieren,

            aber die ersten Pakete scheinen ja wirklich identisch zu sein, nur das der

            Adapter nach dem 10. Paket anscheinend irgendwie nicht mehr weitermacht :(

            Hast du evtl noch eine Idee für mich was ich noch testen könnte oder wie ich an der Stelle weiterkommen kann?

            Auf der Gegenstelle (COM-Server) habe ich leider überhaupt keine Diagnosemöglichkeiten :evil:

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

              @tschombe:

              Komisch,

              ich hab mir die Wireshark-Mitschnitte mal angeschaut von

              broker-live und sim-live. Den Inhalt kann ich leider nicht wirklich interpretieren,

              aber die ersten Pakete scheinen ja wirklich identisch zu sein, nur das der

              Adapter nach dem 10. Paket anscheinend irgendwie nicht mehr weitermacht :(

              Hast du evtl noch eine Idee für mich was ich noch testen könnte oder wie ich an der Stelle weiterkommen kann?

              Auf der Gegenstelle (COM-Server) habe ich leider überhaupt keine Diagnosemöglichkeiten :evil: `
              Ich habe mal den Traffic angeschaut. Es währe einfacher, wenn du in beiden Fällen gleiche Register lesen wurdest. Du liest:

              • Input Registers bei LIve

              • Holding Registers bei Simulator.

              Ist das so gewollt?

              Unit ID stimmt bei Live?

              Live system schickt nicht mal einen Antwort. Einfach schweigt auf der Applikationsebene.

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

                oh, da ist dann irgendwas an der Konfiguration danebengegangen.

                Wenn alles läuft würd ich gerne sowohl HoldingRegister lesen / schreiben (Adresse 0 und 1)

                und die InputRegister 0 und 3 lesen.

                Fürs erste bin ich jetzt nochmal zurückgegangen auf ein einziges InputRegister (0).

                Soll ich nochmal neue Mitschnitte erzeugen?

                Ich bin gerade dabei Webstorm zu installieren und mal schauen ob ich irgendwie Debugging zum laufen Bekomme.

                Ich bin eigentlich .NET Entwickler, aber die node.js Tools für Visual Studio stürzen bei mir ständig ab :( :( :(

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

                  @tschombe:

                  oh, da ist dann irgendwas an der Konfiguration danebengegangen.

                  Wenn alles läuft würd ich gerne sowohl HoldingRegister lesen / schreiben (Adresse 0 und 1)

                  und die InputRegister 0 und 3 lesen.

                  Fürs erste bin ich jetzt nochmal zurückgegangen auf ein einziges InputRegister (0).

                  Soll ich nochmal neue Mitschnitte erzeugen?

                  Ich bin gerade dabei Webstorm zu installieren und mal schauen ob ich irgendwie Debugging zum laufen Bekomme.

                  Ich bin eigentlich .NET Entwickler, aber die node.js Tools für Visual Studio stürzen bei mir ständig ab :( :( :( `
                  Ich wollte die Pakete vergleichen. Das währe schon praktisch wenn du absolut gleiche Konfigurationen bei sim und live hättest. Achte aber bitte auf UnitID. Ich denke da konnte auch was nicht passen.

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

                    ok, ich mache nochmal neue Aufzeichnungen mit erstmal nur einem inputregister an Adresse 0,

                    bei meiner Lüftung ist laut Dokumentation die SlaveID = 1, das ist doch die UnitID, oder?

                    Bei dem COM-Umsetzer davor kann ich da leider nichts konfigurieren.

                    Bei dem ModbusPoll Client kann ich gar keine UnitID angeben, und bei dem Modbus Slave kann ich einen Haken

                    (Ignore UnitID setzen, den hab ich jetzt mal extra NICHT gesetzt)

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

                      So, jetzt nochmal die 4 Wireshark-Mitschnitte.

                      Ich hoffe ich hab immer die richtige Konfiguration verwendet.

                      Verhalten immer noch das selbe, UnitID ist bei mir auf 1 gesetzt.

                      268_diag5.zip

                      Hoffentlich kannst du irgendetwas erkennen, für mich sieht das am Anfang alles gleich aus,

                      nur das es bei der "Live" Kommunikation irgendwie nicht mehr weitergeht

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

                        Und mir ist gerade wieder was aufgefallen:

                        Beim LIVE-System steht 201 auf dem Register (stellt eine Temperatur * 10 dar, also 20.1°)

                        Auf der Simulation steht auf dem Register 15 (hab ich dann mal probehalber auf 20 und wieder auf 15 gesetzt um zu sehen ob wertänderungen

                        ankommen). Da hab ich im iobroker die 15 bzw 20 gesehen.

                        Als ich dann umkonfiguriert hab auf das Live-System kam auch einmal die 201 im iobroker an!!! aber dann keine zyklischen refreshes mehr

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

                          Konnte was finden. Kannst du probieren?

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

                            Ja ich probiere nachher aus, bin allerdings grad unterwegs

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

                              SUPER!!! LESEN GEHT!!!!

                              Hab gleich Schreiben von Holding Register getestet, da gibt's noch Probleme:

                              
                              host-lxccuhost2	2016-10-21 20:57:07.333	info	Restart adapter system.adapter.modbus.0 because enabled
                              host-lxccuhost2	2016-10-21 20:57:07.331	error	instance system.adapter.modbus.0 terminated with code 0 (OK)
                              modbus-0	2016-10-21 20:57:07.271	info	terminating
                              TypeError:	2016-10-21 20:57:07.245	error	at TCP.onread (net.js:526:21)
                              TypeError:	2016-10-21 20:57:07.245	error	at Socket.Readable.push (_stream_readable.js:127:10)
                              TypeError:	2016-10-21 20:57:07.245	error	at readableAddChunk (_stream_readable.js:165:9)
                              TypeError:	2016-10-21 20:57:07.245	error	at emitReadable (_stream_readable.js:404:5)
                              TypeError:	2016-10-21 20:57:07.245	error	at emitReadable_ (_stream_readable.js:408:10)
                              TypeError:	2016-10-21 20:57:07.245	error	at Socket.EventEmitter.emit (events.js:92:17)
                              TypeError:	2016-10-21 20:57:07.245	error	at Socket. (_stream_readable.js:746:14)
                              TypeError:	2016-10-21 20:57:07.245	error	at Socket.EventEmitter.emit (events.js:95:17)
                              TypeError:	2016-10-21 20:57:07.245	error	at Object. (/opt/iobroker/node_modules/iobroker.modbus/lib/modbus-tcp-rtu-client.js:135:66)
                              TypeError:	2016-10-21 20:57:07.245	error	Object ��d has no method 'join'
                              uncaught	2016-10-21 20:57:07.238	error	exception: Object ��d has no method 'join'
                              TypeError:	2016-10-21 20:57:07.224	error	at TCP.onread (net.js:526:21)
                              TypeError:	2016-10-21 20:57:07.224	error	at Socket.Readable.push (_stream_readable.js:127:10)
                              TypeError:	2016-10-21 20:57:07.224	error	at readableAddChunk (_stream_readable.js:165:9)
                              TypeError:	2016-10-21 20:57:07.224	error	at emitReadable (_stream_readable.js:404:5)
                              TypeError:	2016-10-21 20:57:07.224	error	at emitReadable_ (_stream_readable.js:408:10)
                              TypeError:	2016-10-21 20:57:07.224	error	at Socket.EventEmitter.emit (events.js:92:17)
                              TypeError:	2016-10-21 20:57:07.224	error	at Socket. (_stream_readable.js:746:14)
                              TypeError:	2016-10-21 20:57:07.224	error	at Socket.EventEmitter.emit (events.js:95:17)
                              TypeError:	2016-10-21 20:57:07.224	error	at Object. (/opt/iobroker/node_modules/iobroker.modbus/lib/modbus-tcp-rtu-client.js:135:66)
                              TypeError:	2016-10-21 20:57:07.224	error	Object  has no method 'join'
                              uncaught	2016-10-21 20:57:07.217	error	exception: Object  has no method 'join'
                              modbus-0	2016-10-21 20:57:07.182	info	Connected to slave
                              modbus-0	2016-10-21 20:57:06.171	info	Disconnected from slave 192.168.2.20
                              modbus-0	2016-10-21 20:57:06.165	error	Cannot write [0]: {"err":"timeout"}
                              modbus-0	2016-10-21 20:56:49.819	info	Connected to slave
                              modbus-0	2016-10-21 20:56:49.609	warn	Serial is not available
                              
                              
                              1 Antwort Letzte Antwort
                              0
                              • 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
                                          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

                                          677

                                          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