Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Modbus adapter

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    880

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Modbus adapter

Scheduled Pinned Locked Moved ioBroker Allgemein
modbus adaptermodbus
981 Posts 141 Posters 396.6k Views 64 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • wendy2702W Online
    wendy2702W Online
    wendy2702
    wrote on last edited by
    #485

    Läuft seit Monaten ohne Probleme.

    Versuche es erstmal mit nur einem Register und schaue ob das stabil läuft.

    Wenn es Probleme mit mehreren hat vermute ich ein timing Problem.

    Gesendet von iPhone mit Tapatalk Pro

    Bitte keine Fragen per PN, die gehören ins Forum!

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    1 Reply Last reply
    0
    • D Offline
      D Offline
      darkbrain85
      wrote on last edited by
      #486

      Ich habe jetzt mal einen RS485 Converter an meine Windows 10 VM durchgereicht und dort mit dem Tool QModMaster den Zähler permanent abgefragt.

      Das klappt genauso wie in IOBroker eine Weile ohne Probleme. Irgendwann (einer in mehreren Minuten) ist mal ein Poll dazwischen, der in ein Timeout läuft. Hier pollt QModMaster aber einfach weiter und der nächste Poll ist direkt wieder erfolgreich.

      An diesem Punkt scheint mit dem Modbus Adapter irgendwas falsch zu sein. Denn sobald hier ein Timeout erfolgt, gehen alle folgenden Abfragen schief und der Adapter muss erst neu gestartet werden.

      Vielleicht kann ja einer der Entwickler mal was dazu sagen. Ist es wirklich ein "Design Problem" in dem Adapter? Ich habe mal bei Guthub ein Issue aufgemacht… Vielleicht ist es keiner, aber ich kann es anders nicht mehr erklären...

      Lasse ich größere Abstände zwischen den Abfragen, läuft es tendenziell länger. Allerdings verringert das offensichtlich einfach nur die Wahrscheinlichkeit für ein Timeout.

      1 Reply Last reply
      0
      • F Offline
        F Offline
        Frank_Reich
        wrote on last edited by
        #487

        @darkbrain85:

        @wendy2702:

        Ich habe PI's im Einsatz und immer den Stick von Digitus. Dazu Verbindung mit CAT6 Kabel und Anschlußwiderstände. `

        Ich habe mir jetzt zusätzlich auch den Digitus Stick bestellt. Vielleicht muss ich auch noch 120 Ohm Widerstände besorgen. Ich habe momentan je 2 Widerstände mit rechnerisch 121 Ohm… aber das sollte ja nicht weiter relevant sein.

        Ist es eigentlich egal welche Art Widerstand man verwendet? `

        Die Art der Widerstände ist egal. Modbus kann auch mit 130 Ohm abgeschlossen werden. Es muss nicht präzise 120 Ohm sein.

        Zur Verbindung benutze ich eine verdrillte Zweidrahtleitung ohne Schirm, verlegt im Verdrahtungskanal der Unterverteilung, teils gekreuzt mit div. Einzeladern, welche 230V führen.

        Als Stick benutze ich den von Digitus.

        1 Reply Last reply
        0
        • D Offline
          D Offline
          darkbrain85
          wrote on last edited by
          #488

          Ich starte jetzt automatisch alle 2 Minuten den Modbus Adapter neu. Das liefert zuverlässig Werte. Die Unterbrechung von 3-4 Sekunden für den Neustart kann man ja vernachlässigen…

          Natürlich wäre eine Optimierung des Adapter trotzdem schön...

          1 Reply Last reply
          0
          • B Offline
            B Offline
            bkuerby
            wrote on last edited by
            #489

            Hallo zusammen,

            ich versuche gerade meine Wärmepumpe (Waterkotte Ai1+ mit WPCU-Regler) über Modbus RTU einzubinden.

            Grundsätzlich funktioniert die Verbindung sowohl über ioBroker als auch testweise über qmodbus.

            Zum Einen erhalte ich bei jeder Anfrage die timeout Meldung zum Anderen erhalte ich eine Meldung "unknown funktion code: 132".

            Bei der ersten Abfrage nach dem Einschalten der Instanz erscheint nur die timeout Meldung. Dabei werden die Variablenwerte auch aktualisiert. Ab der zweiten Abfrage erfolgt keine Aktualisierung mehr.

            modbus.0	2019-02-03 14:21:00.894	info	Disconnected from slave
            modbus.0	2019-02-03 14:20:59.884	warn	Poll error count: 12 code: {"err":"timeout"}
            modbus.0	2019-02-03 14:20:59.883	error	Request timed out.
            modbus.0	2019-02-03 14:20:59.883	warn	Error: undefined
            modbus.0	2019-02-03 14:20:54.984	error	unknown function code: 132
            modbus.0	2019-02-03 14:20:54.865	info	Connected to slave
            modbus.0	2019-02-03 14:19:57.610	info	Disconnected from slave
            modbus.0	2019-02-03 14:19:56.602	warn	Poll error count: 11 code: {"err":"timeout"}
            modbus.0	2019-02-03 14:19:56.602	error	Request timed out.
            modbus.0	2019-02-03 14:19:56.601	warn	Error: undefined
            modbus.0	2019-02-03 14:19:51.705	error	unknown function code: 132
            modbus.0	2019-02-03 14:19:51.595	info	Connected to slave
            
            

            18988_serial.jpg
            18988_input.jpg
            18988_holding.jpg

            Hat jemand eine Idee?

            Viele Grüße

            Bastian

            W 2 Replies Last reply
            0
            • D Offline
              D Offline
              darkbrain85
              wrote on last edited by
              #490

              Hi!

              Das steht bei mir auch noch auf dem Zettel… Aber erst muss die Waterkotte geliefert werden. Irgendwann Ende September/Anfang Oktober...

              Zum Thema:

              Versuch doch erstmal die Eingangsregister zu lesen. Das schreiben per Holding Register ist dann die nächste Hürde...

              Funktioniert das dann sauber?

              Wie ich oben schon schrieb, ist es aber ein generelles Problem, dass der Adapter bei einem Fehler keine Daten mehr abfragen kann. Das dürfte aus meiner Sicht so nicht passieren. Unabhängig ob nun eine Adresse falsch konfiguriert ist oder nicht...

              1 Reply Last reply
              0
              • wendy2702W Online
                wendy2702W Online
                wendy2702
                wrote on last edited by
                #491

                Mir fällt noch ein das ich noch mit der Version 2.07 vom Adapter unterwegs bin. Und das bisher ohne Probleme.

                Bitte keine Fragen per PN, die gehören ins Forum!

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                1 Reply Last reply
                0
                • B Offline
                  B Offline
                  bkuerby
                  wrote on last edited by
                  #492

                  Habe gerade auf ein Eingangsregister reduziert. Außerdem habe ich die max. Leseanforderung jeweils auf ein Register runtergesetzt. Irgendwo habe ich gelesen, dass es bei manchen Geräten Probleme gibt. Wobei ich aus meiner Erfahrung mit FHEM weiß, dass die Waterkotte damit klarkommen sollte.

                  Der Fehler im Log bleibt aber der gleiche. Ich verstehe den Funktion Code schon nicht.

                  Ich habe die aktuelle Version 2.0.9 installiert.

                  P.S.
                  > Aber erst muss die Waterkotte geliefert werden. Irgendwann Ende September/Anfang Oktober

                  Die arbeitet dann aber mit Modbus TCP, oder?

                  1 Reply Last reply
                  0
                  • D Offline
                    D Offline
                    darkbrain85
                    wrote on last edited by
                    #493

                    @bkuerby:

                    Die arbeitet dann aber mit Modbus TCP, oder? `

                    Ich hoffe es. Allerdings muss trotzdem noch ein Modbus Interface dabei gekauft werden. Waterkotte hat wohl kein Interesse daran die Modbus TCP Funktion einfach über das bereits bestehende Webinterface bereitzustellen.

                    1 Reply Last reply
                    0
                    • B Offline
                      B Offline
                      bkuerby
                      wrote on last edited by
                      #494

                      Im TCP-Modus habe ich den Adapter auch im Einsatz. Ich habe damit zwei Stromzähler angebunden. Das funktioniert auch einwandfrei. Die Kommunikation mit der Heizung über die serielle Schnittstelle macht Probleme

                      1 Reply Last reply
                      0
                      • D Offline
                        D Offline
                        darkbrain85
                        wrote on last edited by
                        #495

                        @bkuerby:

                        Im TCP-Modus habe ich den Adapter auch im Einsatz. Ich habe damit zwei Stromzähler angebunden. Das funktioniert auch einwandfrei. Die Kommunikation mit der Heizung über die serielle Schnittstelle macht Probleme `

                        Irgendwas ist da nicht wie es soll beim Zugriff auf die Serielle Schnittstelle… Ich überlege schon ob ich ein Modbus TCP Gateway aufsetze und es damit nochmal probiere. Aber dann habe ich wieder ein System mehr zu "versorgen"...

                        1 Reply Last reply
                        0
                        • E Offline
                          E Offline
                          eLichte
                          wrote on last edited by
                          #496

                          Hi,
                          ich habe jetzt auch den Modbus Adapter mit RS485 als Master im Einsatz.
                          Auch bei mir verabschiedet er sich regelmäßig mit timeout Fehlern.

                          Wenn er läuft sieht der log so aus:

                          modbus.0	2019-02-26 09:25:49.868	debug	Poll holdingRegs DevID(2) address 2051 - 12 bytes
                          modbus.0	2019-02-26 09:25:49.803	debug	Poll holdingRegs DevID(2) address 2003 - 27 bytes
                          modbus.0	2019-02-26 09:25:49.758	debug	Poll holdingRegs DevID(2) address 1000 - 1 bytes
                          modbus.0	2019-02-26 09:25:49.693	debug	Poll inputRegs DevID(2) address 2102 - 23 bytes
                          modbus.0	2019-02-26 09:25:49.601	debug	Poll inputRegs DevID(2) address 2006 - 53 bytes
                          modbus.0	2019-02-26 09:25:49.597	debug	Poll device 2
                          

                          Jetzt hätte ich dazu ein paar Fragen:

                          1. Kann man die Zeit zwischen den Requests irgendwo einstellen. Also z.b. die Zeit zwischen Poll Input-Adress 2006 und Input-Adress 2102. Mein Client will eine definierte Wartezeit zwischen seiner Antwort und einer neuen Anfrage. Evtl. ist das auch der Grund für die Timeouts, wenn der Master manchmal zu schnell ist.

                          2. Eigentlich will ich die Holding Register nur schreiben.
                            Dazu erschließt sich mir die Einstellungen Poll, WP und CW im Reiter "Holding Register" nicht. Ich dachte wenn ich Poll abwähle liest der Adapter die Register nicht mehr. Allerdings wird damit im iobroker das ganze Objekt gelöscht.
                            Was ist der Unterschied von WP (schreibe bei Änderung?) zu CW (schreibe zyklsich?)? Es wird irgendwie immer bei Änderung geschrieben. Auch hier könnte ein Timing Problem auftreten.

                          Vielen Dank schon mal im vorraus für die Antworten.

                          1 Reply Last reply
                          0
                          • E Offline
                            E Offline
                            eLichte
                            wrote on last edited by eLichte
                            #497

                            Der Verdacht zu Punkt 1 hat sich bestätigt. Der Master schickt zu schnell wieder eine Querry message an den Slave nach dessen Antwort. Wenn ich nur 5 zusammenhängende Register abfrage läuft die Kommunikation ohne Probleme.

                            modbus.0	2019-02-28 11:32:51.341	debug	Poll inputRegs DevID(2) address 2006 - 5 bytes
                            modbus.0	2019-02-28 11:32:51.341	debug	Poll device 2
                            modbus.0	2019-02-28 11:32:41.290	debug	Poll inputRegs DevID(2) address 2006 - 5 bytes
                            modbus.0	2019-02-28 11:32:41.290	debug	Poll device 2
                            

                            Auszug aus dem Handbuch einer Daikin Klimaanlage:

                            Daikin.JPG

                            (T1-T2-T3-T4) ist wie folgt definiert: 5ms bei 9600bps und 2,5ms bei 19200bps

                            Ich werde dazu einen Issue im Github erstellen. Evlt kann da jemand eine Verzögerungszeit einbauen. Meine Porgrammierkenntnisse reichen dafür leider nicht.

                            wendy2702W E 2 Replies Last reply
                            0
                            • D Offline
                              D Offline
                              darkbrain85
                              wrote on last edited by
                              #498

                              Das kann tatsächlich ein Grund sein!
                              Bei meinem Modbus Stromzähler kann ich dazu nichts finden. Aber eine Danfoss Steuerung die mir die selben Probleme macht, hat im Handbuch etwas von "relaxed timing" stehen. Allerdings ohne weitere Angaben wie das timing sein muss.
                              Eventuell ist das aber ein Hinweis in die Richtige Richtung!
                              Wie ich sehe hat Bluefox das ganze auf Github ja schon mit einem Label versehen.

                              1 Reply Last reply
                              0
                              • E eLichte

                                Der Verdacht zu Punkt 1 hat sich bestätigt. Der Master schickt zu schnell wieder eine Querry message an den Slave nach dessen Antwort. Wenn ich nur 5 zusammenhängende Register abfrage läuft die Kommunikation ohne Probleme.

                                modbus.0	2019-02-28 11:32:51.341	debug	Poll inputRegs DevID(2) address 2006 - 5 bytes
                                modbus.0	2019-02-28 11:32:51.341	debug	Poll device 2
                                modbus.0	2019-02-28 11:32:41.290	debug	Poll inputRegs DevID(2) address 2006 - 5 bytes
                                modbus.0	2019-02-28 11:32:41.290	debug	Poll device 2
                                

                                Auszug aus dem Handbuch einer Daikin Klimaanlage:

                                Daikin.JPG

                                (T1-T2-T3-T4) ist wie folgt definiert: 5ms bei 9600bps und 2,5ms bei 19200bps

                                Ich werde dazu einen Issue im Github erstellen. Evlt kann da jemand eine Verzögerungszeit einbauen. Meine Porgrammierkenntnisse reichen dafür leider nicht.

                                wendy2702W Online
                                wendy2702W Online
                                wendy2702
                                wrote on last edited by
                                #499

                                @eLichte sagte in Modbus:

                                Der Verdacht zu Punkt 1 hat sich bestätigt. Der Master schickt zu schnell wieder eine Querry message an den Slave nach dessen Antwort. Wenn ich nur 5 zusammenhängende Register abfrage läuft die Kommunikation ohne Probleme.

                                modbus.0	2019-02-28 11:32:51.341	debug	Poll inputRegs DevID(2) address 2006 - 5 bytes
                                modbus.0	2019-02-28 11:32:51.341	debug	Poll device 2
                                modbus.0	2019-02-28 11:32:41.290	debug	Poll inputRegs DevID(2) address 2006 - 5 bytes
                                modbus.0	2019-02-28 11:32:41.290	debug	Poll device 2
                                

                                Auszug aus dem Handbuch einer Daikin Klimaanlage:

                                Daikin.JPG

                                (T1-T2-T3-T4) ist wie folgt definiert: 5ms bei 9600bps und 2,5ms bei 19200bps

                                Ich werde dazu einen Issue im Github erstellen. Evlt kann da jemand eine Verzögerungszeit einbauen. Meine Porgrammierkenntnisse reichen dafür leider nicht.

                                Ich hatte ein ähnliches Problem mit einem Stromzähler.

                                Habe dann mal zum testen „alle“ lesbaren Register im Adapter eingetragen und seitdem läuft er.

                                Bitte keine Fragen per PN, die gehören ins Forum!

                                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                1 Reply Last reply
                                0
                                • D Offline
                                  D Offline
                                  darkbrain85
                                  wrote on last edited by darkbrain85
                                  #500

                                  Interessanter Ansatz... Ich teste das mal hier mit meinem Zähler.
                                  Da ist es noch überschaubar. Bei größeren Sachen wie meiner Danfoss Steuerung ist das aber quasi unmöglich. Die hat verdammt viele Register...

                                  1 Reply Last reply
                                  0
                                  • K Offline
                                    K Offline
                                    KanteTaete
                                    wrote on last edited by
                                    #501

                                    Hallo zusammen,

                                    ich habe Probleme mit dem Modbus Adapter, wenn ich mehr als einen Slave per Serial RTU abfragen möchte. Solange ich nur einen Slave abfrage (egal welchen der 3 möglichen), funktioniert das Ganze problemlos.

                                    Meine Konfiguration:

                                    • Raspi2 mit laufendem ioBroker
                                    • USB-RS485-Adapter zum Zugriff auf den Bus
                                    • Stromzähler, Typ ABB B23 (baugleich, auf Modbus-Adressen 1-3).

                                    Bei der Konfiguration des Adapters habe ich folgendes eingestellt:
                                    Konfig_Modbus_Allgemein.JPG

                                    Bei den Holding Registern werden diverse (50-60) Register vom Slave 3 gepollt.
                                    Die Abfrage dieser Register funktioniert problemlos, der "connection" Status bleibt immer auf true.
                                    Die Polltime beträgt ca. 1,8s.

                                    Sobald ich aber die Abfrage eines einzelnen Registers für Slave 1 oder 2 hinzufüge (ein Register vom Slave 3 verdoppelt auf den anderen Slave - die Slaves sind ja baugleich), erhalte ich timeouts.
                                    Außerdem wechselt der "connection" Status häufig (vermutlich beim Timeout) auf "false", die Polltime wird mit ca. 120ms angegeben.

                                    Hier die Logmeldungen:

                                    modbus.0	2019-04-30 11:58:10.577	info	Disconnected from slave
                                    modbus.0	2019-04-30 11:58:09.580	warn	Poll error count: 1 code: {"err":"timeout"}
                                    modbus.0	2019-04-30 11:58:09.579	error	Request timed out.
                                    modbus.0	2019-04-30 11:58:09.571	warn	Error: undefined
                                    modbus.0	2019-04-30 11:57:47.923	info	List of port: [{"comName":"/dev/ttyAMA0"},{"manufacturer":"1a86","pnpId":"usb-1a86_USB2.0-Serial-if00-port0","vendorId":"1a86","productId":"7523","comName":"/dev/ttyUSB0"}]
                                    modbus.0	2019-04-30 11:57:47.426	info	Connected to slave
                                    modbus.0	2019-04-30 11:57:43.801	info	starting. Version 2.0.9 in /opt/iobroker/node_modules/iobroker.modbus, node: v8.16.0
                                    host.myhost	2019-04-30 11:57:40.981	info	instance system.adapter.modbus.0 started with pid 16951
                                    

                                    Kann es sein, dass der Adapter mit mehreren Slaves nicht zurecht kommt?
                                    Müsste bei der Abfrage der beiden Slaves ggf. eine Wartezeit dazwischen eingebaut / diese vergrößert werden?

                                    Kennt jemand das Problem bzw. hat jemand die Abfrage mehrerer baugleicher Slaves fehlerfrei am Laufen?

                                    S 1 Reply Last reply
                                    0
                                    • K KanteTaete

                                      Hallo zusammen,

                                      ich habe Probleme mit dem Modbus Adapter, wenn ich mehr als einen Slave per Serial RTU abfragen möchte. Solange ich nur einen Slave abfrage (egal welchen der 3 möglichen), funktioniert das Ganze problemlos.

                                      Meine Konfiguration:

                                      • Raspi2 mit laufendem ioBroker
                                      • USB-RS485-Adapter zum Zugriff auf den Bus
                                      • Stromzähler, Typ ABB B23 (baugleich, auf Modbus-Adressen 1-3).

                                      Bei der Konfiguration des Adapters habe ich folgendes eingestellt:
                                      Konfig_Modbus_Allgemein.JPG

                                      Bei den Holding Registern werden diverse (50-60) Register vom Slave 3 gepollt.
                                      Die Abfrage dieser Register funktioniert problemlos, der "connection" Status bleibt immer auf true.
                                      Die Polltime beträgt ca. 1,8s.

                                      Sobald ich aber die Abfrage eines einzelnen Registers für Slave 1 oder 2 hinzufüge (ein Register vom Slave 3 verdoppelt auf den anderen Slave - die Slaves sind ja baugleich), erhalte ich timeouts.
                                      Außerdem wechselt der "connection" Status häufig (vermutlich beim Timeout) auf "false", die Polltime wird mit ca. 120ms angegeben.

                                      Hier die Logmeldungen:

                                      modbus.0	2019-04-30 11:58:10.577	info	Disconnected from slave
                                      modbus.0	2019-04-30 11:58:09.580	warn	Poll error count: 1 code: {"err":"timeout"}
                                      modbus.0	2019-04-30 11:58:09.579	error	Request timed out.
                                      modbus.0	2019-04-30 11:58:09.571	warn	Error: undefined
                                      modbus.0	2019-04-30 11:57:47.923	info	List of port: [{"comName":"/dev/ttyAMA0"},{"manufacturer":"1a86","pnpId":"usb-1a86_USB2.0-Serial-if00-port0","vendorId":"1a86","productId":"7523","comName":"/dev/ttyUSB0"}]
                                      modbus.0	2019-04-30 11:57:47.426	info	Connected to slave
                                      modbus.0	2019-04-30 11:57:43.801	info	starting. Version 2.0.9 in /opt/iobroker/node_modules/iobroker.modbus, node: v8.16.0
                                      host.myhost	2019-04-30 11:57:40.981	info	instance system.adapter.modbus.0 started with pid 16951
                                      

                                      Kann es sein, dass der Adapter mit mehreren Slaves nicht zurecht kommt?
                                      Müsste bei der Abfrage der beiden Slaves ggf. eine Wartezeit dazwischen eingebaut / diese vergrößert werden?

                                      Kennt jemand das Problem bzw. hat jemand die Abfrage mehrerer baugleicher Slaves fehlerfrei am Laufen?

                                      S Offline
                                      S Offline
                                      Stefan_io
                                      wrote on last edited by
                                      #502

                                      @KanteTaete das gleiche Problem habe ich auch, einen Slave kann ich einlesen, füge ich einen weiteren hinzu gibt es Timeout.

                                      hier meine Forumeintrag https://forum.iobroker.net/topic/22126/adapter-modbus-mehrere-geräte-ids-timeout-beim-auslesen-von-mehr-als-einen-teilnehmern

                                      1 Reply Last reply
                                      0
                                      • E eLichte

                                        Der Verdacht zu Punkt 1 hat sich bestätigt. Der Master schickt zu schnell wieder eine Querry message an den Slave nach dessen Antwort. Wenn ich nur 5 zusammenhängende Register abfrage läuft die Kommunikation ohne Probleme.

                                        modbus.0	2019-02-28 11:32:51.341	debug	Poll inputRegs DevID(2) address 2006 - 5 bytes
                                        modbus.0	2019-02-28 11:32:51.341	debug	Poll device 2
                                        modbus.0	2019-02-28 11:32:41.290	debug	Poll inputRegs DevID(2) address 2006 - 5 bytes
                                        modbus.0	2019-02-28 11:32:41.290	debug	Poll device 2
                                        

                                        Auszug aus dem Handbuch einer Daikin Klimaanlage:

                                        Daikin.JPG

                                        (T1-T2-T3-T4) ist wie folgt definiert: 5ms bei 9600bps und 2,5ms bei 19200bps

                                        Ich werde dazu einen Issue im Github erstellen. Evlt kann da jemand eine Verzögerungszeit einbauen. Meine Porgrammierkenntnisse reichen dafür leider nicht.

                                        E Offline
                                        E Offline
                                        eLichte
                                        wrote on last edited by
                                        #503

                                        @eLichte said in Modbus:

                                        Der Verdacht zu Punkt 1 hat sich bestätigt. Der Master schickt zu schnell wieder eine Querry message an den Slave nach dessen Antwort. Wenn ich nur 5 zusammenhängende Register abfrage läuft die Kommunikation ohne Probleme.

                                        modbus.0	2019-02-28 11:32:51.341	debug	Poll inputRegs DevID(2) address 2006 - 5 bytes
                                        modbus.0	2019-02-28 11:32:51.341	debug	Poll device 2
                                        modbus.0	2019-02-28 11:32:41.290	debug	Poll inputRegs DevID(2) address 2006 - 5 bytes
                                        modbus.0	2019-02-28 11:32:41.290	debug	Poll device 2
                                        

                                        Auszug aus dem Handbuch einer Daikin Klimaanlage:

                                        Daikin.JPG

                                        (T1-T2-T3-T4) ist wie folgt definiert: 5ms bei 9600bps und 2,5ms bei 19200bps

                                        Ich werde dazu einen Issue im Github erstellen. Evlt kann da jemand eine Verzögerungszeit einbauen. Meine Porgrammierkenntnisse reichen dafür leider nicht.

                                        Ich habe im Github einen Fork gezogen und quick&dirty mit meinen bescheidenen Programmierkenntnissen eine sleep-Funktion eingebaut. Wollte nur mal testen ob das tatsächlich was bringt. Das log sieht jetzt so aus:

                                        modbus.0	2019-05-10 10:26:07.043	debug	Poll holdingRegs DevID(2) address 2051 - 12 bytes
                                        modbus.0	2019-05-10 10:26:06.836	debug	Wait: 100ms
                                        modbus.0	2019-05-10 10:26:06.835	debug	Poll holdingRegs DevID(2) address 2003 - 27 bytes
                                        modbus.0	2019-05-10 10:26:06.692	debug	Wait: 100ms
                                        modbus.0	2019-05-10 10:26:06.692	debug	Poll holdingRegs DevID(2) address 1000 - 1 bytes
                                        modbus.0	2019-05-10 10:26:06.517	debug	Wait: 100ms
                                        modbus.0	2019-05-10 10:26:06.516	debug	Poll inputRegs DevID(2) address 3634 - 8 bytes
                                        modbus.0	2019-05-10 10:26:06.324	debug	Wait: 100ms
                                        modbus.0	2019-05-10 10:26:06.324	debug	Poll inputRegs DevID(2) address 3602 - 18 bytes
                                        modbus.0	2019-05-10 10:26:06.119	debug	Wait: 100ms
                                        modbus.0	2019-05-10 10:26:06.118	debug	Poll inputRegs DevID(2) address 2102 - 23 bytes
                                        modbus.0	2019-05-10 10:26:05.844	debug	Wait: 100ms
                                        modbus.0	2019-05-10 10:26:05.844	debug	Poll inputRegs DevID(2) address 2006 - 53 bytes
                                        modbus.0	2019-05-10 10:26:05.700	debug	Wait: 100ms
                                        modbus.0	2019-05-10 10:26:05.700	debug	Poll inputRegs DevID(2) address 0 - 1 bytes
                                        modbus.0	2019-05-10 10:26:05.699	debug	Poll device 2
                                        

                                        So läuft die Kommunikation seid ein paar Wochen ohne Fehler. Es ist also tatsächlich so, dass der Server für manche Clients zu schnell ist.

                                        1 Reply Last reply
                                        0
                                        • D Offline
                                          D Offline
                                          darkbrain85
                                          wrote on last edited by darkbrain85
                                          #504

                                          Das scheint tatsächlich die Lösung zu sein!
                                          Mein Stromzähler lässt sich nun auch auslesen. Ich hatte zwischenzeitlich ein Gateway (mbusd) dazwischen um diesen "bug" in iobroker zu umgehen. Dort kann man exakt diese Zeit auch konfigurieren. Das hilft natürlich nicht bei TCP Verbindungen.

                                          Möglicherweise ist eine Konfiguration aber auch nicht notwendig. Ich glaube das die Wartezeit von 100ms grundsätzlich funktionieren wird.

                                          Irgendwie will nur ein Host in meiner Multihost Umgebung die neue Version nicht nutzen. Dort wird noch wie vor nicht gewartet. Keine Ahnung warum. Upload habe ich bereits gemacht...

                                          Willst Du das auf Github auch mal für Bluefox als PR bereitstellen? Dann kann er es ja leicht hinzufügen oder es notfalls noch verbessern.

                                          Edit: Zu früh gefreut... Ich habe jetzt doch nach einiger Zeit wieder Verbindungsabbrüche. Schade. Mit dem Gateway hat es völlig schmerzfrei funktioniert.

                                          Edit: Ich habe nun selbst auch einen Fork gemacht und Deine Änderungen gemerged. Ich habe nun allerdings 500ms eingestellt, da dies beim Gateway auch so war. Test läuft, ich bin gespannt...

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

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

                                          561

                                          Online

                                          32.6k

                                          Users

                                          82.1k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe