Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Adapter Modbus: Mehrere Geräte IDs / Timeout beim auslesen von mehr als einen Teilnehmern

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    483

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.6k

Adapter Modbus: Mehrere Geräte IDs / Timeout beim auslesen von mehr als einen Teilnehmern

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
modbusadapter
20 Beiträge 12 Kommentatoren 6.4k Aufrufe 11 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • K Offline
    K Offline
    KanteTaete
    schrieb am zuletzt editiert von
    #4

    Als nächstes sollten wir prüfen, was denn wirklich auf dem Modbus gesendet wird.
    Da gibt's ein paar Windows-Programme, mit denen man direkt auf dem Modbus senden und auch den Datenverkehr mithören kann.
    Ich hab nen 2. Modbus-USB-Adapter, mit dem ich parallel mal probieren kann, den Datenverkehr mitzuschneiden.
    Allerdings wird das ein wenig dauern, da mein Bus nicht mehr im Arbeitszimmer verfügbar ist und ich somit mit meinem Laptop den Raspi im Heizraum besuchen muss...:pensive:

    Oder gibt's schon weitere Erkenntnisse?

    S 1 Antwort Letzte Antwort
    0
    • K KanteTaete

      Als nächstes sollten wir prüfen, was denn wirklich auf dem Modbus gesendet wird.
      Da gibt's ein paar Windows-Programme, mit denen man direkt auf dem Modbus senden und auch den Datenverkehr mithören kann.
      Ich hab nen 2. Modbus-USB-Adapter, mit dem ich parallel mal probieren kann, den Datenverkehr mitzuschneiden.
      Allerdings wird das ein wenig dauern, da mein Bus nicht mehr im Arbeitszimmer verfügbar ist und ich somit mit meinem Laptop den Raspi im Heizraum besuchen muss...:pensive:

      Oder gibt's schon weitere Erkenntnisse?

      S Offline
      S Offline
      Stefan_io
      schrieb am zuletzt editiert von
      #5

      @KanteTaete
      Ich habe auch noch keine neuen Erkenntnisse. Habe mal die aktuelle Version von Git installiert aber die bringt auch keine Verbesserung.

      Hier noch mal das Log:

      • 2019-05-13 13:10:32.847 - debug: modbus.0 objectDB connected
        2019-05-13 13:10:32.905 - debug: modbus.0 statesDB connected
        2019-05-13 13:10:33.025 - info: modbus.0 starting. Version 3.0.0 in /opt/iobroker/node_modules/iobroker.modbus, node: v8.16.0
        2019-05-13 13:10:33.550 - debug: modbus.0 connect to serial /dev/ttyUSB0 with 2400
        2019-05-13 13:10:33.565 - info: modbus.0 Connected to slave
        2019-05-13 13:10:33.567 - debug: modbus.0 Poll device 2
        2019-05-13 13:10:33.569 - debug: modbus.0 Poll inputRegs DevID(2) address 0 - 2 bytes
        2019-05-13 13:10:33.733 - debug: modbus.0 received answer for wrong ID 2, expected 1
        2019-05-13 13:10:33.744 - debug: modbus.0 Poll device 3
        2019-05-13 13:10:33.745 - debug: modbus.0 Poll inputRegs DevID(3) address 0 - 2 bytes
        2019-05-13 13:10:43.757 - warn: modbus.0 Error: undefined
        2019-05-13 13:10:43.758 - error: modbus.0 Request timed out.
        2019-05-13 13:10:43.759 - warn: modbus.0 Poll error count: 1 code: {"err":"timeout"}
        2019-05-13 13:10:43.762 - debug: modbus.0 Poll device 4
        2019-05-13 13:10:43.763 - debug: modbus.0 Poll inputRegs DevID(4) address 0 - 2 bytes
        2019-05-13 13:10:44.762 - info: modbus.0 Disconnected from slave
        2019-05-13 13:10:44.769 - debug: modbus.0 Clearing timeout of the current request.
        2019-05-13 13:10:44.770 - debug: modbus.0 Cleaning up request fifo.
        2019-05-13 13:11:41.969 - debug: modbus.0 system.adapter.admin.0: logging false
        2019-05-13 13:11:44.767 - debug: modbus.0 connect to serial /dev/ttyUSB0 with 2400
        2019-05-13 13:11:44.774 - info: modbus.0 Connected to slave
        2019-05-13 13:11:44.776 - debug: modbus.0 Poll device 2
        2019-05-13 13:11:44.776 - debug: modbus.0 Poll inputRegs DevID(2) address 0 - 2 bytes
        2019-05-13 13:11:48.020 - debug: modbus.0 system.adapter.admin.0: logging true
        2019-05-13 13:11:54.780 - warn: modbus.0 Error: undefined
        2019-05-13 13:11:54.782 - error: modbus.0 Request timed out.
        2019-05-13 13:11:54.783 - warn: modbus.0 Poll error count: 2 code: {"err":"timeout"}
        2019-05-13 13:11:54.785 - debug: modbus.0 Poll device 3
        2019-05-13 13:11:54.788 - debug: modbus.0 Poll inputRegs DevID(3) address 0 - 2 bytes
        2019-05-13 13:11:55.784 - info: modbus.0 Disconnected from slave
        2019-05-13 13:11:55.789 - debug: modbus.0 Clearing timeout of the current request.
        2019-05-13 13:11:55.790 - debug: modbus.0 Cleaning up request fifo.

      Was mich irritiert ist die Fett markierte Zeile erwartet immer die Antwort von der auf der ID die unter den Allgemeinen Einstellt ist.

      Neu sind auch die drei Punkte unten. Was kann ich hiermit machen ?

      3b9c857d-d008-4f28-9783-9ca043e3fcea-grafik.png

      Aktuell verwende ich einen CP2102 USB<>R485 Wandler an meinem IOBorker RasPI. Werde mir den Bus auch mal bei Gelegenheit mit dem Oszilloskop ansehen , kann aber was dauern.

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        Stefan_io
        schrieb am zuletzt editiert von Stefan_io
        #6

        Habe noch weiter getestet.

        1. Ich habe mal wieder den USB-RS485 Stick in meinen Win10 Rechner gesteckt und dann per Modbus Poll mir die 4 Slave angelegt und jeweils die 3001 (Spannung) der Zähler ausgelesen.
          Wenn ich die Scan Rate zu niedrig setzt, bekomme ich Timeout Fehler. Aber mit 4000ms läuft es stabil.
          Aber daran kann es nicht liegen, im IOBroker habe ich 10sec eingestellt

        2. Ich habe mir mit dem Oszilloskop mal das Geschehen auf dem Bus angesehen.
          Ich habe keine Pause (min. 3,5 Zeichen bei 2400Baud ca 16ms) zwischen den Abfragen von 1.Slave und deren Antwort und der Abfrage von 2. Slave gesehen.
          Es kommt keine Antwort von 2.Slave.
          Nach Ablauf der Eingestellten Reconnet Time (bei mir 60 sec) wird die Anfrage an den 1.Slave wiederholt. Jetzt Antwortet auch der 1. Slave auch nicht mehr. Wenn ich die Modbus Instanz neu Starte bekomme ich sofort eine Antwort von 1.Slave

        Es sieht so aus als wenn die Modbus Instanz den Bus nicht richtig Frei gibt. Weiss einer wie die Richtungs-Kontrolle beim bei einem USB<>485 Sticke mit FTDI und CP2102 Chip erfolgt.

        1 Antwort Letzte Antwort
        0
        • S Offline
          S Offline
          Stefan_io
          schrieb am zuletzt editiert von
          #7

          Habe im FTDI Datenblatt zum Thema Direction Control nachgelesen.
          Das macht der Chip, sofern CBUS2 richtig konfiguriert, selber.

          " Note that the TXDENis activated 1 bit period before the start bit. TXDENis deactivated at the same time as the stop bit. This is not configurable "

          S 1 Antwort Letzte Antwort
          0
          • S Stefan_io

            Habe im FTDI Datenblatt zum Thema Direction Control nachgelesen.
            Das macht der Chip, sofern CBUS2 richtig konfiguriert, selber.

            " Note that the TXDENis activated 1 bit period before the start bit. TXDENis deactivated at the same time as the stop bit. This is not configurable "

            S Offline
            S Offline
            Stefan_io
            schrieb am zuletzt editiert von Stefan_io
            #8

            Da es hier keine Lösung gibt habe ich jetzt eine Workaround gefunden.
            Ich habe auf dem ioBroker Raspi das Programm mbusd https://github.com/3cky/mbusd installiert und den Modbus-Adapter per TCP verbunden . Nun kann ich alle Slaves einlesen.

            @KanteTaete ist vielleicht auch eine Lösung für dich?

            1 Antwort Letzte Antwort
            0
            • I Offline
              I Offline
              ioStarter
              schrieb am zuletzt editiert von
              #9

              Hi Stefan,
              ich bin gerade neu in dieses Thema eingestiegen und möchte auch gerne mehrere Stromzähler (Z.B. SDM120) über den Modbus an einem USB Port eines Rasperry Pi anschließen.
              Im Moment habe ich jedoch noch Startprobleme, wie das auch in der Praxis aussieht und benötige noch viel Input.
              Könntest Du hier vielleicht eine Projektbeschreibung einstellen, wie Du das für Dich gelöst hast?
              Anbindung der Zähler und Konfiguration im ioBroker?
              Viele Grüße

              1 Antwort Letzte Antwort
              0
              • B Offline
                B Offline
                bibabuma
                schrieb am zuletzt editiert von
                #10

                Hallo zusammen,
                ich habe aktuell exakt das gleiche Problem wie von Stefan_io beschrieben.

                Ich verwende 3 x SDM120M. Jeden einzelnen Stromzähler kann ich per Adapter abfragen, im "Multibetrieb" klappt das nicht.

                Hat jemand den Adapter mit mehreren Geräten unter "Serial" im Einsatz? Wie sieht da die Konfiguration aus? Kann jemand helfen?

                Gruß
                Tom

                1 Antwort Letzte Antwort
                0
                • sven wilhelmiS Offline
                  sven wilhelmiS Offline
                  sven wilhelmi
                  schrieb am zuletzt editiert von
                  #11

                  Hallo zusammen,
                  ich habe auch das gleiche Problem. Ein Slave funktioniert, sobald es mehrere werden, geht es nicht mehr.
                  Habe jetzt schon rausgefunden, dass die Modbus Instanz immer nur an die niedrigste Slave ID sendet.

                  In einem anderen Beitrag stand, dass man mehrere Instanzen anlegen soll. Ich möchte aber insgesamt über 100 Slaves anschließen, kann ja dafür keine 100 Instanzen erstellen.

                  Habt ihr eine Lösung gefunden ?

                  Danke im Voraus
                  Sven

                  1 Antwort Letzte Antwort
                  0
                  • cbundC Offline
                    cbundC Offline
                    cbund
                    schrieb am zuletzt editiert von
                    #12

                    Bräuchte die Funktion auch. Funktioniert es bei euch?

                    cbundC 1 Antwort Letzte Antwort
                    0
                    • cbundC cbund

                      Bräuchte die Funktion auch. Funktioniert es bei euch?

                      cbundC Offline
                      cbundC Offline
                      cbund
                      schrieb am zuletzt editiert von
                      #13

                      @cbund also mehrere Geräte über den IObroker mit Rtu adapter funktioniert bei mir nicht. Ich habe es mit obigem Tool mbusd gelöst. Das funktioniert zumindest bei 2 Stromzählern.

                      1 Antwort Letzte Antwort
                      0
                      • David FriedrichD Offline
                        David FriedrichD Offline
                        David Friedrich
                        schrieb am zuletzt editiert von David Friedrich
                        #14

                        Hallo zusammen, ich habe VenusOS auf dem Raspberry 4 laufen.
                        Bei mir läuft der ModBus Adapter auch mit mehr als einem Slave.
                        Meine Config:![alt text](ModBus_config.jpg image url)
                        Eingangsregister:eingagsregister_1.jpg
                        eingangsregister_2.jpg

                        Im Eingangsregister habe ich die SlaveID vergeben.

                        IoBroker Objekte:
                        broker_snap_1.jpg
                        broker_snap_2.jpg
                        broker_snap_3.jpg

                        Einige Werte in der Excel stimmen nicht ganz:
                        Bei Adresse 3 der Scale Factor ist nicht 10 sondern 0.1
                        Das ist auch bei den angaben für Hz, A DC, AV (Watt).

                        Jetzt muss ich es nur noch schaffen das ich die Einstellungen am System vom Broker ändern kann.

                        cbundC 1 Antwort Letzte Antwort
                        0
                        • David FriedrichD David Friedrich

                          Hallo zusammen, ich habe VenusOS auf dem Raspberry 4 laufen.
                          Bei mir läuft der ModBus Adapter auch mit mehr als einem Slave.
                          Meine Config:![alt text](ModBus_config.jpg image url)
                          Eingangsregister:eingagsregister_1.jpg
                          eingangsregister_2.jpg

                          Im Eingangsregister habe ich die SlaveID vergeben.

                          IoBroker Objekte:
                          broker_snap_1.jpg
                          broker_snap_2.jpg
                          broker_snap_3.jpg

                          Einige Werte in der Excel stimmen nicht ganz:
                          Bei Adresse 3 der Scale Factor ist nicht 10 sondern 0.1
                          Das ist auch bei den angaben für Hz, A DC, AV (Watt).

                          Jetzt muss ich es nur noch schaffen das ich die Einstellungen am System vom Broker ändern kann.

                          cbundC Offline
                          cbundC Offline
                          cbund
                          schrieb am zuletzt editiert von
                          #15

                          @David-Friedrich Hallo es ging um den Modbus RTU. Du hast TCP da funktionieren die mehreren Slaves.

                          D 1 Antwort Letzte Antwort
                          0
                          • cbundC cbund

                            @David-Friedrich Hallo es ging um den Modbus RTU. Du hast TCP da funktionieren die mehreren Slaves.

                            D Offline
                            D Offline
                            dagrizzly
                            schrieb am zuletzt editiert von
                            #16

                            Besteht das Problem bei euch immernoch?
                            Beschränkt es sich auf die Serielle Abfrage?
                            Kann man die Multi Slave Problematik evtl. umgehen mittels eines TCP/Rtu Gateways und dann die Anfragen nur über TCP machen?

                            Danke für Eure Rückmeldung.

                            Grüße Raphael

                            P 1 Antwort Letzte Antwort
                            0
                            • D dagrizzly

                              Besteht das Problem bei euch immernoch?
                              Beschränkt es sich auf die Serielle Abfrage?
                              Kann man die Multi Slave Problematik evtl. umgehen mittels eines TCP/Rtu Gateways und dann die Anfragen nur über TCP machen?

                              Danke für Eure Rückmeldung.

                              Grüße Raphael

                              P Offline
                              P Offline
                              peterfido
                              schrieb am zuletzt editiert von
                              #17

                              @dagrizzly
                              Der Modbus Adapter lief bei mir nie zuverlässig. Ständig timeouts. Ich nutze seit einiger Zeit Node-Red für Modbus (und Easy-E4 sowie serielle Kommunikation). Das läuft bei mir absolut zufriedenstellend.

                              Zwischenzeitlich habe ich den USB Modbus-Adapter durch usriot TCP Modbus ersetzt. Läuft noch stabiler (die gelegentlichen CRC-fehler sind weg). Wichtig sind die Pausen zwischen den Abfragen. Setze ich die zu klein, gibt es auch da timeouts. Node-Red startet dann allerdings die Kommunikation (sauber) von vorn inkl. Initialisierung der Schnittstelle.

                              Gruß

                              Peterfido


                              Proxmox auf Intel NUC12WSHi5
                              ioBroker: Debian (VM)
                              CCU: Debmatic (VM)
                              Influx: Debian (VM)
                              Grafana: Debian (VM)
                              eBus: Debian (VM)
                              Zigbee: Debian (VM) mit zigbee2mqtt

                              V 1 Antwort Letzte Antwort
                              0
                              • P peterfido

                                @dagrizzly
                                Der Modbus Adapter lief bei mir nie zuverlässig. Ständig timeouts. Ich nutze seit einiger Zeit Node-Red für Modbus (und Easy-E4 sowie serielle Kommunikation). Das läuft bei mir absolut zufriedenstellend.

                                Zwischenzeitlich habe ich den USB Modbus-Adapter durch usriot TCP Modbus ersetzt. Läuft noch stabiler (die gelegentlichen CRC-fehler sind weg). Wichtig sind die Pausen zwischen den Abfragen. Setze ich die zu klein, gibt es auch da timeouts. Node-Red startet dann allerdings die Kommunikation (sauber) von vorn inkl. Initialisierung der Schnittstelle.

                                V Offline
                                V Offline
                                V8Turbo
                                schrieb am zuletzt editiert von
                                #18

                                @peterfido Hatte hier mal jemand eine Lösung ? Habe das problem sobald ich mehr als eine Registeradresse auslese das ich CRC Fehler bekomme.

                                O 1 Antwort Letzte Antwort
                                0
                                • V V8Turbo

                                  @peterfido Hatte hier mal jemand eine Lösung ? Habe das problem sobald ich mehr als eine Registeradresse auslese das ich CRC Fehler bekomme.

                                  O Offline
                                  O Offline
                                  onweb
                                  schrieb am zuletzt editiert von onweb
                                  #19

                                  @v8turbo

                                  Ich habe festgestellt, dass man mehrere Geräte IDs benutzen kann, aber die Adresse niemals doppelt verwendet werden darf.
                                  Dies ist womöglich ein Problem von ioBroker bei der Interpretation der Konfiguration?

                                  Ich habe hier 2 Module, eins mit der ID1 und das andere mit ID 32.

                                  Digital Ausgang **0** auf **ID 1**
                                  Digital Ausgang **1** auf **ID 1**
                                  Digital Ausgang **2** auf **ID 32**
                                  

                                  dies klappt, aber wehe man fügt hinzu

                                  Digital Ausgang **2** auf **ID 1**
                                  

                                  dann ist der Adapter Fehlerhaft, sobal man darauf schreibt.
                                  Wahrscheinlich weil es Ausgang 2 schon gibt, nach irgendeiner internen Interpretation?

                                  M 1 Antwort Letzte Antwort
                                  0
                                  • O onweb

                                    @v8turbo

                                    Ich habe festgestellt, dass man mehrere Geräte IDs benutzen kann, aber die Adresse niemals doppelt verwendet werden darf.
                                    Dies ist womöglich ein Problem von ioBroker bei der Interpretation der Konfiguration?

                                    Ich habe hier 2 Module, eins mit der ID1 und das andere mit ID 32.

                                    Digital Ausgang **0** auf **ID 1**
                                    Digital Ausgang **1** auf **ID 1**
                                    Digital Ausgang **2** auf **ID 32**
                                    

                                    dies klappt, aber wehe man fügt hinzu

                                    Digital Ausgang **2** auf **ID 1**
                                    

                                    dann ist der Adapter Fehlerhaft, sobal man darauf schreibt.
                                    Wahrscheinlich weil es Ausgang 2 schon gibt, nach irgendeiner internen Interpretation?

                                    M Offline
                                    M Offline
                                    MyMeyer
                                    schrieb am zuletzt editiert von
                                    #20

                                    @onweb Hi das Thema ist zwar schon älter aber genau mein Problem. Wie hast Du das mit den gleichen Geräte-ID´s geklärt ? So sieht es aktuell bei mir aus:
                                    db598e1f-6ebe-49ac-a9a6-59e975cf8365-image.png

                                    MyMeyer

                                    >>> Hardware: Intel I5 mit ****Debian ProxMox OS: Debian **** <<< >>> Network with UniFi <<<
                                    >>> HomeMatic CCU-2 (Wired und Funk) / Philips HUE / Echo.DOT / Echo.SHOW / Xiaomi Smart-Home / Xiaomi Robot Vacuum Cleaner / Synology DS 918+ / Shelly 1&2 <<<

                                    1 Antwort Letzte Antwort
                                    0
                                    Antworten
                                    • In einem neuen Thema antworten
                                    Anmelden zum Antworten
                                    • Älteste zuerst
                                    • Neuste zuerst
                                    • Meiste Stimmen


                                    Support us

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

                                    549

                                    Online

                                    32.5k

                                    Benutzer

                                    81.8k

                                    Themen

                                    1.3m

                                    Beiträge
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                    ioBroker Community 2014-2025
                                    logo
                                    • Anmelden

                                    • Du hast noch kein Konto? Registrieren

                                    • Anmelden oder registrieren, um zu suchen
                                    • Erster Beitrag
                                      Letzter Beitrag
                                    0
                                    • Home
                                    • Aktuell
                                    • Tags
                                    • Ungelesen 0
                                    • Kategorien
                                    • Unreplied
                                    • Beliebt
                                    • GitHub
                                    • Docu
                                    • Hilfe