Navigation

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

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Stiebel-ISG - Modbus

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

      Ich nutze die Modbus-Schnittstelle des ISG Web seit etwa 1 Jahr weitestgehend problemlos und würde sie nicht mehr missen wollen. Ich schalte auch darüber die forcierten Temperaturwerte (SGready).
      Wo ich leider immer noch drauf warte, ist die Modbus Adresse für die Inverter-Aufnahmeleistung (live - keine Tageszusammenfassung), die man in der Weboberfläche einsehen kann. Nach Rücksprache mit dem Stiebel Support ist das bereits in Planung. Ich finde allerdings, dass stiebel mit den Updates für das ISG sehr intransparent umgeht, meines Wissens nach nicht irgendwo öffentlich zugänglich macht, welche Version die aktuellste ist und schon gar keinen Changelog veröffentlicht, sodass man Änderungen nachvollziehen könnte.

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

        @android51, Schimi
        Welche WP hab ihr, ich habe eine Stiebel WPL 20A mit WPM 3 und Stiebel ISG .
        Meine Anlage ist im Oktober 24 installiert worden.

        Schimi Ich habe gesehen das Du bei dem Holding Register überal Poll angewähl hast.
        Das hatte ich auch schon bei den Register gemacht die ich getestet habe.
        Dann waren die Werte auch vorhanden.
        Aber das schreiben habe ich nur mit dem Programm Modbus Poll hinbekommen.

        Ich habe Heute Morgen im error-bug Eine Meldung an die Entwickler was gechrieben.
        Gruß NetFritz

        S 1 Reply Last reply Reply Quote 0
        • S
          Schimi @NetFritz last edited by

          @netfritz ich muss dazu sagen das ich eine Sole Wärmepunmpe habe (WPC 04 cool) und ein ISG plus (waren "damals" viel günstiger als heute)

          mal eine übersicht:
          9afb5739-1811-4f39-970e-0c6f36e13ed0-image.png

          N 1 Reply Last reply Reply Quote 0
          • N
            NetFritz @Schimi last edited by

            @schimiIch Bin fast umgefallen als ich den Kostenvoranschlag gesehen habe.
            Es waren fast 30000€.
            Habe dann meine alte Alpa Innotec WWP abgebaut und bei der Installation geholfen.
            Dann standen minus Förderung etwas über 20000€ auf der Rechnung.

            Bei mir ist es die 4 WP seit 1980.
            1 Terigen WWP
            2 Stiebel WWP
            3 Alpa Innotec WWP
            4 Stiebel WPL
            Das ist jetzt meine erste Luft WP vorher nur Wasser/Wasser die sind alle am Brunnenwasserseitigen
            Wärmetauscher gestorben.
            Die ersten 3 haben nicht mehr gekostet wie Nr 4 die Stiebel.
            Gruß netFritz

            1 Reply Last reply Reply Quote 0
            • A
              Android51 last edited by

              Ich habe eine WPL 25 A mit wpm-system, sollte also baugleich zu deiner WPL 20 A sein, nur eine kleinere Variante. Vielleicht ist das bei dir das Problem, dass du die Modbus Adressen für wpm-system nehmen musst?!

              N 1 Reply Last reply Reply Quote 0
              • N
                NetFritz @Android51 last edited by

                @android51
                Hallo
                Danke für die Antwort.

                Es währe schön wenn Du die Konfig des Modbus Adapter hier reinstellen könntest.
                Also Algemeine Einstellungen und Holding Register.
                Vielen Dank im voraus.
                Gruß NetFritz

                A 1 Reply Last reply Reply Quote 0
                • A
                  Android51 @NetFritz last edited by

                  @netfritz

                  Hier ein Auszug aus dem Holding-Regsiter
                  1abe17b3-f7a3-4840-9be3-f9cdbcef0c33-image.png

                  6a3119f7-eeb6-41df-b3dd-10c33c1a4d68-image.png

                  Unter IP-Adresse sollte die des ISG-Web hinterlegt werden.

                  N 1 Reply Last reply Reply Quote 0
                  • N
                    NetFritz @Android51 last edited by

                    @android51
                    Danke
                    Das sieht bei mir genau so aus.
                    Gruß NetFritz

                    N 1 Reply Last reply Reply Quote 0
                    • N
                      NetFritz @NetFritz last edited by NetFritz

                      @netfritz
                      Hallo
                      Da ich mit dem Modbus Adapter die Holdingregister z.Z. nicht beschreiben kann,
                      vor allem SG Ready 1 und 2.
                      Habe ich es Heute mit ioBroker Node Red versucht.
                      Nach ein paar fehl Versuchen habe ich es hinbekommen SG Ready 1 und 2 anzusteuern.
                      Habe den node-red-contrib-modbus und node-red-contrib-modbus-flex-server installiert.
                      Dann den Flex.Server Knoten und Modbus-Red und Modbus-Write in das Flow gezogen
                      und Konfiguriert.
                      NR_Modb_Servever.png

                      Hier noch der Flow zum Importieren.
                      Gruß NetFritz

                      [
                          {
                              "id": "e30b3d7c8e9c13ae",
                              "type": "tab",
                              "label": "Modbus",
                              "disabled": false,
                              "info": "",
                              "env": []
                          },
                          {
                              "id": "1c58a83f7b099c2c",
                              "type": "modbus-flex-server",
                              "z": "e30b3d7c8e9c13ae",
                              "name": "",
                              "logEnabled": false,
                              "serverAddress": "localhost",
                              "serverPort": "502",
                              "responseDelay": 100,
                              "unitId": 1,
                              "delayUnit": "ms",
                              "coilsBufferSize": 20000,
                              "registersBufferSize": 20000,
                              "minAddress": 0,
                              "splitAddress": 10000,
                              "funcGetCoil": "function getFlexCoil(addr, unitID) {\n\tif (unitID === node.unitId && \n\t\taddr >= node.minAddress && \n\t\taddr <= node.splitAddress) { \n\n\t\treturn node.coils.readUInt8(addr * node.bufferFactor) \n\t}  \n}",
                              "funcGetDiscreteInput": "function getFlexDiscreteInput(addr, unitID) {\n\taddr += node.splitAddress\n\tif (unitID === node.unitId && \n\t\taddr >= node.splitAddress && \n\t\taddr <= node.splitAddress * 2) { \n\n\t\treturn node.coils.readUInt8(addr * node.bufferFactor) \n\t}  \n}",
                              "funcGetInputRegister": "function getFlexInputRegister(addr, unitID) { \n\tif (unitID === node.unitId && \n\t\taddr >= node.minAddress && \n\t\taddr <= node.splitAddress) { \n\n\t\treturn node.registers.readUInt16BE(addr * node.bufferFactor)  \n\t} \n}",
                              "funcGetHoldingRegister": "function getFlexHoldingRegsiter(addr, unitID) { \n\taddr += node.splitAddress\n\tif (unitID === node.unitId && \n\t\taddr >= node.splitAddress && \n\t\taddr <= node.splitAddress * 2) { \n\n\t\treturn node.registers.readUInt16BE(addr * node.bufferFactor)  \n\t} \n}",
                              "funcSetCoil": "function setFlexCoil(addr, value, unitID) { \n\tif (unitID === node.unitId && \n\t\taddr >= node.minAddress && \n\t\taddr <= node.splitAddress) { \n\n\t\tnode.coils.writeUInt8(value, addr * node.bufferFactor)  \n\t} \n}",
                              "funcSetRegister": "function setFlexRegister(addr, value, unitID) { \n\taddr += node.splitAddress\n\tif (unitID === node.unitId && \n\t\taddr >= node.splitAddress && \n\t\taddr <= node.splitAddress * 2) { \n\n\t\tnode.registers.writeUInt16BE(value, addr * node.bufferFactor)  \n\t} \n}",
                              "showErrors": false,
                              "x": 280,
                              "y": 60,
                              "wires": [
                                  [
                                      "d47aa0d1fa728da8"
                                  ],
                                  [
                                      "d47aa0d1fa728da8"
                                  ],
                                  [
                                      "d47aa0d1fa728da8"
                                  ],
                                  [
                                      "d47aa0d1fa728da8"
                                  ],
                                  [
                                      "d47aa0d1fa728da8"
                                  ]
                              ]
                          },
                          {
                              "id": "d47aa0d1fa728da8",
                              "type": "debug",
                              "z": "e30b3d7c8e9c13ae",
                              "name": "debug 231",
                              "active": false,
                              "tosidebar": true,
                              "console": false,
                              "tostatus": false,
                              "complete": "false",
                              "statusVal": "",
                              "statusType": "auto",
                              "x": 510,
                              "y": 60,
                              "wires": []
                          },
                          {
                              "id": "e5d4b02e39142509",
                              "type": "inject",
                              "z": "e30b3d7c8e9c13ae",
                              "name": "",
                              "props": [
                                  {
                                      "p": "payload"
                                  },
                                  {
                                      "p": "topic",
                                      "vt": "str"
                                  }
                              ],
                              "repeat": "",
                              "crontab": "",
                              "once": false,
                              "onceDelay": 0.1,
                              "topic": "",
                              "payload": "",
                              "payloadType": "str",
                              "x": 90,
                              "y": 60,
                              "wires": [
                                  [
                                      "1c58a83f7b099c2c"
                                  ]
                              ]
                          },
                          {
                              "id": "802c615c03960bb5",
                              "type": "modbus-read",
                              "z": "e30b3d7c8e9c13ae",
                              "name": "Read",
                              "topic": "",
                              "showStatusActivities": false,
                              "logIOActivities": false,
                              "showErrors": false,
                              "showWarnings": true,
                              "unitid": "1",
                              "dataType": "HoldingRegister",
                              "adr": "1500",
                              "quantity": "20",
                              "rate": "5",
                              "rateUnit": "s",
                              "delayOnStart": false,
                              "startDelayTime": "",
                              "server": "0b269ba065891482",
                              "useIOFile": false,
                              "ioFile": "",
                              "useIOForPayload": false,
                              "emptyMsgOnFail": false,
                              "x": 270,
                              "y": 140,
                              "wires": [
                                  [
                                      "850acb94b17b4b94"
                                  ],
                                  [
                                      "850acb94b17b4b94"
                                  ]
                              ]
                          },
                          {
                              "id": "850acb94b17b4b94",
                              "type": "debug",
                              "z": "e30b3d7c8e9c13ae",
                              "name": "debug 232",
                              "active": true,
                              "tosidebar": true,
                              "console": false,
                              "tostatus": false,
                              "complete": "false",
                              "statusVal": "",
                              "statusType": "auto",
                              "x": 510,
                              "y": 140,
                              "wires": []
                          },
                          {
                              "id": "cf41e8a95857a041",
                              "type": "modbus-write",
                              "z": "e30b3d7c8e9c13ae",
                              "name": "Write",
                              "showStatusActivities": false,
                              "showErrors": false,
                              "showWarnings": true,
                              "unitid": "1",
                              "dataType": "MHoldingRegisters",
                              "adr": "4001",
                              "quantity": "2",
                              "server": "0b269ba065891482",
                              "emptyMsgOnFail": false,
                              "keepMsgProperties": false,
                              "delayOnStart": false,
                              "startDelayTime": "",
                              "x": 250,
                              "y": 200,
                              "wires": [
                                  [
                                      "36fc03fafb4bfac3"
                                  ],
                                  [
                                      "36fc03fafb4bfac3"
                                  ]
                              ]
                          },
                          {
                              "id": "36fc03fafb4bfac3",
                              "type": "debug",
                              "z": "e30b3d7c8e9c13ae",
                              "name": "debug 233",
                              "active": true,
                              "tosidebar": true,
                              "console": false,
                              "tostatus": false,
                              "complete": "false",
                              "statusVal": "",
                              "statusType": "auto",
                              "x": 510,
                              "y": 200,
                              "wires": []
                          },
                          {
                              "id": "6188c6b9a087442e",
                              "type": "inject",
                              "z": "e30b3d7c8e9c13ae",
                              "name": "SG 2",
                              "props": [
                                  {
                                      "p": "payload"
                                  },
                                  {
                                      "p": "topic",
                                      "vt": "str"
                                  }
                              ],
                              "repeat": "",
                              "crontab": "",
                              "once": false,
                              "onceDelay": 0.1,
                              "topic": "",
                              "payload": "[0,0]",
                              "payloadType": "json",
                              "x": 90,
                              "y": 180,
                              "wires": [
                                  [
                                      "cf41e8a95857a041"
                                  ]
                              ]
                          },
                          {
                              "id": "361c3ea15c934a33",
                              "type": "inject",
                              "z": "e30b3d7c8e9c13ae",
                              "name": "SG 3",
                              "props": [
                                  {
                                      "p": "payload"
                                  },
                                  {
                                      "p": "topic",
                                      "vt": "str"
                                  }
                              ],
                              "repeat": "",
                              "crontab": "",
                              "once": false,
                              "onceDelay": 0.1,
                              "topic": "",
                              "payload": "[1,0]",
                              "payloadType": "json",
                              "x": 90,
                              "y": 220,
                              "wires": [
                                  [
                                      "cf41e8a95857a041"
                                  ]
                              ]
                          },
                          {
                              "id": "0b269ba065891482",
                              "type": "modbus-client",
                              "name": "",
                              "clienttype": "tcp",
                              "bufferCommands": true,
                              "stateLogEnabled": false,
                              "queueLogEnabled": false,
                              "failureLogEnabled": true,
                              "tcpHost": "192.168.2.103",
                              "tcpPort": "502",
                              "tcpType": "DEFAULT",
                              "serialPort": "/dev/ttyUSB",
                              "serialType": "RTU-BUFFERD",
                              "serialBaudrate": "9600",
                              "serialDatabits": "8",
                              "serialStopbits": "1",
                              "serialParity": "none",
                              "serialConnectionDelay": "100",
                              "serialAsciiResponseStartDelimiter": "0x3A",
                              "unit_id": "1",
                              "commandDelay": "1",
                              "clientTimeout": "1000",
                              "reconnectOnTimeout": true,
                              "reconnectTimeout": "2000",
                              "parallelUnitIdsAllowed": true,
                              "showErrors": false,
                              "showWarnings": true,
                              "showLogs": true
                          }
                      ]
                      
                      1 Reply Last reply Reply Quote 0
                      • A
                        Android51 last edited by Android51

                        welche Holding-Adresse (SGready) versuchst du denn zu schalten? bzw. zu schreiben?
                        Ich mache das über 44002 und dann über meine VIS... das funktioniert gut.
                        937b36d2-7c12-4295-b68b-88d0771d2e4a-image.png

                        N 1 Reply Last reply Reply Quote 0
                        • N
                          NetFritz @Android51 last edited by

                          @android51
                          Hallo
                          Beim mir will der IOB Modbusadpter keine Holding Register beschreiben.
                          Beim User QLink geht es auch nicht.

                          In Node Red Modbus wir die Adresse -1 angegeben.
                          Also wenn Du Die Adresse 4002 = SG Ready 1 schalten willst muss Du die 4001 eingeben.

                          Beim ioBroker Modbus Adapter wird noch eine 4 vorrangestellt.
                          Um es genau zu sagen die Adresse setzt sich zusammen 40000 + 4002 = 44002.
                          Ich habe die 4001 angegeben.

                          Bei Quantity habe ich eine 2 Eingegeben, es werden 2 Adressen beschrieben die 4002 und die 4003.
                          Einmal mit der 1 SG Ready1 und die 0 SG Ready2.
                          Und zurück beidemal 0 0.
                          Gruß NetFritz

                          A 1 Reply Last reply Reply Quote 0
                          • A
                            Android51 @NetFritz last edited by

                            @netfritz
                            Wenn ich mich recht erinnere, konnte ich die 4001 damals auch nicht schalten, die 4002 hingegen schon.

                            N 1 Reply Last reply Reply Quote 0
                            • N
                              NetFritz @Android51 last edited by

                              @android51
                              Hallo
                              Bei den Modbus Adressen für SG Ready 4001 - 4003 steht r/w in der Beschreibung.
                              Das muss eigentlich gehen.
                              Gruß NetFritz

                              1 Reply Last reply Reply Quote 0
                              • unltdnetworx
                                unltdnetworx Developer last edited by

                                Da schon öfter mal die Frage aufkam, ob per Modbus auch die Aufnahmeleistung des Wärmetauschers ausgelesen werden kann.

                                In meiner Anleitung hat der Nutzer David in den Kommentaren gelistet, dass er die Werte dafür herausgefunden hat.

                                Vielen Dank dafür.

                                1 Reply Last reply Reply Quote 0
                                • A
                                  Android51 last edited by

                                  Danke für die Info. Ich habe die Modbus 33680 mal eingebunden und werde beobachten, wie sie sich heute über Tag verhält.
                                  Ich finde allerdings ein wenig merkwürdig, dass die Adresse verfügbar ist, aber offiziell vom Stiebel Support (hatte Mailkontakt) noch nicht bekannt gegeben wird.
                                  Zudem habe ich irgendwo gelesen, dass der Wert ziemlich "geschönt" ist und nicht der tatsächlichen Stromaufnahme entspricht.

                                  T Funkymaddox 2 Replies Last reply Reply Quote 1
                                  • T
                                    tippy88 @Android51 last edited by

                                    @android51 said in Stiebel-ISG - Modbus:

                                    Zudem habe ich irgendwo gelesen, dass der Wert ziemlich "geschönt" ist und nicht der tatsächlichen Stromaufnahme entspricht.

                                    Das Problem ist auch die Rundung, der Wert wird nur mit einer Stelle nach dem Komma angegeben. 0,999 wird halt 0,9 im Modbus
                                    Ich habe bei mir ein Offset von +100W angelegt. Das kommt ganz gut hin wenn ich Nachts den Ruheverbrauch + Heizung zusammenrechne passt das.

                                    1 Reply Last reply Reply Quote 0
                                    • Funkymaddox
                                      Funkymaddox @Android51 last edited by

                                      @android51
                                      Kam bei dem Registerauslesetest was heraus?
                                      Wir haben eine WPL15AS und einen WPM3 + ISG Web.
                                      Für die SG-Ready Steuerung nutzen wir EVCC, was prima funktioniert, bis auf den fehlenden Wert der Stromaufnahme des Inverters bei uns. Betriebszustand 2 zu 3 und umgekehrt klappt, aber es wird immer 0kW Leistung angezeigt. (EVCC hat im Modbus template Register 680 stehen, welches scheinbar bei manchen Nutzern die aktuellen Verbrauch ausgibt (WPM G?))

                                      Wir haben WPM3 Software 6 (ISG 12/2/3/260) und komischerweise weder Prozessdaten in der Servicewelt, noch wirft das Register einen Wert aus.
                                      Weißt du, ob man die Prozessdaten irgendwie in die Servicewelt bekommt, und auch wenn nicht, ob man die Inverterleitung doch irgendwie bekommen kann?

                                      A 1 Reply Last reply Reply Quote 0
                                      • A
                                        Android51 @Funkymaddox last edited by Android51

                                        @funkymaddox
                                        bei mir lässt sich die Aufnahmeleistung ohne Probleme per Modbus auslesen. Ich traue nur den Wert nicht zu 100 %. Habe inzwischen einen shelly pro 3em, mit dem ich die Stromaufnahme der Wärmepumpe tracke. Der misst die einzelnen Phasen der Wärmepumpe. Der Wert ist grundsätzlich höher. Je höher die Aufnahmeleistung der Wärmepumpe, desto größer die Abweichung.
                                        Was kannst du denn mit EVCC steuern? Ich dachte, dass wäre nur für Wallboxen. Kannste mal ein Screenshot von der Oberfläche posten und ein wenig beschreiben, wie du das nutzt?

                                        Homoran 1 Reply Last reply Reply Quote 0
                                        • Homoran
                                          Homoran Global Moderator Administrators @Android51 last edited by

                                          @android51 sagte in Stiebel-ISG - Modbus:

                                          Je höher die Aufnahmeleistung der Wärmepumpe, desto größer die Abweichung.

                                          kann es sein, dass am Gerät nur die "wirklich" für die Wärmeerzeugung genutzte Energie/Leistung angezeigt wird.
                                          Nicht der Verbrauch von irgendwelchen Zusatzaggregaten?

                                          Hab so einen Effekt beim e-Auto.
                                          Da zeigt das Auto anscheinend nur den reinen Verbrauch des Antriebs an, kein Licht, Heizung, Klima usw.

                                          Funkymaddox 1 Reply Last reply Reply Quote 0
                                          • Funkymaddox
                                            Funkymaddox @Homoran last edited by

                                            @homoran
                                            Ja, habe anderswo gelesen, dass dies genau so ist. Der Lüfter/Rotor und co zählen nicht zu der Inverteraufnahme in kW. Hatte auch gelesen, dass jemand anhand der Hz des Lüfters und co errechnen konnte, wie groß die Abweichung ist. Darauf könnte man eine Formel erstellen. Aber selbst ohne wäre ein geschätzter/gerundeter Wert schon besser als 0 🙂

                                            Homoran 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

                                            517
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            modbus stiebel-isg
                                            35
                                            486
                                            75976
                                            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