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.
    • Bluefox
      Bluefox last edited by

      Konnte was finden. Kannst du probieren?

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

        Ja ich probiere nachher aus, bin allerdings grad unterwegs

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

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

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

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

                Ich habe Fehler gemacht es muss

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

                sein

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

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

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

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

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

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

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

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

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

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

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

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

                                    Habe was gemacht. Kannst du checken?

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

                                      Ja check ich heut abend!!!

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

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

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

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

                                            854
                                            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