Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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 Lesen und Schreiben auf Wago 750-881 [Gelöst]

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    672

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

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

Modbus Lesen und Schreiben auf Wago 750-881 [Gelöst]

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
15 Beiträge 3 Kommentatoren 4.0k Aufrufe 1 Beobachtet
  • Ä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.
  • S Offline
    S Offline
    stromer66
    schrieb am zuletzt editiert von
    #1

    Hallo

    ich bin ganz neu auf IoBroker gestossen. Inzwischen habe ich bereits auch schon so einige Sachen ausprobiert und bin nach einigen Ausprobieren auch erfolgreich gewesen. So habe ich zum Beispiel ESP8266 mit ESPMega per MQTT Protokoll auslesen können. Außerdem kann ich einen Sentron Pac Meßgerät per Modbus ausgelesen.

    Allerdings bin ich jetzt auf ein Problem gestoßen das ich bisher einfach nicht lösen kann.

    Ich habe bei mir Zuhause mehrere Wago Steuerungen 750-881 in Betrieb. Die Steuerungen kommunizieren untereinander per Modbus.

    Jetzt zu meinem Problem:

    • Wie kann ich einen Temperaturwert, den ich per MQTT mit IoBroker auslese per Modbus auf eine WagoSteuerung in die Adresse %MD100 schreiben?

    • Wie kann ich einen Binären Zustand aus der Wago auslesen, z.B. Die Adresse %MX0.4 ?

    Ich betreibe den IoBroker auf einem Raspberry 3b+

    Plattform: linux

    Die Architektur: arm

    CPUs: 4

    Geschwindigkeit: 1400 MHz

    Modell: ARMv7 Processor rev 4 (v7l)

    RAM: 927.1 MB

    System uptime: 1 T. 23:31:10

    Node.js: v8.12.0

    NPM: 4.6.1

    Adapter zählen: 228

    Uptime: 1 T. 23:31:06

    Als Adapter benutze ich :

    ModBus Version 2.09

    MQTT Version 2.03

    Es wäre schön wenn mir hier jemand helfen könnte.

    Schon mal vielen Dank im Voraus.

    Z 1 Antwort Letzte Antwort
    0
    • DolomitiD Offline
      DolomitiD Offline
      Dolomiti
      schrieb am zuletzt editiert von
      #2

      Hallo,

      ich gehe mal davon aus, dass die Temperatur via MQTT als Datenpunkt vorliegt. Ich habe mich mit MQTT noch nicht beschäftigt. Als nächstes musst du im Modbus-Adapter unter Holding-Register die Adresse in der Wago anlegen. Das Handbuch listet im Kapitel 12 die Registerbelegung auf. Wenn du also %MD100 beschreiben willst, musst die im ioBroker die Adresse 12488 bei Holding-Register anlegen. Erklärung hierzu:

      Laut Handbuch Merker ab 12288 beschreibbar. Da du Double-Werte schreiben willst sind dies immer 2 Register -> MD100 = 200 Register (Word) -> 12288+200 = 12488.

      Lesen ist ähnlich: Bei diskrete Eingänge die Adresse 12292 anlegen. Startadresse wieder 12288 + 4 (Merker 0.4).

      Man muss hier auf passen, da der Merkerbereich immer bei 12288 anfängt, also %MX0.1 ist ein binärer Merker ist aber genauso im %MW0 und %MD0 vorhanden. Dazu habe ich irgendwo mal eine Exceltabelle gefunden, die ich mal anhänge.

      Wenn du alle Datenpunkte angelegt hast musst du dir noch ein Skript schreiben welches bei Änderung der Temperatur diese auf das entsprechende Register schreibt. Geht vielleicht auch eleganter, aber ich bin nicht so der Skriptspezialist. Im https://github.com/ioBroker/ioBroker.javascript/blob/master/doc/en/javascript.md#on–-subscribe-on-changes-or-updates-of-some-state steht etwas von

      To simply connect two states with each other, write:
      
      on('stateId1', 'stateId2');
      
      All changes of stateId1 will be written to stateId2.
      

      Gruß

      Thomas
      2411_wago-modbus-adressen.xlsx

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
      Intel N100 (32GB,256GB SSD), Proxmox -> Debian 12 in VM (Master) + Debian 12 in CT (Test) + Debmatic, HM-Aktoren, Wago 750-880, Shelly, Zigbee

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        stromer66
        schrieb am zuletzt editiert von
        #3

        Vielen Dank für deine Tipps.

        Das mit dem Lesen klappt auch soweit jetzt, nur mit dem Schreiben hapert es noch.

        Das Skript mit dem der wert von MQTT in das Modbus Register geschrieben wird funktioniert, das habe ich mit Blockly erstellt.

        IoBroker scheint auch auf das richtige Register in Codesys zuzugreifen, nur überträgt er einfach nicht den Wert obwohl der Wert in der Objektliste auftaucht der geschrieben werden soll.

        Vielleicht kann mir ja jemand helfen.

        1 Antwort Letzte Antwort
        0
        • S Offline
          S Offline
          stromer66
          schrieb am zuletzt editiert von
          #4

          Hallo

          mal wieder ein Update.

          Lesen klappt eigentlich wunderbar, nur Schreiben bereitet mir immer mehr Probleme.

          Wenn ich die Adresse 12306 einfach händisch beschreibe wird der Wert sauber übertragen. Lasse ich mein Skript laufen wird mir zwar in der Objektansicht der Wert angezeigt und auch entsprechend aktualisiert (Ansicht Objekte) aber nicht zur Wago übertragen. Es passiert einfach nichts.Der zuletzt händisch übertragene Wert bleibt einfach stehen.

          Habe ich einen Denkfehler in meinem Skript (die Multiplikation mit 100 mache ich um die Kommastellen in eine ganze Zahl umzuwandeln, damit ich mit dem Datenformat klarkomme) oder liegt hier ein genereller Fehler vor.

          Außerdem kommt bei mir immer mehr die Frage auf was die ganzen Werte die ich in der Spalte "Rolle" einstellen kann für einen Sinn haben?

          Also Fragen über Fragen, ich hoffe mir kann jemand helfen.
          9326_codesys.jpg
          9326_iobroker_instanz.jpg
          9326_iobroker.jpg
          9326_iobroker_skript.jpg

          1 Antwort Letzte Antwort
          0
          • DolomitiD Offline
            DolomitiD Offline
            Dolomiti
            schrieb am zuletzt editiert von
            #5

            Nimm mal den Haken bei CW beim Register 12304 raus.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
            Intel N100 (32GB,256GB SSD), Proxmox -> Debian 12 in VM (Master) + Debian 12 in CT (Test) + Debmatic, HM-Aktoren, Wago 750-880, Shelly, Zigbee

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

              Hallo das hat leider nichts gebracht.

              Ich habe jetzt mal alle Adressen auf die ich lesend zugegriffen habe auch mal gelöscht. Auch dann klappt es nicht.

              Langsam bin ich am Ende :?

              1 Antwort Letzte Antwort
              0
              • DolomitiD Offline
                DolomitiD Offline
                Dolomiti
                schrieb am zuletzt editiert von
                #7

                Kannst du mal dein Blockly exportieren und hier posten. Ich probier das mal an meinem Testsystem aus.

                Gruß

                Thomas

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                Intel N100 (32GB,256GB SSD), Proxmox -> Debian 12 in VM (Master) + Debian 12 in CT (Test) + Debmatic, HM-Aktoren, Wago 750-880, Shelly, Zigbee

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  stromer66
                  schrieb am zuletzt editiert von
                  #8

                  Also wenn ich den automatisch eingetragenen Wert in der Objektliste anklicke, so das ich ihn editieren könnte, wird er übertragen.

                  Also sieht es so aus als wenn ich die Übertragung aktivieren müsste.aber wie?????????

                  1 Antwort Letzte Antwort
                  0
                  • S Offline
                    S Offline
                    stromer66
                    schrieb am zuletzt editiert von
                    #9

                    Hallo

                    ich habe den Blockly exportiert.

                    <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">

                    <block type="on_ext" id="W0As]a,[q5I,{{RNGICx" x="-312" y="13"><mutation items="1"></mutation>

                    <field name="CONDITION">ne</field>

                    <value name="OID0"><shadow type="field_oid" id="K?bn+]ZoWWW]7WdJ,ITS"><field name="oid">mqtt.0.Bad_unten.Bad_unten.Luftfeuchtigkeit</field></shadow></value>

                    <statement name="STATEMENT"><block type="update" id="RNH(k;~btRWeOed(}lN}"><mutation delay_input="false"></mutation>

                    <field name="OID">modbus.2.holdingRegisters.12306_test</field>

                    <field name="WITH_DELAY">FALSE</field>

                    <value name="VALUE"><block type="math_arithmetic" id="|XBX5G581KA.nBxSoIH4"><field name="OP">MULTIPLY</field>

                    <value name="A"><shadow type="math_number" id="SRq./}*,tmVXrHBL?1CB"><field name="NUM">1</field></shadow>

                    <block type="get_value" id="c9mFy}GzM7deCQX5T`~n"><field name="ATTR">val</field>

                    <field name="OID">mqtt.0.Bad_unten.Bad_unten.Luftfeuchtigkeit</field></block></value>

                    <value name="B"><shadow type="math_number" id="@JW}_lm|{yc-mk]=I%"><field name="NUM">100</field></shadow></value></block></value></block></statement></block>

                    <block type="variables_get" id="a,:_/cb)XP]Xo#~c5RYs" x="-13" y="63"><field name="VAR">umrechnung</field></block></xml>

                    1 Antwort Letzte Antwort
                    0
                    • S Offline
                      S Offline
                      stromer66
                      schrieb am zuletzt editiert von
                      #10

                      Und hier nochmal als Screenshot
                      9326_blockly.jpg

                      1 Antwort Letzte Antwort
                      0
                      • DolomitiD Offline
                        DolomitiD Offline
                        Dolomiti
                        schrieb am zuletzt editiert von
                        #11

                        So, es funktioniert. Habe mir mal den Code vom Blockly anzeigen lassen und den auf mein Testsystem angepasst.

                        on({id: 'modbus.0.inputRegisters.0_T_WZ_AI', change: "ne"}, function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          setState("modbus.1.holdingRegisters.770_ID129", (getState("modbus.0.inputRegisters.0_T_WZ_AI").val * 1), true);
                        });
                        

                        Mir ist aufgefallen, dass beim setState ein "true" dranhängt. Das ist lt. Doku der ack-Wert. Wenn ich das richtig verstehe denkt ioBroker, das der Wert geschrieben wurde. Habe den Code also als neues Skript angelegt und ",true" gelöscht. Damit funktioniert es.

                        Du musst nicht den Blockly-System-Baustein "aktualisiere" nehmern sondern "steuere". Damit geht es. Ich weiß nicht genau den Unterschied, da kann vllt. einer der anderen Experten weiterhelfen.

                        Gruß

                        Thomas

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                        Intel N100 (32GB,256GB SSD), Proxmox -> Debian 12 in VM (Master) + Debian 12 in CT (Test) + Debmatic, HM-Aktoren, Wago 750-880, Shelly, Zigbee

                        1 Antwort Letzte Antwort
                        0
                        • DolomitiD Offline
                          DolomitiD Offline
                          Dolomiti
                          schrieb am zuletzt editiert von
                          #12

                          Habe die Erklärung für "steuere" und aktualisiere" gefunden

                          viewtopic.php?t=6902#p71565

                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                          Intel N100 (32GB,256GB SSD), Proxmox -> Debian 12 in VM (Master) + Debian 12 in CT (Test) + Debmatic, HM-Aktoren, Wago 750-880, Shelly, Zigbee

                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            stromer66
                            schrieb am zuletzt editiert von
                            #13

                            Vielen Dank für deine Bemühungen!!!!!!

                            Genau das war es. :D

                            viele Grüße aus dem Norden

                            Uwe

                            1 Antwort Letzte Antwort
                            0
                            • DolomitiD Offline
                              DolomitiD Offline
                              Dolomiti
                              schrieb am zuletzt editiert von
                              #14

                              Gern geschehen.

                              Kannst du den Titel noch um ein [Gelöst] vorne ergänzen.

                              Gruß aus dem Rheinland

                              Thomas

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                              Intel N100 (32GB,256GB SSD), Proxmox -> Debian 12 in VM (Master) + Debian 12 in CT (Test) + Debmatic, HM-Aktoren, Wago 750-880, Shelly, Zigbee

                              1 Antwort Letzte Antwort
                              0
                              • S stromer66

                                Hallo

                                ich bin ganz neu auf IoBroker gestossen. Inzwischen habe ich bereits auch schon so einige Sachen ausprobiert und bin nach einigen Ausprobieren auch erfolgreich gewesen. So habe ich zum Beispiel ESP8266 mit ESPMega per MQTT Protokoll auslesen können. Außerdem kann ich einen Sentron Pac Meßgerät per Modbus ausgelesen.

                                Allerdings bin ich jetzt auf ein Problem gestoßen das ich bisher einfach nicht lösen kann.

                                Ich habe bei mir Zuhause mehrere Wago Steuerungen 750-881 in Betrieb. Die Steuerungen kommunizieren untereinander per Modbus.

                                Jetzt zu meinem Problem:

                                • Wie kann ich einen Temperaturwert, den ich per MQTT mit IoBroker auslese per Modbus auf eine WagoSteuerung in die Adresse %MD100 schreiben?

                                • Wie kann ich einen Binären Zustand aus der Wago auslesen, z.B. Die Adresse %MX0.4 ?

                                Ich betreibe den IoBroker auf einem Raspberry 3b+

                                Plattform: linux

                                Die Architektur: arm

                                CPUs: 4

                                Geschwindigkeit: 1400 MHz

                                Modell: ARMv7 Processor rev 4 (v7l)

                                RAM: 927.1 MB

                                System uptime: 1 T. 23:31:10

                                Node.js: v8.12.0

                                NPM: 4.6.1

                                Adapter zählen: 228

                                Uptime: 1 T. 23:31:06

                                Als Adapter benutze ich :

                                ModBus Version 2.09

                                MQTT Version 2.03

                                Es wäre schön wenn mir hier jemand helfen könnte.

                                Schon mal vielen Dank im Voraus.

                                Z Offline
                                Z Offline
                                Zimbl
                                schrieb am zuletzt editiert von
                                #15

                                @stromer66 kannst du mir sagen, welche Konfiguration du genommen hast....bei der Wago und beim IOBroker ? Ich bekomme keine Verbindung zustande...von der Wago aus dem IOBroker kann ich lesen. Aber ich kann nichts auf die Wago schreiben...

                                Vielen Dank

                                1 Antwort Letzte Antwort
                                0

                                Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                Registrieren Anmelden
                                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

                                546

                                Online

                                32.7k

                                Benutzer

                                82.6k

                                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