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

      @Bluefox:

      @wendy2702:

      @Bluefox:

      Sollte gehen. Kannst du ausprobieren und dann kriegen wir das zum Laufen? `

      Hi,

      Adapter ist da.

      Bevor ich jetzt aber den Zähler in meine Verteilung einbaue wollte ich erstmal mit irgendeinem Modbus Simulator auf meinem PC Testen.

      Zähler ist folgender:

      http://emh-metering.com/media///emh-met … d-1.10.pdf

      Modbus Beschreibung soll diese sein:

      http://www.elko.ch/images/PDF_Elektroza ... ndex01.pdf

      Kann mir eventuell jemand beim Testen helfen?

      Welches Simulator Tool kann ich am besten verwenden. Habe WIN7 und WIN10 zur Verfügung.

      Wie wichtig sind die Abschlusswiderstände bei 1m Verkabelung?

      Freue mich über jede Unterstützung

      Mirko `
      Ich verwende zum testen die Programme hier: https://github.com/ioBroker/ioBroker.mo … aster/test

      http://www.plcsimulator.org/ ist Slave simulator (TCP) `

      Werde ich morgen mal testen.

      Gesendet von iPhone mit Tapatalk

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

                                            Support us

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

                                            859
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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