Navigation

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

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Modbus - Erste Schritte

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

      Hi, auf dem ersten Blick ändert sich leider nichts. :?

      Die Werte bleiben gleich dem 16 Bit. Habe auch die anderen 8Bit Möglichkeiten ohne Erfolg durchgetestet.

      Konntest du die LIB einmal anschauen, was die anders macht, wie dein Adapter?

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

        Wie hast du deine Werte konfiguriert?
        48_2016-10-23_16_31_38-iobroker.admin.png
        48_2016-10-23_16_32_14-iobroker.admin.png

        Bei mir geht es.

        1 Reply Last reply Reply Quote 0
        • N
          NightWatcher last edited by

          Auch so, wie bei dir

          EDIT: Wenn ich den Host Neustarte, dann nimmt er es auch und ich sehe bei 8Bit Big Endian den richtigen Wert.

          Nichts desto trotz ist es ja in der Wago ein und der gleiche Datentyp und man muss aktuell immer testen, welchen Typ man in ioBroker nimmt. Denn endweder geht es mit 8Bit oder 16Bit.

          In meinem PHP Script kann ich es doch auch sauber auslesen und vor einigen Tagen klappte es auch in ioBroker noch einwandfrei. Meines Erachtens ist noch irgendwo im Adapter ein Bug. Leider steige ich nicht hinter denen Code und kann es auch nicht sauber debuggen 😐

          EDIT2: Was anderes wie den Wert 255 kennt er bei 8Bit bei mir aber auch nicht :lol: Unabhängig was in der Wago auf der Adresse hinterlegt ist.
          1534_bild001.png

          1 Reply Last reply Reply Quote 0
          • N
            NightWatcher last edited by

            Hilft das hier vielleicht?

            Links der Simulator - kennst du ja 🙂

            Rechts die in der Wago hinterlegten Werte in der LIVE Ansicht.
            1534_bild001.png

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

              Ich habe jetzt so gemacht wie bei dir. Slave Simulator liest gleiche Werte.
              48_2016-10-24_19_38_25-radzio__modbus_master_simulator.png
              48_2016-10-24_19_41_23-iobroker.admin.png
              Bei mir GEHT alles.

              Ich habe nichts geändert, aber update mal vom git noch mal und starte Adapter neu.

              Irgendwo muss doch der Fehler liegen.

              1 Reply Last reply Reply Quote 0
              • K
                KeyOz last edited by

                Hallo,

                hat schonmal jemand versucht den Energiezähler SDM630 über modbus RTU anzubinden?

                Ich habe da so meine Probleme mit. Siehe hier: http://forum.iobroker.net/viewtopic.php?f=8&t=3994

                Wenn da jemand eine idee hat wäre das toll.. momentan gehe ich über den umweg der umsetzunf von Modbus RTU nach Modbus TCP mittels http://mbus.sourceforge.net/index.html würde das mir aber lieber sparen.

                1 Reply Last reply Reply Quote 0
                • N
                  NightWatcher last edited by

                  @Bluefox,

                  ich komme einfach nicht dahinter.

                  Nun sieht es bei mir so aus. Das verwunderliche ist eben, dass es in meinen Testscripten immer funktioniert. Es werden die korrekten Werte angezeigt.

                  Habe die Daten aus Radzio mal in Ananas eingegeben und eine neue Modbus Instanz auf den Ananas Server eröffnet. Dort bekomme ich das gleiche Ergebnis. Kann man also nachstellen.
                  1534_bild001.png
                  1534_bild002.png

                  1 Reply Last reply Reply Quote 0
                  • N
                    NightWatcher last edited by

                    So, ich glaube ich habs:

                    https://github.com/ioBroker/ioBroker.mo … in.js#L355

                    an dern in:
                    1534_bild003.png

                            	if( (offset * 2 + 1)%2 == 1)
                            		return buffer.readUInt8(offset * 2);
                            	else
                                	return buffer.readUInt8(offset * 2 + 1);
                    

                    Ergebnis:
                    1534_bild004.png

                    Habe einfach mal den 8Bit Datentyp dafür missbraucht, auch wenn er dafür nicht gedacht ist, aber mir ging es erstmal darum, den Fehler zu finden. 8-)

                    Das ganze müsste auch noch aufs schreiben portiert werden. Der Akku vom Notebook ist nur jetzt leider leer und das Netzteil nicht vor Ort :?

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

                      (X * 2 +1) % 2 = 1
                      
                      

                      Immer.

                      D.h du hast dann falsches Typ benutzt.

                      Es ist Little endian. 8 bit.

                      1 Reply Last reply Reply Quote 0
                      • N
                        NightWatcher last edited by

                        Nein, die anderen Typen funktionieren auch nicht. Es klappt NUR mit meinem Script.

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

                          Du verstehst aber dass

                          (X * 2 +1) % 2 = 1 % 2 = 1
                          
                          

                          oder?

                          D.h es wird immer diese Zeile aktiv:

                          buffer.readUInt8(offset * 2);
                          
                          

                          Und genau so eine Zeile steht bei uint8le

                          Das kann man sogar auf deinem Bild sehen.

                          D.h. dass uint8le nicht geht, oder … k. A.

                          1 Reply Last reply Reply Quote 0
                          • N
                            NightWatcher last edited by

                            Eben nicht. Er prüft ja erst, ob offset*2+1 Durch 2 Teilbar ist.

                            Wenn ja, dann

                            return buffer.readUInt8(offset * 2);
                            

                            wenn nicht, dann

                            return buffer.readUInt8(offset * 2 + 1);
                            

                            ich könnte natürlich bei jeder zweiten Adresse den Typ ändern (zwischen LE und BE), aber das ist ja nicht Sinn der Sache 😉

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

                              @NightWatcher:

                              Eben nicht. Er prüft ja erst, ob offset*2+1 Durch 2 Teilbar ist. `
                              Offset =0, 1%2 =1

                              Offset =1, 3%2 =1

                              Offset =2, 5%2 =1

                              Offset =3, 7%2 =1

                              …

                              Muss ich weiter machen?

                              1 Reply Last reply Reply Quote 0
                              • N
                                NightWatcher last edited by

                                Moin Bluefox - jetzt wo ich es auf nem Blatt Papier gegenrechne hast du recht :?

                                Und ich habs getestet - was soll ich sagen - es klappte natürlich.

                                Und ich schwöre, das Szenario hatte ich vorher bestimmt schon 5x durchgehabt. Wieso sonst hätte ich mir 5-6 Stunden Zeit nehmen sollen, um meine oben präsentierte Lösung zu erarbeiten :lol:

                                Ich vermute das Problem in der Objektansicht im ioBroker Backend. Ich habe das Gefühl, dass sich hier die Werte manchmal einfach nicht aktualisieren. Gerade dann oder nur dann, wenn ich eben an den Typen rumspiele. Ich sehe zwar schön, wie Sie beim Neustart des Adapters grün werden, der Wert aber bleibt manchmal der gleiche. Dann muss man nen Seitenreload machen oder den Browser komplett neu starten.

                                Momentan passt es jedenfalls, wie du sagtest uint8le.

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

                                  @NightWatcher:

                                  Moin Bluefox - jetzt wo ich es auf nem Blatt Papier gegenrechne hast du recht :?

                                  Und ich habs getestet - was soll ich sagen - es klappte natürlich.

                                  Und ich schwöre, das Szenario hatte ich vorher bestimmt schon 5x durchgehabt. Wieso sonst hätte ich mir 5-6 Stunden Zeit nehmen sollen, um meine oben präsentierte Lösung zu erarbeiten :lol:

                                  Ich vermute das Problem in der Objektansicht im ioBroker Backend. Ich habe das Gefühl, dass sich hier die Werte manchmal einfach nicht aktualisieren. Gerade dann oder nur dann, wenn ich eben an den Typen rumspiele. Ich sehe zwar schön, wie Sie beim Neustart des Adapters grün werden, der Wert aber bleibt manchmal der gleiche. Dann muss man nen Seitenreload machen oder den Browser komplett neu starten.

                                  Momentan passt es jedenfalls, wie du sagtest uint8le. `
                                  Mit dem Update kann gut ein Fehler sein. Den jage ich aber noch.

                                  Gut, dass es bei dir jetzt endlich geht, weil die Entwicklung von modbus ist irgendwie zu holperig. 😄

                                  Und ich bin auch müde davon.

                                  Es gibt eventuell noch Probleme mit der Wiederverbindung.

                                  Kannst du updaten um es zu testen?

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

                                    @Bluefox:

                                    Mit dem Update kann gut ein Fehler sein. Den jage ich aber noch.

                                    Gut, dass es bei dir jetzt endlich geht, weil die Entwicklung von modbus ist irgendwie zu holperig. 😄

                                    Und ich bin auch müde davon.

                                    Es gibt eventuell noch Probleme mit der Wiederverbindung. `

                                    DURCHHALTEN!!! :mrgreen: :mrgreen: :mrgreen:

                                    Wir werden doch wohl den modbus Adapter auf 1.0.0 (RELEASE) bekommen!!! 8-) 8-) 8-)

                                    1 Reply Last reply Reply Quote 0
                                    • N
                                      NightWatcher last edited by

                                      klar kann ich Updaten - was genau soll ich im Anschluss testen?

                                      Mit Verbindungsabbrüchen hatte ich bisher noch keine Probleme. Liegt vielleicht auch daran, dass er bei mir bisher noch nie konstant nen Tag durchlief (weil ich vorher wegen Änderungen immer mal neugestartet hatte :lol: )

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

                                        Einfach Stabilität. Und vielleicht ein paar die Verbindung trennen und wiederherstellen.

                                        1 Reply Last reply Reply Quote 0
                                        • N
                                          NightWatcher last edited by

                                          Jupp, werde ich mal machen. Melde mich zu dem Thema dann ende der Woche. Dann kann ich dir sagen, wie stabil es bei mir läuft.

                                          1 Reply Last reply Reply Quote 0
                                          • N
                                            NightWatcher last edited by

                                            Also bei mir läuft er mit der Version 0.4.5 ohne einen Absturz sauber durch - bisher 8-)

                                            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

                                            845
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            17
                                            159
                                            31843
                                            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