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
    #104

    @andre:

    @Bluefox:

    Ich würde das mit dem Skript lösen. `
    Das habe ich mir fast gedacht, dass es so geht. Leider fehlt mir dabei ein wenig das Programmierwissen. :) Was muss ich bei Google suchen wenn ich dazu mal ein Beispiel benötige?

    Und was nehme ich überhaupt für einen Datentyp damit ich einen Wert bekomme, den ich dann im Script verarbeiten kann? `
    Ich wurde Uint16 nehmen.

    z.B. deine Uint16 Variable heißt modbus.0.MyDouble

    var id = 'modbus.0.MyDouble';
    createState(id + '.One');
    createState(id + '.Two');
    on(id, function (obj) {
         setState(id + '.One', (obj.state.val >> 16) & 0xFF, true);
         setState(id + '.One', obj.state.val & 0xFF, true);
    });
    
    
    1 Antwort Letzte Antwort
    0
    • andreA Offline
      andreA Offline
      andre
      Developer
      schrieb am zuletzt editiert von
      #105

      @Bluefox:

      Ich wurde Uint16 nehmen.

      z.B. deine Uint16 Variable heißt modbus.0.MyDouble

      var id = 'modbus.0.MyDouble';
      createState(id + '.One');
      createState(id + '.Two');
      on(id, function (obj) {
           setState(id + '.One', (obj.state.val >> 16) & 0xFF, true);
           setState(id + '.One', obj.state.val & 0xFF, true);
      });
      
      ```` `  
      

      Hallo Bluefox,

      vielen Dank für deinen Lösungsansatz. Habe damit ein wenig rum probiert und ihn nach meinen Bedürfnissen angepasst. :) Läuft soweit und die Werte scheinen schlüssig.

      In Anlehnung an dein (ungetestetes) Beispiel musste ich das Script so anpassen/ korrigieren:

      var id = 'modbus.0.MyDouble';
      createState(id + '.One');
      createState(id + '.Two');
      on(id, function (obj) {
           setState(id + '.One', (obj.state.val >> 8) & 0xFF, true);
           setState(id + '.Two', obj.state.val & 0xFF, true);
      });
      

      Letztendlich läuft es bei mir (mit meinen Datenpunkten) so:

      var id = 'modbus.0.holdingRegisters.40082_Autarkie_Eigenverbrauch';
      createState('e3dc.modbus.Autarkie');
      createState('e3dc.modbus.Eigenverbrauch');
      on(id, function (obj) {
           setState('e3dc.modbus.Autarkie', (obj.state.val >> 8) & 0xFF, true);
           setState('e3dc.modbus.Eigenverbrauch', obj.state.val & 0xFF, true);
      });
      

      Vielleicht kann es ja noch jemand benötigen…

      DANKE!

      MfG,

      André

      Bitte keine Support-Fragen per PN! Nutzt die öffentliche Kanäle damit auch andere von den Antworten profitieren können!

      1 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        Pep
        schrieb am zuletzt editiert von
        #106

        Hallo liebe Leute,

        ich mache gerade erste Versuche mit modbus im iobroker.

        Ich habe im Keller eine kleine Box, welche ich über ModBUS TCP anspreche. Aktuell mache ich das über FHEM mit folgenden Kommando:

        FHEM CODE

        #Register AussenTemperatur
        define SB_ATF ModbusRegister 0 2
        attr SB_ATF IODev SB
        attr SB_ATF alias Aussentemperatur
        attr SB_ATF icon temp_outside
        attr SB_ATF plcDataType REAL
        attr SB_ATF room Smartbox
        attr SB_ATF stateFormat {sprintf("%0.1f Grad", ReadingsVal($name,"state",0))}
        attr SB_ATF updateInterval 150
        #attr SB_ATF conversion 0.1:0
        #attr SB_ATF event-on-change reading .*
        
        

        Das würde ich gern in den iobroker migrieren.

        Jetzt habe ich die Register unter Eingangsregister wie folgt angelegt (zu Testzwecken mit verschiedenen TYP Einstellungen):
        730_modbus.png

        Da ich aber den Typ nicht kenne, bekomme ich folgende komische Ergebnisse:
        730_modbus2.png
        Kann mir jemand sagen, was ich bei Typ einstellen muss?

        In meiner "Datensammel-Box" ist folgendes eingestellt:

        Byte Order: 2143

        Datentyp lesen: FLOAT

        Ich kann damit leider nur nix anfangen :-(

        1 Antwort Letzte Antwort
        0
        • Y Offline
          Y Offline
          ykuendig
          schrieb am zuletzt editiert von
          #107

          Ich auch noch nicht, ausser:

          Float ist Float und Order 2143 ist weder Big noch Little Endian, sondern eine unusal Byte Order (soweit ich weiss).

          Ich würd jetzt mal die übrig gebliebenen durchprobieren

          Gruss Yves

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

            Habe gerade mal wieder ioBroker aktualisiert. Nun fährt der Modbus Adapter nicht mehr mit hoch.

            > startInstance modbus.0: cannot find start file!
            Was kann das denn nun sein?

            In dem Adapter Tab sieht es auch so aus, als sei er nicht mehr installiert, wohingegen er unter Instanzen noch aufgeführt ist.

            Ich will den Adapter ungern neu installieren, da sonst vermutlich auch alle Datenbankverknüpfungen und LOG Einträge verloren sind?!

            Update: Die Datenen vom Github manuell in das Verzeichnis C:\ioBroker\node_modules\iobroker.modbus kopiert, Neustart gemacht. Nun wird in den Adapterinfos wieder der installierte Modbusadapter angezeigt.

            Nun kommt nur leider die Meldung:
            > instance system.adapter.modbus.0 terminated with code 1 ()

            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
            • Y Offline
              Y Offline
              ykuendig
              schrieb am zuletzt editiert von
              #109

              Lass unbedingt die Installation vom ioBroker machen. Du kannst die aktelle git Version drüberbügeln, indem Du oben links auf die git-Katze klickst und dann den Adapter wählen, oder den git-link angeben. Oder aber auch auf der Konsole installieren. Kopieren reicht eher nicht.

              Gruss Yves

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

                Würde ich ja grundsätzlich machen, habe halt nur Angst, dass meine ganzen Konfigurationen und Datenbankeinträge / Zuordnungen verloren gehen.

                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
                • Y Offline
                  Y Offline
                  ykuendig
                  schrieb am zuletzt editiert von
                  #111

                  Ich möchte keine Garantie geben. Aber Datenbankeinträge hat es mir noch nie gelöscht. Datenbankzuordnung läuft über die Objekt-ID. Wenn die gleich bleibt, dann schreibt er die zum gleichen Datenpunkt. Konfiguration vom modbus-Adapter weiss ich nicht genau. Da könnte man ev ein File (welche?) wegsichern. Oder die Objekte exportieren, damit das nachbilden kann.

                  Welchen Datenbank-Adapter nutz Du? Wie viele Datenpunkte sind da betroffen?

                  Gruss Yves

                  1 Antwort Letzte Antwort
                  0
                  • wendy2702W Offline
                    wendy2702W Offline
                    wendy2702
                    schrieb am zuletzt editiert von
                    #112

                    Hi,

                    also ich und einige andere haben zur Zeit Probleme mit dem Modbus Adapter.

                    Siehe z.B. hier:

                    http://forum.iobroker.net/viewtopic.php?f=22&t=5690

                    Gruß

                    Mirko

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

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

                    1 Antwort Letzte Antwort
                    0
                    • Y Offline
                      Y Offline
                      ykuendig
                      schrieb am zuletzt editiert von
                      #113

                      Habe ich gesehen. Kann aber nicht wirklich helfen, da ich selbst kein Programmierer bin. Ich habe lediglich auch Zeit mit dem Adapter verbracht und dazu mitgeholfen, dass der RTU zum Teil lauffähig wurde.

                      Die offizielle Version in ioBroker ist (glaube ich) 0.4.9 oder 0.4.10. die korrigierte Version für teil-funktionierende RTU Verbindung ist die inoffiezielle 0.5.0. Die aktuelle Version im GIT ist in Arbeit von @Apollon77 bez. eines MemoryLeaks und ist nirgends 'freigegeben'. Kann gut sein, dass das Changelog noch nicht up to date ist, oder auch die Arbeit noch nicht abgeschlossen ist. Weitere Infos unten. Der Modbus Adapter ist auf der Arbeitsliste der Entwickler schon recht weit nach oben gerückt. Jedoch sind einige andere Arbeiten mit noch höherer Priorität noch vor dran.

                      Wieso bleibt ihr nicht bei 0.4.9 oder 0.4.10? Braucht ihr RTU?

                      Thema Objekte:

                      http://forum.iobroker.net/viewtopic.php … git#p56770

                      Thema Memory Leak:

                      https://github.com/ioBroker/ioBroker.modbus/issues/5

                      Gruss Yves

                      1 Antwort Letzte Antwort
                      0
                      • wendy2702W Offline
                        wendy2702W Offline
                        wendy2702
                        schrieb am zuletzt editiert von
                        #114

                        Hm,

                        wenn die noch nicht freigegeben ist, warum ist die dann schon verfügbar bzw. wird einem ganz normal über die Adapterseite angeboten?

                        Wollte ja einen Downgrade machen auf 0.4.10 aber da sagt er mir leider das wäre nicht mehr verfügbar.

                        Gruß

                        Mirko

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

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

                        1 Antwort Letzte Antwort
                        0
                        • Y Offline
                          Y Offline
                          ykuendig
                          schrieb am zuletzt editiert von
                          #115

                          Hmm. Habe zZ kein Zugriff auf ein Broker. Muss mich dazu später äussern…

                          Gruss Yves

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

                            Für alle, die ein ähnliches Problem wie bei mir haben, ich habe es nun folgendermaßen gelöst.

                            • Eine alte Version aus dem GIT geladen und manuell in den entsprechenden Ordner kopiert.

                            • iobroker neu gestartet.

                            • nun wird mir eine neue Version angezeigt.

                            • aus dem Backend geupdatet

                            • läuft 8-)

                            Es ging also ohne Neuinstallation und angst zu haben, dass irgendwas verloren geht.

                            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
                            • Y Offline
                              Y Offline
                              ykuendig
                              schrieb am zuletzt editiert von
                              #117

                              @wendy2702:

                              Hm, wenn die noch nicht freigegeben ist, warum ist die dann schon verfügbar bzw. wird einem ganz normal über die Adapterseite angeboten?

                              Wollte ja einen Downgrade machen auf 0.4.10 aber da sagt er mir leider das wäre nicht mehr verfügbar. ` Habe nun mein Broker zur Hand. Also: vorgeschlagen wird zZ 0.5.0 das ist richtig. Wenn der Adapter installiert ist und dein Admin-Reiter im Experten-Modus steht, kannst Du ältere Versionen ganz rechts mit dem Dropdown auswählen. Offensichtlich gehen die 0.4.8 - 0.4.10 nicht mehr !!?? Aber die 0.4.7 lässt sich installieren.

                              Gruss Yves

                              1 Antwort Letzte Antwort
                              0
                              • wendy2702W Offline
                                wendy2702W Offline
                                wendy2702
                                schrieb am zuletzt editiert von
                                #118

                                Habe mittlerweile die Objecte manuell angelegt.

                                Hoffe das der Adapter in nicht allzu ferner Zukunft gefixt wird.

                                Gruß

                                Mirko

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

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

                                1 Antwort Letzte Antwort
                                0
                                • R Offline
                                  R Offline
                                  RS_Tobi
                                  schrieb am zuletzt editiert von
                                  #119

                                  Hallo Leute,

                                  Ich nutze jetzt einfach mal dieses Thema, da dieses Thema schon länger ruht und ich somit keine

                                  aktuellen Gespräche störe.

                                  Ich bin auch am herum basteln (anders darf man das nicht nennen) mit dem Modbus Adapter.

                                  Jetzt habe ich ein Problem:

                                  Meine Anlage gibt nicht nur Temperatur, Drehzahlen, Drucke aus, sondern auch Statusmeldungen.

                                  Das ganze sieht dann so aus, dass z.B. die 30010 einen Wert liefert welcher unter Objekte z.B als Wert 5 anliegt.

                                  Nun ist in meiner Beschreibung eine Liste hinterlegt welcher Status sich hinter 5 verbirgt.

                                  Wie kann man es lösen das ich in vis den richtigen Status stehen habe und nicht nur eine Zahl angezeigt bekomme.

                                  Danke

                                  Tobi

                                  1 Antwort Letzte Antwort
                                  0
                                  • K Offline
                                    K Offline
                                    Kunibert
                                    schrieb am zuletzt editiert von
                                    #120

                                    Hallo zusammen,

                                    ich hoffe ich komme nicht mit einer für euch allzu leichten Basic-Frage aber ich habe folgendes Problem. Ich möchte meine Stiebel Eltron Wärmepumpe mittels ModBus auslesen und steuern. Das Handbuch von Stiebel-Eltron zu den jeweiligen Befehlen befindet sich hier:

                                    https://www.stiebel-eltron.de/content/d … a95add.pdf

                                    Mein Problem ist - wahrscheinlich nur mangels Unkenntnis und weil das Thema Modbus für mich komplett neu ist - ich bekomme generell eine Verbindung mit einem grünen Lämpchen hin. Sobald ich aber unter Eingangsregister oder Holding Registers etwas eintrage wird entweder nichts unter Objekte angezeigt oder im Log erscheint ein Hinweis, dass der Registerwert ungültig ist. Ich habe es mit den beiden Häckchen für Alias und ohne probiert. Z. B. mit dem auszulesenden Wert Eco-Temperatur (Holding) mit der laut Doku Modbus-Adresse 1511. Ich habe versucht es mit 1511 oder mit 41511 zu adressieren, beides funktioniert nicht und auch nicht mit Kombination Alias ja/nein. Was mache ich denn hier falsch? Egal welche Kombination ich probiere, ich erhalte einfach keine Werte…. Hat schon einmal jemand ein Stiebel-Eltron-Gerät angebunden?

                                    1 Antwort Letzte Antwort
                                    0
                                    • wendy2702W Offline
                                      wendy2702W Offline
                                      wendy2702
                                      schrieb am zuletzt editiert von
                                      #121

                                      @RS_Tobi:

                                      Hallo Leute,

                                      Ich nutze jetzt einfach mal dieses Thema, da dieses Thema schon länger ruht und ich somit keine

                                      aktuellen Gespräche störe.

                                      Ich bin auch am herum basteln (anders darf man das nicht nennen) mit dem Modbus Adapter.

                                      Jetzt habe ich ein Problem:

                                      Meine Anlage gibt nicht nur Temperatur, Drehzahlen, Drucke aus, sondern auch Statusmeldungen.

                                      Das ganze sieht dann so aus, dass z.B. die 30010 einen Wert liefert welcher unter Objekte z.B als Wert 5 anliegt.

                                      Nun ist in meiner Beschreibung eine Liste hinterlegt welcher Status sich hinter 5 verbirgt.

                                      Wie kann man es lösen das ich in vis den richtigen Status stehen habe und nicht nur eine Zahl angezeigt bekomme.

                                      Danke

                                      Tobi `

                                      Bin unterwegs deshalb kann ich nicht genau nach sehen.

                                      Aber z.b. Ein Text Widget nehmen und so einstellen das es z.B. Bei dem Wert “5” sichtbar wird und dir dann den Text / Status anzeigt den du hinterlegt hast.

                                      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 Antwort Letzte Antwort
                                      0
                                      • wendy2702W Offline
                                        wendy2702W Offline
                                        wendy2702
                                        schrieb am zuletzt editiert von
                                        #122

                                        @Kunibert:

                                        Hallo zusammen,

                                        ich hoffe ich komme nicht mit einer für euch allzu leichten Basic-Frage aber ich habe folgendes Problem. Ich möchte meine Stiebel Eltron Wärmepumpe mittels ModBus auslesen und steuern. Das Handbuch von Stiebel-Eltron zu den jeweiligen Befehlen befindet sich hier:

                                        https://www.stiebel-eltron.de/content/d … a95add.pdf

                                        Mein Problem ist - wahrscheinlich nur mangels Unkenntnis und weil das Thema Modbus für mich komplett neu ist - ich bekomme generell eine Verbindung mit einem grünen Lämpchen hin. Sobald ich aber unter Eingangsregister oder Holding Registers etwas eintrage wird entweder nichts unter Objekte angezeigt oder im Log erscheint ein Hinweis, dass der Registerwert ungültig ist. Ich habe es mit den beiden Häckchen für Alias und ohne probiert. Z. B. mit dem auszulesenden Wert Eco-Temperatur (Holding) mit der laut Doku Modbus-Adresse 1511. Ich habe versucht es mit 1511 oder mit 41511 zu adressieren, beides funktioniert nicht und auch nicht mit Kombination Alias ja/nein. Was mache ich denn hier falsch? Egal welche Kombination ich probiere, ich erhalte einfach keine Werte…. Hat schon einmal jemand ein Stiebel-Eltron-Gerät angebunden? `

                                        Leider nur ein iPhone gerade zum lesen.

                                        Die Anleitung sagt nichts darüber aus (oder ich habe es überlesen) welches Format die Werte haben und ob die Angabe der Register Adresse eventuell dezimal oder hex ist.

                                        Hast du mal versucht die 1501 umzurechnen?

                                        Steht in der Doku irgendwo etwas darüber welche Art Datenwort als Antwort geliefert wird z.b. Little endian, big endian, Anzahl der Bits?

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

                                          Habe die 1501 in 5DD umgerechnet aber auch das funktioniert nicht. Im Log erscheint dann Invalid holding register address: -39996

                                          Hm, nein zum Datentyp habe ich auch nichts gefunden.

                                          Nur das hier:
                                          ` > „Read/Write Holding Register“

                                          • Objekte sind sowohl lesbar als auch schreibbar

                                          • Auslesen der Register über Funktionscode 03 („Read Holding

                                          Registers“)

                                          • Schreiben über Funktionscode 06 (“Write Single Register”)

                                          oder Funktionscode 16 (“Write multiple Registers”)

                                          Für nicht verfügbare Objekte wird der Ersatzwert „32768 (0x8000H)“

                                          ausgegeben.

                                          Einige Statusobjekte sind bitcodiert (B0 - Bx). Die jeweils entsprechenden

                                          Statusinformationen sind unter „Codierung“ dokumentiert

                                          (z. B. Verdichter läuft ja/nein). `

                                          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

                                          823

                                          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