Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Adapter Modbus und Marstek Venus E Batterie

    NEWS

    • Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    Adapter Modbus und Marstek Venus E Batterie

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

      bei mir funktioniert die Steuerung über Modbus top (mittels EW11A), brauch es aber genau 2x am Tag

      max wird sicherheitshalber auf 10W gesetzt um ein laden aus dem Netz zu verhindern
      2025-09-20 07_55_35-Einstellungen.png

      ich lade momentan ab 10:30 mit max 1500W (davor nix weil es ein Dauerspiel aus laden/entladen wäre)
      2025-09-20 07_55_20-Einstellungen.png

      44003 max discharge steht bei mir dauerhaft auf 1500W

      hab aber auch einen Adapter Request gestellt auf Github, bitte dort fleißig thumbs ups 👍 vergeben
      https://github.com/ioBroker/AdapterRequests/issues/1002

      gremlin1982 created this issue in ioBroker/AdapterRequests

      open Marstek Venus PV Speichersystem #1002

      L T 2 Replies Last reply Reply Quote 0
      • L
        Letzi @reini last edited by Letzi

        @reini Guten Morgen. Wo bitte in der App ist die Advanced Functions?

        490974811-0ee1c1aa-977b-43a8-a0f5-48bde3ce9956.jpg

        R 1 Reply Last reply Reply Quote 0
        • R
          reini @Letzi last edited by

          @letzi lässt du dir in der App unter Feedback mit Nachricht an den Support freischalten

          1 Reply Last reply Reply Quote 0
          • R
            reini last edited by reini

            auf Wunsch von @Letzi poste ich mal meine Einstellungen im Zusammenhang mit Modbus und dem EW11A RS485/Wifi Converter - funktioniert top bei mir
            Das Register zum importieren ist ebenso im Anhang - beschrieben werden können nur die Werte ab 42000

            2025-09-23 18_22_33-Greenshot.png
            2025-09-23 18_23_22-Greenshot.png
            2025-09-23 18_23_31-Greenshot.png
            2025-09-23 18_23_43-Greenshot.png
            2025-09-23 18_24_18-Greenshot.png
            register.txt

            S 1 Reply Last reply Reply Quote 1
            • S
              Skarpain @reini last edited by

              @reini hallo so wie du es eingestellt hast habe ich auch so ungefair
              daten kommen auch alle an
              so wie du das mit den blockly gelöst hast wollte ich es aber mit javascript machen
              das problem ist nur er stellt es beim nächsten poll wieder alles auf standard zurück
              koennstest du mir dein blockly mit code geben vielleicht hab ich nur ein fehler drinne danke

              R 1 Reply Last reply Reply Quote 0
              • R
                reini @Skarpain last edited by

                @skarpain

                PV_Speicher.test.xml

                1 Reply Last reply Reply Quote 0
                • B
                  burberry last edited by

                  @reini
                  Frage gehts hier um den Venus 2.0 oder um den 3.0 ?

                  Habe den 3.0 geht es damit auch ?

                  danke

                  S 1 Reply Last reply Reply Quote 0
                  • S
                    Skarpain @burberry last edited by

                    @burberry bei mir um 2.0

                    1 Reply Last reply Reply Quote 0
                    • T
                      triotec @reini last edited by

                      @reini sagte in Adapter Modbus und Marstek Venus E Batterie:

                      bei mir funktioniert die Steuerung über Modbus top (mittels EW11A), brauch es aber genau 2x am Tag

                      max wird sicherheitshalber auf 10W gesetzt um ein laden aus dem Netz zu verhindern
                      2025-09-20 07_55_35-Einstellungen.png

                      ich lade momentan ab 10:30 mit max 1500W (davor nix weil es ein Dauerspiel aus laden/entladen wäre)
                      2025-09-20 07_55_20-Einstellungen.png

                      44003 max discharge steht bei mir dauerhaft auf 1500W

                      hab aber auch einen Adapter Request gestellt auf Github, bitte dort fleißig thumbs ups 👍 vergeben
                      https://github.com/ioBroker/AdapterRequests/issues/1002

                      Ich bin auch gerade dabei meine Venus per Modbus zusteuern.

                      • warum stellst du max charge Nachts auf 10W und nicht auf 0 ? Bei 0 lädt er doch auf gar keinen fall.
                      • mein Datenpunkt für die Modbus Steuerung 42000 steht immer auf 21947 und ich kann die Datenpunkte zum laden und entladen trotzdem ändern.
                      R 1 Reply Last reply Reply Quote 0
                      • R
                        RaBe52 @triotec last edited by

                        @triotec Beide Punkte kann ich bestätigen.

                        L 1 Reply Last reply Reply Quote 0
                        • L
                          Letzi @RaBe52 last edited by Letzi

                          Darf man mal fragen, welche Firmwareversion Ihr nutzt. Ich habe die V153. Ich hatte von Anfang an saubere Lesezugriffe gehabt aber Problem mit den Schreibrechten. Natürlich schlecht für die 42000 bis 43000 Register.

                          Ich erweitere mal das Thema, weil es auch zum Steuern des Venus gehört:

                          1. Hat jemand mehr Infos über die API 30000 die man sich zwar freischalten lassen kann, aber auch da 0 Zugriffe hat?
                          2. Hat jemand die UNI-Meter Lösung zum Laufen bekommen? Immerhin ist das bis jetzt der Einzige, den ich in der Marstek App sichtbar bekommen habe. Leider weigert sich der UNI-METER die MQTT Daten umzusetzen. Spannend ist aber, das, wie schon mal geschrieben, es hier zu unkontrollierten Entladungen kommt.
                          3. und auch Version´s relevant, bis wann läuft die B2500 Lösung? Mit der Version V153 bekomme ich nicht einmal einen Emulator in der App angezeigt.
                          4. Damit es mal erwähnt wurde, eine UDP Direktverbindung vom ioBroker zum Marstek oder eine Steuerung über den EW11 auf Port 8899 funktionieren auch nicht.

                          Ich habe alle Versuche dem Support beschrieben, bis jetzt hab ich noch keine Antwort.

                          Anbei noch mein Java, durch das Eintragen eines positiven oder negativen Werts im Datenpunkt 0_userdata.0.Datenpunkte_ioBroker.AKKU.MARSTEK1.PowerControl wir der Marstek jeweil geladen oder entladen.

                          
                          // === KONFIGURATION ===
                          const POWER_CONTROL_DP = '0_userdata.0.Datenpunkte_ioBroker.AKKU.MARSTEK1.PowerControl';
                          
                          // Registerpfade:
                          const REG_RS485_CONTROL   = 'modbus.1.holdingRegisters.42000_42000_RS485_Control';
                          const REG_FORCE_MODE      = 'modbus.1.holdingRegisters.42010_42010_Force_Mode';
                          const REG_CHARGE_SOC      = 'modbus.1.holdingRegisters.42011_42011_Charge_to_SOC';
                          const REG_FORCE_CHARGE    = 'modbus.1.holdingRegisters.42020_42020_Force_Charge_Power_W';
                          const REG_FORCE_DISCHARGE = 'modbus.1.holdingRegisters.42021_42021_Force_Discharge_Power_W';
                          const REG_USER_MODE       = 'modbus.1.holdingRegisters.43000_43000_User_Work_Mode';
                          
                          // RS485-Kommandos
                          const CMD_ON  = 21930; // 0x55AA
                          const CMD_OFF = 21947; // 0x55BB
                          
                          // === INITIALISIERUNG ===
                          log('✅ Marstek Modbus-Steuerung aktiv (DP: ' + POWER_CONTROL_DP + ') – RS485 KeepAlive jede 25s', 'info');
                          
                          // === KEEPALIVE: RS485 aktiv halten ===
                          schedule('*/25 * * * * *', () => {
                              setState(REG_RS485_CONTROL, CMD_ON, false);
                              log('📝 KeepAlive RS485 (42000): ' + CMD_ON, 'info');
                          });
                          
                          // === FUNKTION: PowerControl-Handler ===
                          on({ id: POWER_CONTROL_DP, change: 'ne' }, (obj) => {
                              const val = parseFloat(obj.state.val);
                              if (isNaN(val)) return;
                          
                              if (val === 0) {
                                  log('⏹️ Stop-Befehl empfangen (0 W) – Force-Mode aus.', 'info');
                                  setState(REG_RS485_CONTROL, CMD_ON, false);
                                  setState(REG_FORCE_MODE, 0, false);
                                  return;
                              }
                          
                              // Ladebefehl
                              if (val > 0) {
                                  const power = Math.round(val);
                                  log('⚡ Ladebefehl: ' + power + ' W → FORCE_CHARGE', 'info');
                                  setState(REG_RS485_CONTROL, CMD_ON, false);
                                  setState(REG_USER_MODE, 0, false);      // Manual Mode
                                  setState(REG_FORCE_CHARGE, power, false);
                                  setState(REG_FORCE_MODE, 1, false);     // Charge Mode
                                  return;
                              }
                          
                              // Entladebefehl
                              if (val < 0) {
                                  const power = Math.abs(Math.round(val));
                                  log('⚡ Entladebefehl: ' + power + ' W → FORCE_DISCHARGE', 'info');
                                  setState(REG_RS485_CONTROL, CMD_ON, false);
                                  setState(REG_USER_MODE, 0, false);      // Manual Mode
                                  setState(REG_FORCE_DISCHARGE, power, false);
                                  setState(REG_FORCE_MODE, 2, false);     // Discharge Mode
                              }
                          });
                          
                          
                          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

                          530
                          Online

                          32.3k
                          Users

                          81.1k
                          Topics

                          1.3m
                          Posts

                          10
                          38
                          3800
                          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