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. Modbus - Erste Schritte

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.9k

Modbus - Erste Schritte

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
159 Beiträge 17 Kommentatoren 38.9k Aufrufe
  • Ä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.
  • BluefoxB Offline
    BluefoxB Offline
    Bluefox
    schrieb am zuletzt editiert von
    #68

    @NightWatcher:

    @Bluefox,

    bei DWORDs scheint das Problem

    http://forum.iobroker.net/viewtopic.php?p=37534#p37534

    auch da zu sein.

    Ich benutze Signed 32 Bit (Big Endian Word Swap)

    Brauchst du wieder WiresharK? `
    Ja.

    Auf den ersten Blick. Sehe ich kein Fehler.

    1 Antwort Letzte Antwort
    0
    • N Offline
      N Offline
      NightWatcher
      schrieb am zuletzt editiert von
      #69

      Ich möchte z.B. den Wert 658519 auf Adresse 14288 schreiben:

      1534_bild_001.png

      Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

      1 Antwort Letzte Antwort
      0
      • BluefoxB Offline
        BluefoxB Offline
        Bluefox
        schrieb am zuletzt editiert von
        #70

        @NightWatcher:

        Ich möchte z.B. den Wert 658519 auf Adresse 14288 schreiben:

        Bild 001.png `
        Danke. Gefixt.

        1 Antwort Letzte Antwort
        0
        • N Offline
          N Offline
          NightWatcher
          schrieb am zuletzt editiert von
          #71

          Hi Bluefox,

          super Arbeit. Sieht sehr gut aus. Ich werde jetzt am WE sicherlich mal intensiver testen können, wo es mal langsam läuft.

          Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

          1 Antwort Letzte Antwort
          0
          • N Offline
            N Offline
            NightWatcher
            schrieb am zuletzt editiert von
            #72

            Ich vermute immer noch nen kleines Problem bei den BYTE Adressen.

            Ich glaube, dass die mit nem Update kamen, da es mal ging.

            Adressen in der WAGO:
            1534_bild001.png

            Folgendes kommt in ioBroker an:
            1534_bild002.png

            Wireshark:
            1534_bild003.png

            Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

            1 Antwort Letzte Antwort
            0
            • BluefoxB Offline
              BluefoxB Offline
              Bluefox
              schrieb am zuletzt editiert von
              #73

              Es fehlt noch, wie du das im IoB konfiguriert hast.

              Gibt es überhaupt Byte Adressen???

              In IoB gibt die nicht.

              1 Antwort Letzte Antwort
              0
              • N Offline
                N Offline
                NightWatcher
                schrieb am zuletzt editiert von
                #74

                wie die anderen funktionierenden auch Signed 16 Bit (Little Endian).

                EDIT: Komisch ist, dass die Daten auch im Modbus Master Simulator "falsch" angezeigt werden.

                EDIT2: Ich habe mir mal schnell nen Script in PHP geschrieben. 1534_bild004.png

                Benutzt habe ich readMultipleRegisters() aus folgender Library https://github.com/adduc/phpmodbus

                Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                1 Antwort Letzte Antwort
                0
                • BluefoxB Offline
                  BluefoxB Offline
                  Bluefox
                  schrieb am zuletzt editiert von
                  #75

                  Ich muss ehrlich sagen, ich verstehe es jetzt wenig.

                  Wenn ich 65535 als Signed LE Int16 behandle, dann kommt -1 raus.

                  65535 => 0xFFFF => -1(signed) oder 65535 (Unsigned)

                  65280 => 0xFF00 => -255(signed) oder 65280 (unsigned)

                  Ich habe trotzdem noch (u)int8 eingebaut. Dein fall sollte Uint8(Big endian) sein

                  1 Antwort Letzte Antwort
                  0
                  • N Offline
                    N Offline
                    NightWatcher
                    schrieb am zuletzt editiert von
                    #76

                    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?

                    Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                    1 Antwort Letzte Antwort
                    0
                    • BluefoxB Offline
                      BluefoxB Offline
                      Bluefox
                      schrieb am zuletzt editiert von
                      #77

                      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 Antwort Letzte Antwort
                      0
                      • N Offline
                        N Offline
                        NightWatcher
                        schrieb am zuletzt editiert von
                        #78

                        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

                        Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                        1 Antwort Letzte Antwort
                        0
                        • N Offline
                          N Offline
                          NightWatcher
                          schrieb am zuletzt editiert von
                          #79

                          Hilft das hier vielleicht?

                          Links der Simulator - kennst du ja :-)

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

                          Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                          1 Antwort Letzte Antwort
                          0
                          • BluefoxB Offline
                            BluefoxB Offline
                            Bluefox
                            schrieb am zuletzt editiert von
                            #80

                            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 Antwort Letzte Antwort
                            0
                            • K Offline
                              K Offline
                              KeyOz
                              schrieb am zuletzt editiert von
                              #81

                              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 Antwort Letzte Antwort
                              0
                              • N Offline
                                N Offline
                                NightWatcher
                                schrieb am zuletzt editiert von
                                #82

                                @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

                                Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                                1 Antwort Letzte Antwort
                                0
                                • N Offline
                                  N Offline
                                  NightWatcher
                                  schrieb am zuletzt editiert von
                                  #83

                                  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 :?

                                  Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                                  1 Antwort Letzte Antwort
                                  0
                                  • BluefoxB Offline
                                    BluefoxB Offline
                                    Bluefox
                                    schrieb am zuletzt editiert von
                                    #84
                                    (X * 2 +1) % 2 = 1
                                    
                                    

                                    Immer.

                                    D.h du hast dann falsches Typ benutzt.

                                    Es ist Little endian. 8 bit.

                                    1 Antwort Letzte Antwort
                                    0
                                    • N Offline
                                      N Offline
                                      NightWatcher
                                      schrieb am zuletzt editiert von
                                      #85

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

                                      Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                                      1 Antwort Letzte Antwort
                                      0
                                      • BluefoxB Offline
                                        BluefoxB Offline
                                        Bluefox
                                        schrieb am zuletzt editiert von
                                        #86

                                        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 Antwort Letzte Antwort
                                        0
                                        • N Offline
                                          N Offline
                                          NightWatcher
                                          schrieb am zuletzt editiert von
                                          #87

                                          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 ;-)

                                          Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                                          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

                                          787

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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