Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Modbus Adapter - Unterstützung für RTU over TCP

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      tschombe last edited by

      bei mir ist leider kein stift beim adapter 😢 😢 😢

      habe nur admin adapter und modbus adapter im test laufen,

      alles auf aktuellem stand, modbus vom github

      268_capture.jpg

      1 Reply Last reply Reply Quote 0
      • Bluefox
        Bluefox last edited by

        @tschombe:

        bei mir ist leider kein stift beim adapter 😢 😢 😢

        habe nur admin adapter und modbus adapter im test laufen,

        alles auf aktuellem stand, modbus vom github

        Capture.JPG `
        Es ist auch nicht das Objekt, was ich genannt habe.

        Schalte bitte Experten Modus ein (das Knopf mit dem Person)

        1 Reply Last reply Reply Quote 0
        • T
          tschombe last edited by

          ah, cool, danke…

          Ich glaub ich hab jetzt das richtige objekt und finde da unter:

          native->params folgendes:

          {
            "type": "tcp",
            "bind": "192.168.2.20",
            "port": "502",
            "comName": "",
            "baudRate": "9600",
            "dataBits": "8",
            "stopBits": "1",
            "parity": "none",
            "deviceId": "1",
            "slave": "0",
            "showAliases": false,
            "directAddresses": false,
            "round": "2",
            "poll": "5000",
            "recon": "60000",
            "pulsetime": "5000",
            "maxBlock": "20",
            "disInputsOffset": "10001",
            "coilsOffset": "1",
            "inputRegsOffset": "30001",
            "holdingRegsOffset": "40001"
          }
          
          

          muss ich da etwas mit timeout einfügen?

          1 Reply Last reply Reply Quote 0
          • Bluefox
            Bluefox last edited by

            @tschombe:

            ah, cool, danke…

            Ich glaub ich hab jetzt das richtige objekt und finde da unter:

            native->params folgendes:

            {
              "type": "tcp",
              "bind": "192.168.2.20",
              "port": "502",
              "comName": "",
              "baudRate": "9600",
              "dataBits": "8",
              "stopBits": "1",
              "parity": "none",
              "deviceId": "1",
              "slave": "0",
              "showAliases": false,
              "directAddresses": false,
              "round": "2",
              "poll": "5000",
              "recon": "60000",
              "pulsetime": "5000",
              "maxBlock": "20",
              "disInputsOffset": "10001",
              "coilsOffset": "1",
              "inputRegsOffset": "30001",
              "holdingRegsOffset": "40001"
            }
            
            

            muss ich da etwas mit timeout einfügen? `
            Habe modbus erweitet. Bitte vom git updaten.

            1 Reply Last reply Reply Quote 0
            • T
              tschombe last edited by

              Super!!!!

              Was jetzt geht:

              • Timeout konfigurierbar, dadurch bekomme ich jetzt auch über VPN einen Connect!!!

              • Sauber Disconnect beim Disablen des Adapters, dadurch wird der Port meines COM-Servers frei!!!

              Habe gerade 2 Holding register gelesen (über VPN!!!),

              allerdings ist mein Adapter dann wieder auf Rot gesprungen:

              Verbunden mit host: falsch

              Lebenszeichen: falsch

              Verbunden mit modbus: wahr

              Nach dem start von iobroker wird der Adapter grün und bleibt es auch, so lange bis ich auf den Tab "Objekte" wechsle um mir

              die Datenpunkte des modbus Adapters anschaue, wenn ich dann zurückwechsle auf "Instanzen" ist er rot…

              hier das log dazu von der aktuellen Version (und der Adapter steht dank der neu entdeckten Expertenfunktion auf debug):

              inMem	2016-10-20 16:52:17.460	debug	message modbus.0.* modbus.0.info.pollTime val=61, ack=true, ts=1476975137459, q=0, from=system.adapter.modbus.0, lc=1476975137459
              inMem	2016-10-20 16:52:17.459	debug	message modbus.0.* modbus.0.holdingRegisters.1_value1 val=15, ack=true, ts=1476975137458, q=0, from=system.adapter.modbus.0, lc=1476975137458
              inMem	2016-10-20 16:52:17.457	debug	message modbus.0.* modbus.0.holdingRegisters.0_value0 val=0, ack=true, ts=1476975137457, q=0, from=system.adapter.modbus.0, lc=1476975137457
              inMem	2016-10-20 16:52:17.402	debug	message modbus.0.* modbus.0.info.connection val=true, ack=true, ts=1476975137398, q=0, from=system.adapter.modbus.0, lc=1476975137398
              modbus-0	2016-10-20 16:52:17.398	info	Connected to slave
              modbus-0	2016-10-20 16:52:14.215	info	starting. Version 0.4.2 in D:/GitHub/iobroker/node_modules/iobroker.modbus
              modbus-0	2016-10-20 16:52:14.191	debug	statesDB connected
              modbus-0	2016-10-20 16:52:14.186	debug	objectDB connected
              host-conentfst08	2016-10-20 16:52:13.587	info	instance system.adapter.modbus.0 started with pid 11132
              
              

              Vielleicht liegt es aber auch an der "magern" VPN Verbindung, ich teste auf jeden Fall heut abend nochmal im Heimnetzwerk

              1 Reply Last reply Reply Quote 0
              • T
                tschombe last edited by

                Hi,

                so, sitze jetzt zu Hause im Heimnetz und habe folgenden Testaufbau:

                Windows Notebook mit ioBroker-Installation (nur admin und modbus Adapter, aktuell aus github ) und Wireshark

                iobroker gestartet, modbus Adapter ist deaktiviert.

                Dann modbus Adapter aktiviert, modbus Adapter wird grün

                wechsel auf Objekte und zurück, modbus Adapter ist rot.

                (Verbunden mit host: falsch, Lebenszeichen: falsch, Verbunden mit modbus: wahr)

                Der Zustand bleibt dann so, kein neuer "Poll-Versuch" o.ä. des Adapters, keinerlei Logeinträge mehr.

                Im Anhang ein Zip-File mit dem zugehörigen Wireshark-Protokoll und dem ioBroker-Log.

                Kannst du da irgendetwas erkennen?
                268_diag1.zip

                1 Reply Last reply Reply Quote 0
                • T
                  tschombe last edited by

                  um zwischenzeitlich irgendwie weiter zu kommen hab ich auf meinem Windows testsystem

                  mal den modbus-slave Simulator im RTU over TCP Modus laufen lassen.

                  Da verbindet sich der Adapter und bleibt auch auf grün, allerdings funktioniert das Schreiben

                  der Werte nicht richtig. Teilweise werden die Werte nicht übernommen.

                  Hier ein Auszug aus dem Log:

                  inMem	2016-10-20 19:34:32.922	debug	message modbus.0.* modbus.0.holdingRegisters.1_value1 val=44, ack=true, ts=1476984872921, q=0, from=system.adapter.modbus.0, lc=1476984872921
                  modbus-0	2016-10-20 19:34:31.895	error	Cannot write [0]: [object Object]
                  inMem	2016-10-20 19:34:31.418	debug	message modbus.0.* modbus.0.holdingRegisters.1_value1 val=48, ack=false, ts=1476984871418, q=0, from=system.adapter.admin.0, lc=1476984871418
                  inMem	2016-10-20 19:34:28.396	debug	message modbus.0.* modbus.0.holdingRegisters.0_value0 val=6, ack=true, ts=1476984868396, q=0, from=system.adapter.modbus.0, lc=1476984868396
                  inMem	2016-10-20 19:34:26.892	debug	message modbus.0.* modbus.0.holdingRegisters.0_value0 val=8, ack=false, ts=1476984866891, q=0, from=system.adapter.admin.0, lc=1476984866891
                  inMem	2016-10-20 19:34:22.419	debug	message modbus.0.* modbus.0.holdingRegisters.1_value1 val=44, ack=true, ts=1476984862418, q=0, from=system.adapter.modbus.0, lc=1476984862418
                  inMem	2016-10-20 19:34:19.411	debug	message modbus.0.* modbus.0.holdingRegisters.0_value0 val=6, ack=true, ts=1476984859410, q=0, from=system.adapter.modbus.0, lc=1476984859410
                  inMem	2016-10-20 19:33:56.363	debug	message modbus.0.* modbus.0.info.pollTime val=14, ack=true, ts=1476984836363, q=0, from=system.adapter.modbus.0, lc=1476984836363
                  inMem	2016-10-20 19:33:56.362	debug	message modbus.0.* modbus.0.holdingRegisters.1_value1 val=55, ack=true, ts=1476984836362, q=0, from=system.adapter.modbus.0, lc=1476984836362
                  inMem	2016-10-20 19:33:56.361	debug	message modbus.0.* modbus.0.holdingRegisters.0_value0 val=5, ack=true, ts=1476984836361, q=0, from=system.adapter.modbus.0, lc=1476984836361
                  inMem	2016-10-20 19:33:56.358	debug	message modbus.0.* modbus.0.info.connection val=true, ack=true, ts=1476984836352, q=0, from=system.adapter.modbus.0, lc=1476984836352
                  modbus-0	2016-10-20 19:33:56.348	info	Connected to slave
                  modbus-0	2016-10-20 19:33:55.588	info	starting. Version 0.4.2 in D:/GitHub/iobroker/node_modules/iobroker.modbus
                  modbus-0	2016-10-20 19:33:55.562	debug	statesDB connected
                  modbus-0	2016-10-20 19:33:55.556	debug	objectDB connected
                  host-conentfst08	2016-10-20 19:33:50.938	info	instance system.adapter.modbus.0 started with pid 16736
                  
                  

                  Auch dazu hab ich mal einen Wireshark Mitschnitt generiert.

                  Anscheinend verhält sich mein "Live" Device etwas anders als der Simulator 😞 😞 😞

                  268_diag2.zip

                  1 Reply Last reply Reply Quote 0
                  • T
                    tschombe last edited by

                    Vielleicht noch hilfreiche Information zum Problem mit dem Simulator:

                    wenn einmal das Schreiben schiefgegangen ist, bekommt der Adapter auch keine Werteänderungen mit

                    wenn ich die im Simulator ändere

                    1 Reply Last reply Reply Quote 0
                    • Bluefox
                      Bluefox last edited by

                      @tschombe:

                      Vielleicht noch hilfreiche Information zum Problem mit dem Simulator:

                      wenn einmal das Schreiben schiefgegangen ist, bekommt der Adapter auch keine Werteänderungen mit

                      wenn ich die im Simulator ändere `
                      Danke. Bitte noch mal updaten

                      1 Reply Last reply Reply Quote 0
                      • T
                        tschombe last edited by

                        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 Reply Last reply Reply Quote 0
                        • Bluefox
                          Bluefox last edited by

                          @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 Reply Last reply Reply Quote 0
                          • T
                            tschombe last edited by

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

                            1 Reply Last reply Reply Quote 0
                            • T
                              tschombe last edited by

                              Dauertest in der Simulation über nacht bestanden 😄

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

                              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 😢 😢 😢

                              268_diag4.zip

                              1 Reply Last reply Reply Quote 0
                              • T
                                tschombe last edited by

                                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 Reply Last reply Reply Quote 0
                                • Bluefox
                                  Bluefox last edited by

                                  @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 Reply Last reply Reply Quote 0
                                  • T
                                    tschombe last edited by

                                    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 Reply Last reply Reply Quote 0
                                    • Bluefox
                                      Bluefox last edited by

                                      @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 Reply Last reply Reply Quote 0
                                      • T
                                        tschombe last edited by

                                        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 Reply Last reply Reply Quote 0
                                        • T
                                          tschombe last edited by

                                          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 Reply Last reply Reply Quote 0
                                          • T
                                            tschombe last edited by

                                            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 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

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

                                            538
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            60
                                            8363
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo