Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Modbus adapter

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Modbus adapter

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

      Nachdem ich den Zähler an meinem Win7 und WIN10 PC auslesen konnte will ich es jetzt mit iobroker versuchen.

      Habe dazu serialport auf dem linux server installiert:

      > serialport@4.0.7 install /root/node_modules/serialport
      > node-pre-gyp install --fallback-to-build
      
      [serialport] Success: "/root/node_modules/serialport/build/Release/serialport.node" is installed via remote
      serialport@4.0.7 node_modules/serialport
      +-- bindings@1.2.1
      +-- commander@2.9.0 (graceful-readlink@1.0.1)
      +-- lie@3.1.0 (immediate@3.0.6)
      +-- debug@2.6.0 (ms@0.7.2)
      +-- nan@2.5.0
      +-- object.assign@4.0.4 (function-bind@1.1.0, object-keys@1.0.11, define-properties@1.1.2)
      
      

      Den USB-RS485 Adapter eingesteckt:

      [357945.535775] usb 2-4: new full-speed USB device number 7 using xhci_hcd
      [357945.670202] usb 2-4: New USB device found, idVendor=0403, idProduct=6001
      [357945.670210] usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
      [357945.670214] usb 2-4: Product: FT232R USB UART
      [357945.670218] usb 2-4: Manufacturer: FTDI
      [357945.670221] usb 2-4: SerialNumber: A504YD0G
      [357945.673074] ftdi_sio 2-4:1.0: FTDI USB Serial Device converter detected
      [357945.673128] usb 2-4: Detected FT232RL
      [357945.673132] usb 2-4: Number of endpoints 2
      [357945.673136] usb 2-4: Endpoint 1 MaxPacketSize 64
      [357945.673139] usb 2-4: Endpoint 2 MaxPacketSize 64
      [357945.673142] usb 2-4: Setting MaxPacketSize 64
      [357945.673518] usb 2-4: FTDI USB Serial Device converter now attached to ttyUSB1
      
      

      Und eine neue Modbus Instanz installiert. Was muss ich denn noch machen um hier den Port auswählen zu können?

      999_modbus_rtu.jpg

      Das Dropdown ist ohne funktion.

      Muss ich den Port erst noch woanders konfigurieren?

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

        @wendy2702:

        Nachdem ich den Zähler an meinem Win7 und WIN10 PC auslesen konnte will ich es jetzt mit iobroker versuchen.

        Habe dazu serialport auf dem linux server installiert:

        > serialport@4.0.7 install /root/node_modules/serialport
        > node-pre-gyp install --fallback-to-build
        
        [serialport] Success: "/root/node_modules/serialport/build/Release/serialport.node" is installed via remote
        serialport@4.0.7 node_modules/serialport
        +-- bindings@1.2.1
        +-- commander@2.9.0 (graceful-readlink@1.0.1)
        +-- lie@3.1.0 (immediate@3.0.6)
        +-- debug@2.6.0 (ms@0.7.2)
        +-- nan@2.5.0
        +-- object.assign@4.0.4 (function-bind@1.1.0, object-keys@1.0.11, define-properties@1.1.2)
        
        

        Den USB-RS485 Adapter eingesteckt:

        [357945.535775] usb 2-4: new full-speed USB device number 7 using xhci_hcd
        [357945.670202] usb 2-4: New USB device found, idVendor=0403, idProduct=6001
        [357945.670210] usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
        [357945.670214] usb 2-4: Product: FT232R USB UART
        [357945.670218] usb 2-4: Manufacturer: FTDI
        [357945.670221] usb 2-4: SerialNumber: A504YD0G
        [357945.673074] ftdi_sio 2-4:1.0: FTDI USB Serial Device converter detected
        [357945.673128] usb 2-4: Detected FT232RL
        [357945.673132] usb 2-4: Number of endpoints 2
        [357945.673136] usb 2-4: Endpoint 1 MaxPacketSize 64
        [357945.673139] usb 2-4: Endpoint 2 MaxPacketSize 64
        [357945.673142] usb 2-4: Setting MaxPacketSize 64
        [357945.673518] usb 2-4: FTDI USB Serial Device converter now attached to ttyUSB1
        
        

        Und eine neue Modbus Instanz installiert. Was muss ich denn noch machen um hier den Port auswählen zu können?

        Modbus_RTU.JPG

        Das Dropdown ist ohne funktion.

        Muss ich den Port erst noch woanders konfigurieren? `
        Adapter starten.

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

          OK.

          Nach dem ersten starten das ich das Device auswählen.

          999_modbus_rtu_device.jpg

          Wenn ich das gemacht habe, Speicher und beende kommt das im log:

          host.openmediavault	2017-01-17 14:55:27.723	info	Restart adapter system.adapter.modbus.1 because enabled
          host.openmediavault	2017-01-17 14:55:27.723	error	instance system.adapter.modbus.1 terminated with code 0 (OK)
          modbus.1	2017-01-17 14:55:27.715	info	terminating
          modbus.1	2017-01-17 14:55:27.695	error	at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
          modbus.1	2017-01-17 14:55:27.695	error	at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
          modbus.1	2017-01-17 14:55:27.695	error	at Manager.ondata (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:322:16)
          modbus.1	2017-01-17 14:55:27.695	error	at Decoder.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/index.js:246:12)
          modbus.1	2017-01-17 14:55:27.695	error	at Decoder.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/component-emitter/index.js:134:20)
          modbus.1	2017-01-17 14:55:27.695	error	at Decoder. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
          modbus.1	2017-01-17 14:55:27.695	error	at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:332:8)
          modbus.1	2017-01-17 14:55:27.695	error	at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
          modbus.1	2017-01-17 14:55:27.695	error	at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
          modbus.1	2017-01-17 14:55:27.695	error	at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:236:12)
          modbus.1	2017-01-17 14:55:27.695	error	at Socket.onack (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:312:9)
          modbus.1	2017-01-17 14:55:27.695	error	at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1253:35)
          modbus.1	2017-01-17 14:55:27.695	error	at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1365:21
          modbus.1	2017-01-17 14:55:27.695	error	at /opt/iobroker/node_modules/iobroker.modbus/main.js:1332:13
          modbus.1	2017-01-17 14:55:27.695	error	at clear (/opt/iobroker/node_modules/iobroker.modbus/main.js:1328:22)
          modbus.1	2017-01-17 14:55:27.695	error	at Object.main.start (/opt/iobroker/node_modules/iobroker.modbus/main.js:1740:25)
          modbus.1	2017-01-17 14:55:27.695	error	TypeError: Cannot read property 'on' of null
          modbus.1	2017-01-17 14:55:27.694	error	uncaught exception: Cannot read property 'on' of null
          modbus.1	2017-01-17 14:55:27.693	error	Cannot open port "/dev/ttyUSB1" [9600]: TypeError: Cannot read property 'complete' of undefined
          

          Ich weiß nur nicht warum der Port nicht geöffnet werden kann.

          Und wenn ich jetzt die Instanz wieder öffne, ist der Port Eintrag wieder weg bzw. nicht mehr sichtbar.

          Im Log kommt ständig:

          openmediavault	2017-01-17 15:07:07.966	info	host.openmediavault Restart adapter system.adapter.modbus.1 because enabled
          openmediavault	2017-01-17 15:07:07.966	error	host.openmediavault instance system.adapter.modbus.1 terminated with code 0 (OK)
          modbus.1	2017-01-17 15:07:07.939	error	modbus.1 TypeError: Cannot read property 'on' of null at Object.main.start (/opt/iobroker/node_modules/iobroker.modbus/main.js:1740:25) at clear (/opt/iobroker/node_modules/iobroker.modbus/mai
          modbus.1	2017-01-17 15:07:07.939	error	modbus.1 uncaught exception: Cannot read property 'on' of null
          modbus.1	2017-01-17 15:07:07.937	error	modbus.1 Cannot open port "/dev/ttyUSB1" [9600]: TypeError: Cannot read property 'complete' of undefined
          

          Mal alle USB Devices abgezogen und nur den USB-RS485 Adapter angeschlossen.

          Dann sehe ich das der ttyUSB0 wird. Aber auch wenn ich den als Port auswähle kommt die gleiche Fehlermeldung.

          1 Reply Last reply Reply Quote 0
          • E
            enricoh831 last edited by

            @bluefox

            Ich würde dir gerne folgendes zur Verfügung stellen damit du die modbus und serial Geschichte selbst testen kannst.

            https://www.googleadservices.com/pagead … IHg&adurl=

            https://www.googleadservices.com/pagead ... IKg&adurl=

            Würde dir gerne etwas Geld dafür spenden und du besorgst dir denn was du dafür gerne hättest.

            Soll ich das über den spenden Button machen?

            Es ist mir sehr wichtig das das mit dem modbus master in iobroker ordentlich läuft damit ich mein Hausbus darauf aufbauen kann und nicht am Ende doch bei hmwired oder knx lande.

            Gesendet von meinem Pixel mit Tapatalk

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

              Es ist mir genauso wichtig 🙂 Dass RTU Läuft.

              Da zweites Teil aus China ist, wird mir so ein Teil passen?

              https://www.reichelt.de/USB-Konverter/D … CLE=122187

              Und installier mal modbus von github, da ist schon dein Fehler gefixt.

              1 Reply Last reply Reply Quote 0
              • E
                enricoh831 last edited by

                Das Teil von Reichelt hatte ich auch schon anvisiert weil bei meinem China Teil die Lötstellen schon echt komisch aussehen.

                Ich würde aber trotzdem gerne was zu kommen lassen.

                Außerdem basteln ich gerade eine Platine zusammen mit 3 slaves drauf

                Wo jeder was anderes kann.

                Die wollte ich dir wenn die einigermaßen läuft gerne schicken.

                Gesendet von meinem Pixel mit Tapatalk

                1 Reply Last reply Reply Quote 0
                • E
                  enricoh831 last edited by

                  Habe das installiert.

                  Habe auch serialport 3.1.2 installiert

                  Node ist aber noch die 4.4.7

                  Solange ich keine register eintragen ist alles auf grün, aber sobald ich ein Holding reg eintrage ist im Log was von Buf.xyz ist not function und danach wieder diverse Fehler in Zeile xy von diversen Dateien.

                  Kann aber morgen nochmal nen Screenshot machen.

                  Hatte den Adapter auch komplett neu installiert.

                  Wenn ich über qmodbus auf die slaves zugreifen will meckert er immer wegen CRC liest aber trotzdem aus.

                  Gesendet von meinem Pixel mit Tapatalk

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

                    @Bluefox:

                    Es ist mir genauso wichtig 🙂 Dass RTU Läuft.

                    Da zweites Teil aus China ist, wird mir so ein Teil passen?

                    https://www.reichelt.de/USB-Konverter/D … CLE=122187

                    Und installier mal modbus von github, da ist schon dein Fehler gefixt. `

                    Da hänge ich mich mit dran weil mit genau dem Teil kämpfe ich ja rum.

                    Soll ich per Paypal spenden oder das Teil kaufen und dir zuschicken lassen?

                    Gesendet von iPhone mit Tapatalk

                    1 Reply Last reply Reply Quote 0
                    • E
                      enricoh831 last edited by

                      Ich denke das alle rtu Interessenten einfach Mal ne kleine Spende machen und bluefox ordert sich das was er braucht.

                      Gesendet von meinem Pixel mit Tapatalk

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

                        Paypal ist einfacher. Ich werde dann gleich bestellen.

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

                          @Bluefox:

                          Paypal ist einfacher. Ich werde dann gleich bestellen. `
                          Solltest schon was bekommen haben.

                          Gruß

                          Mirko

                          Gesendet von iPhone mit Tapatalk

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

                            Habe bestellt. Danke 😛

                            1 Reply Last reply Reply Quote 0
                            • E
                              enricoh831 last edited by

                              So hab auch noch was zu gepackt…Hoffe am Wochenende läuft das denn endlich [emoji23] [emoji23] [emoji23]

                              Gesendet von meinem Pixel mit Tapatalk

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

                                Hi,

                                kannst mir einer von euch bei mbusd <-> Iobroker helfen? Also im Prinzip bei RTU over TCP?

                                Ich habe auf einem zusätzlichen PI mbusd installiert und in iobroker einen weiteren Modbus Adapter so konfiguriert:

                                999_modbus1.jpg

                                Mbusd habe ich so gestartet:

                                 mbusd -v 2 -p /dev/ttyUSB0 -s 9600 -m 8N1 -P 502
                                

                                In meinem Zähler sehe ich wenn der Modbus Adapter läuft auch das Kommunikations Symbol aber ich bekomme einfach keine Werte.

                                Im iobroker log kommt das:

                                inMem	2017-01-19 12:00:55.827	debug	message modbus.1.* modbus.1.info.pollTime val=301, ack=true, ts=1484823655827, q=0, from=system.adapter.modbus.1, lc=1484823655827
                                inMem	2017-01-19 12:00:55.827	debug	message modbus.1.* modbus.1.holdingRegisters.544_Strom_L1 val=, ack=true, ts=1484823655819, q=0, from=system.adapter.modbus.1, lc=1484823655819
                                inMem	2017-01-19 12:00:55.525	debug	message modbus.1.* modbus.1.info.connection val=true, ack=true, ts=1484823655521, q=0, from=system.adapter.modbus.1, lc=1484823655521
                                modbus.1	2017-01-19 12:00:55.518	info	Connected to slave 192.168.178.67
                                modbus.1	2017-01-19 12:00:55.409	info	starting. Version 0.4.7 in /opt/iobroker/node_modules/iobroker.modbus, node: v4.7.2
                                modbus.1	2017-01-19 12:00:55.398	debug	statesDB connected
                                modbus.1	2017-01-19 12:00:55.387	debug	objectDB connected
                                

                                Ich weiß nicht was ich zum Auslesen der Holding register eintragen muss.

                                Als ich den Zähler mit USB/RS-485 Adapter an meinem WIN7 PC hatte konnte ich die Uhrzeit z.B. mit diesen Einstellungen auslesen:

                                999_rmms.jpg

                                Im Modbus Adapter muss aber noch ein Eintrag bei "Typ" bei den Registern erfolgen und da habe ich keine Idee was ich auswählen muss.

                                Habt ihr vielleicht eine Idee?

                                Anbei die Modbus Beschreibung des Zählers den ich gerne auslesen möchte.

                                999_diz-g_modbus-beschreibung-version-109_index01.pdf

                                Danke und Gruß

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

                                  Ich hab es rausbekommen.

                                  So funktioniert es:

                                  999_register_settings.jpg

                                  999_objekte.jpg

                                  Gruß

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

                                    Hallo,

                                    erst mal nur auf die schnelle, in der Beschreibung sind die Adressen in Hex, im IOBroker brauchst du sie dezimal.

                                    In deinen Beispiel FE34 Datum/Uhrzeit entspricht Adresse 65076.

                                    Die Netzfrequenz sollte demnach bei Adresse 653 als float angezeigt werden.

                                    Sollte es noch nicht funktionieren melde dich noch einmal.

                                    Schöne Grüße

                                    ThomasD

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      peet last edited by

                                      Hallo zusammen,

                                      vielen Dank an alle die an ioBroker aktiv mitwirken, sieht sehr spannend aus.

                                      Ich möchte mein Haus mit einer Wago PFC100 750-8100 steuern, übergeordnet soll IOBroker über Modbus TCP mit der Wago kommunizieren.

                                      Ich habe bereits erfolgreich testweise ein Ausgang schalten können aber es läuft noch nicht so wie ich es mir vorstelle.

                                      Die Buttons werden über diskrete Ausgänge gesendet und Schalten indirekt die Ausgänge. Nun möchte ich den status der Ausgänge abfragen das gelingt mir nur über Eingangsregister. Ich würde aber stattdessen Diskrete Eingänge (also binär) verwenden.

                                      In der Wago habe ich verschiedene Einstellungen versucht, die schlägt mir dann auch Adressen vor z.B. wenn Variable RW als Coil deklariert ist, wird Adresse >=32768 vorgeschlagen, als RO wird >= 0 vorgeschlagen. Mit den diskreten Ausgängen und Register klappt das auch wunderbar.

                                      Könnt ihr mir bitte sagen was ich wo wie genau eintragen muss? Danke.

                                      Anbei als Screenshots meine Einstellungen:
                                      1921_bildschirmfoto_2017-01-21_um_00.37.38.png
                                      1921_bildschirmfoto_2017-01-21_um_00.37.55.png
                                      1921_bildschirmfoto_2017-01-21_um_00.38.05.png

                                      Und ein Auszug aus dem Wago Handbuch:
                                      1921_bildschirmfoto_2017-01-20_um_23.22.49.png

                                      1 Reply Last reply Reply Quote 0
                                      • C
                                        Christian L. last edited by

                                        Hallo ich habe auch meine Steuerung auf einer Industrie Modbus Variante aufgebaut.

                                        Möchte nun auch die den I/O Broker nach und nach einführen.

                                        Welcher Abfragezyklus ist damit möglich?

                                        Ich muss 6 32bit Register oder 12 16bit Register auslesen.

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

                                          @Christian L.:

                                          Hallo ich habe auch meine Steuerung auf einer Industrie Modbus Variante aufgebaut.

                                          Möchte nun auch die den I/O Broker nach und nach einführen.

                                          Welcher Abfragezyklus ist damit möglich? `
                                          Hängt von deinem Rechner ab und natürlich von deiner Steuerung.

                                          Sollte empirisch ermittelt werden. Ich kann mir gut vorstellen, dass IoB auf dem PC auch 50ms schaffen kann. (Bei deiner Menge)

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

                                            @peet:

                                            Hallo zusammen,

                                            vielen Dank an alle die an ioBroker aktiv mitwirken, sieht sehr spannend aus.

                                            Ich möchte mein Haus mit einer Wago PFC100 750-8100 steuern, übergeordnet soll IOBroker über Modbus TCP mit der Wago kommunizieren.

                                            Ich habe bereits erfolgreich testweise ein Ausgang schalten können aber es läuft noch nicht so wie ich es mir vorstelle.

                                            Die Buttons werden über diskrete Ausgänge gesendet und Schalten indirekt die Ausgänge. Nun möchte ich den status der Ausgänge abfragen das gelingt mir nur über Eingangsregister. Ich würde aber stattdessen Diskrete Eingänge (also binär) verwenden.

                                            In der Wago habe ich verschiedene Einstellungen versucht, die schlägt mir dann auch Adressen vor z.B. wenn Variable RW als Coil deklariert ist, wird Adresse >=32768 vorgeschlagen, als RO wird >= 0 vorgeschlagen. Mit den diskreten Ausgängen und Register klappt das auch wunderbar.

                                            Könnt ihr mir bitte sagen was ich wo wie genau eintragen muss? Danke.

                                            Anbei als Screenshots meine Einstellungen:

                                            Bildschirmfoto 2017-01-21 um 00.37.38.png

                                            Bildschirmfoto 2017-01-21 um 00.37.55.png

                                            Bildschirmfoto 2017-01-21 um 00.38.05.png

                                            Und ein Auszug aus dem Wago Handbuch:

                                            Bildschirmfoto 2017-01-20 um 23.22.49.png `

                                            WER hat schon WAGO im Betrieb??

                                            Geht das? Kann jemand How-To erstellen? Ich warte immer noch auf meinem Slave. Und es wird kein WAGO sein.

                                            Bitte Wissen teilen. 😄

                                            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

                                            873
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            modbus modbus adapter
                                            140
                                            970
                                            304215
                                            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