Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Einsteigerfragen
  4. Einbindung von Geräten
  5. Adapter für Ecoflow Einbindung

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Adapter für Ecoflow Einbindung

Scheduled Pinned Locked Moved Einbindung von Geräten
212 Posts 42 Posters 65.4k Views 41 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • W Waly_de

    @mattenausohz

    1. BasePower Offset ist das, was bei der Berechnung der Einspeiseleistung abgezogen wird. Also wenn Ermittelt wird, dass Dein Verbrauch gerade 400W ist und der Offset auf 50 eingestellt ist, dann wird 350W als Einspeiseleistung eingestellt. Dein Stromzähler sollte also im Idealfall dann 50 W anzeigen.

    2. Dann stimmt etwas nicht. Der Wert sollte eher oberhalb des Offset liegen. Es wird ja immer der niedrigste Verbrauchswert der letzten <MinValueMin> Minuten ermittelt und davon der Offset abgezogen...

    3. Ja die Werte weichen ab. Ich habe noch keine Erklärung bzw. keine Methode gefunden um das 100% gleich zu ziehen. Im Moment ziehe ich von den PV1 und PV2 Werten je 18W ab um die Summe zu errechnen. Das kam den Werten der App am nächsten. 100% Ist das aber nicht. Vielleicht findet einer von Euch ja raus, wie der Wert genau berechnet werden kann. Wenn du die App benutzt während das Skript läuft, kann es sein das der Empfang der Nachrichten im Skript abbricht. Ich Monitor das schon und starte das Skript neu.. aber das dauert. Wenn Du selbst neu startest, sollte es wieder schneller Daten geben.

    4. Denk dran.. es wird der niedrigste wert der letzten <MinValueMin> Minuten ermittelt. daher muss die Leistung von 1500W mindestens <MinValueMin> Minuten dauerhaft anliegen, damit die Einspeisung angehoben wird. (Hast du auch die History für den Verbrauch aktiviert?)

    5. Oha.. ja, es kommen eben sehr viele Updates vom MQTT. Ich hatte das auch, aber mit mehr als 1000. Ist aber kein Fehler, sondern leider die Realität. Ich hab das Limit in den Einstellungen des Javascript Adapters auf 5000 Erhöht.... Alternativ könntest du den Empfang der nicht codierten Meldungen (Delta 2 oder Max) abstellen. Die werden für die Funktionalität nicht gebraucht. Dazu muss nur eine Zeile im Script auskommentiert werden. Hier die Funktion mit der auskommentieren Anweisung:

    // Auf Nachricht empfangen Ereignis reagieren
        client.on('message', async function (topic, message) {
            var jsonMessage = ""
            const mqState = topic.replace(/^\//, '').replace(/\//g, '_')
            await createMyState(mqState + ".RAW")
            setState(ConfigData.statesPrefix + ".LastTopic", topic)
            try {
                jsonMessage = JSON.parse(message);
                if (ConfigData.Debug) log('JSON-Nachricht empfangen:' + topic + ':' + JSON.stringify(jsonMessage));
                setState(ConfigData.statesPrefix + '.' + mqState + ".RAW", JSON.stringify(jsonMessage))
                //generateAndSyncSub("data", jsonMessage, false, ConfigData.statesPrefix + '.' + mqState)
            } catch (error) {
                if (ConfigData.Debug) log('Binäre Nachricht empfangen:' + topic + ':' + message.toString('hex'));
                await createMyState(mqState + ".RAW_HEX")
                setState(ConfigData.statesPrefix + '.' + mqState + ".RAW_HEX", message.toString('hex'))
                if (ConfigData.Debug) log('Decodierte Nachricht:' + decodeAndPrint(message.toString('hex')))
                const messagedecoded = decodeAndPrint(message.toString('hex'))
                setState(ConfigData.statesPrefix + '.' + mqState + ".RAW", messagedecoded)
                generateAndSyncSub("data", JSON.parse(messagedecoded), false, ConfigData.statesPrefix + '.' + mqState)
            }
        });
    

    übrigens, nach diesem Eintrag im Log steht das Script so lange, bis du es Manuell neu startest. Also danach wird nichts mehr getan.

    PS: Ich arbeite noch an der Sache. Hab einiges schon ergänzt und verbessert, vor allem die Berechnung der Einspeiseleistung. Aber ist noch nicht reif zum Posten.. dauert noch ein paar Tage...

    J Offline
    J Offline
    johobo
    wrote on last edited by johobo
    #200

    @waly_de sehe ich das richtig, dass man mit deinem neuen Script nur die Werte vom Powerstream schreiben kann?

    Ich habe ne DELTA Pro. Mit dem alten script (bevor Ecoflow alles umgestellt hat) konnte ich auch die Werte der Delta (MaxChargeSOC, etc.) schreiben.
    Mit deinemscript kann ich zwar die Werte aus der Delta auslesen, aber nciht schreiben...

    W 1 Reply Last reply
    0
    • J johobo

      @waly_de sehe ich das richtig, dass man mit deinem neuen Script nur die Werte vom Powerstream schreiben kann?

      Ich habe ne DELTA Pro. Mit dem alten script (bevor Ecoflow alles umgestellt hat) konnte ich auch die Werte der Delta (MaxChargeSOC, etc.) schreiben.
      Mit deinemscript kann ich zwar die Werte aus der Delta auslesen, aber nciht schreiben...

      W Offline
      W Offline
      Waly_de
      wrote on last edited by
      #201

      @johobo sagte in Adapter für Ecoflow Einbindung:

      Mit deinemscript kann ich zwar die Werte aus der Delta auslesen, aber nciht schreiben...

      hab ich nicht bewusst geändert. Schreibare States stehen unter:
      0_userdata.0.ecoflow.app_1584583134200832001_xxxxxxxxxxxxxxxxxxxx_thing_property_set.writeables

      ...und werden angelegt, wenn man entsprechendes Setting in der App verstellt, während das Script läuft.

      P J 2 Replies Last reply
      0
      • W Waly_de

        @johobo sagte in Adapter für Ecoflow Einbindung:

        Mit deinemscript kann ich zwar die Werte aus der Delta auslesen, aber nciht schreiben...

        hab ich nicht bewusst geändert. Schreibare States stehen unter:
        0_userdata.0.ecoflow.app_1584583134200832001_xxxxxxxxxxxxxxxxxxxx_thing_property_set.writeables

        ...und werden angelegt, wenn man entsprechendes Setting in der App verstellt, während das Script läuft.

        P Offline
        P Offline
        Ponti92
        wrote on last edited by Ponti92
        #202

        @waly_de
        Ich hab das mal getestet und beim Einstellen des Charge speeds gibt das Skript eine Dekodier-Fehlermeldung:

        16:24:12.283	info	javascript.0 (1240) script.js.Ecoflow2: Fehler beim Decodieren:invalid wire type 7 at offset 116
        16:24:14.992	info	javascript.0 (1240) script.js.Ecoflow2: Fehler beim Decodieren:invalid wire type 4 at offset 182
        16:24:19.362	info	javascript.0 (1240) script.js.Ecoflow2: Fehler beim Decodieren:invalid wire type 4 at offset 182
        

        Ich hab da in der App ein paar Mal den Wert per Schieberegler verändert und fände das auch interessant :)

        Hier mit "debug" flag:

        16:27:05.654	info	javascript.0 (1240) script.js.Ecoflow2: Fehler beim Decodieren:index out of range: 183 + 118 > 197
        16:27:05.655	info	javascript.0 (1240) script.js.Ecoflow2: Decodierte Nachricht:{}
        
        W 1 Reply Last reply
        0
        • P Ponti92

          @waly_de
          Ich hab das mal getestet und beim Einstellen des Charge speeds gibt das Skript eine Dekodier-Fehlermeldung:

          16:24:12.283	info	javascript.0 (1240) script.js.Ecoflow2: Fehler beim Decodieren:invalid wire type 7 at offset 116
          16:24:14.992	info	javascript.0 (1240) script.js.Ecoflow2: Fehler beim Decodieren:invalid wire type 4 at offset 182
          16:24:19.362	info	javascript.0 (1240) script.js.Ecoflow2: Fehler beim Decodieren:invalid wire type 4 at offset 182
          

          Ich hab da in der App ein paar Mal den Wert per Schieberegler verändert und fände das auch interessant :)

          Hier mit "debug" flag:

          16:27:05.654	info	javascript.0 (1240) script.js.Ecoflow2: Fehler beim Decodieren:index out of range: 183 + 118 > 197
          16:27:05.655	info	javascript.0 (1240) script.js.Ecoflow2: Decodierte Nachricht:{}
          
          W Offline
          W Offline
          Waly_de
          wrote on last edited by Waly_de
          #203

          @ponti92 gabs ein update für die delta pro?
          Bissher haben die Deltas doch ohne Prodbuf-Codierung gearbeitet...

          Wenn der debug modus an war... gab es ein zugehöriges HEX??

          P A 2 Replies Last reply
          0
          • W Waly_de

            @ponti92 gabs ein update für die delta pro?
            Bissher haben die Deltas doch ohne Prodbuf-Codierung gearbeitet...

            Wenn der debug modus an war... gab es ein zugehöriges HEX??

            P Offline
            P Offline
            Ponti92
            wrote on last edited by Ponti92
            #204

            @waly_de
            Meinst du die Zeile davor mit der "binären Nachricht"?

            2023-08-11 16:27:05.616 - info: javascript.0 (1240) script.js.Ecoflow2: Binäre Nachricht empfangen:/app/XXXXXXXXXXXXXXXXX/RXXXXXXXXXXXXXXXX/thing/property/set:7b22706172616d73223a7b22736c6f774368675761747473223a3330302c22666173744368675761747473223a3235352c226368675061757365466c6167223a307d2c2266726f6d223a22694f53222c226c616e67223a2264652d6465222c226964223a223235353831393835222c226d6f64756c65536e223a22523335315a4542344846343530343735222c226d6f64756c6554797065223a332c226f70657261746554797065223a226163436867436667222c2276657273696f6e223a22312e30227d
            
            

            Das ist die Delta2Max und die müsste noch ohne Codierung funktionieren, jedoch habe ich z.b. den Wert writeables.dcChgCfg_D2 in meinen Objekten gefunden, nachdem ich die meisten Optionen in der App mal verändert habe.

            1 Reply Last reply
            0
            • W Waly_de

              @ponti92 gabs ein update für die delta pro?
              Bissher haben die Deltas doch ohne Prodbuf-Codierung gearbeitet...

              Wenn der debug modus an war... gab es ein zugehöriges HEX??

              A Offline
              A Offline
              aikonflo
              wrote on last edited by
              #205

              @waly_de
              Zuerst einmal vielen vielen dank für deine mühe :+1:
              Das Script läuft bei mir einwandfrei, bis auf eine kleinigkeit.
              Ich kann AC_set nicht auf 0 stellen, ich schreib es zwar rein aber es wird nich in die App aktualisiert.
              Der kleinste Wert den ich setzen kann ist 200 (also 20 Watt).
              in der App kann ich aber auf 0 setzen.
              Gibt es da einen Workaround wie ich den wert schreiben muss damit es akzeptiert wird?

              btw:
              Wir an den Script noch gearbeitet oder ist es durch das
              ecoflow-connector-Script zur dynamischen Leistungsanpassung
              abgelöst worden?

              vielen Dank
              Grüße Flo

              W 1 Reply Last reply
              0
              • A aikonflo

                @waly_de
                Zuerst einmal vielen vielen dank für deine mühe :+1:
                Das Script läuft bei mir einwandfrei, bis auf eine kleinigkeit.
                Ich kann AC_set nicht auf 0 stellen, ich schreib es zwar rein aber es wird nich in die App aktualisiert.
                Der kleinste Wert den ich setzen kann ist 200 (also 20 Watt).
                in der App kann ich aber auf 0 setzen.
                Gibt es da einen Workaround wie ich den wert schreiben muss damit es akzeptiert wird?

                btw:
                Wir an den Script noch gearbeitet oder ist es durch das
                ecoflow-connector-Script zur dynamischen Leistungsanpassung
                abgelöst worden?

                vielen Dank
                Grüße Flo

                W Offline
                W Offline
                Waly_de
                wrote on last edited by
                #206

                @aikonflo ja, es ist abgelöst worden... das alte hat auch wegen Updates seitens ecoflow Probleme. Bitte nutze das neue Script

                1 Reply Last reply
                0
                • H Offline
                  H Offline
                  Hive
                  wrote on last edited by
                  #207

                  @michael-wahlers said in Adapter für Ecoflow Einbindung:

                  Bei mir läuft jetzt die Überschussladung in eine Delta 2, da diese aber augenscheinlich
                  die chgPauseFlag nicht unterstützt, werde ich wohl den Shelly schalten als Workaround.
                  chgWatts auf 0 setzen lädt weiter mit ~140W, geht also auch nicht.

                  Gab es da bei euch @michael-wahlers oder @firebowl eigentlich noch irgendwelche neuen Erkenntnisse bzgl. AC-Ladung komplett stoppen bei der Delta 2? Also z.B. über eine Schedule als Workaround oder sowas? Oder gibt es das noch immer nur bei der River-Serie?

                  1 Reply Last reply
                  0
                  • W Waly_de

                    @johobo sagte in Adapter für Ecoflow Einbindung:

                    Mit deinemscript kann ich zwar die Werte aus der Delta auslesen, aber nciht schreiben...

                    hab ich nicht bewusst geändert. Schreibare States stehen unter:
                    0_userdata.0.ecoflow.app_1584583134200832001_xxxxxxxxxxxxxxxxxxxx_thing_property_set.writeables

                    ...und werden angelegt, wenn man entsprechendes Setting in der App verstellt, während das Script läuft.

                    J Offline
                    J Offline
                    johobo
                    wrote on last edited by johobo
                    #208

                    @waly_de
                    Danke! ich habe jetzt mal in der App die Werte verstellt und nun bekomme ich unter _set.writeables die 2 Parameter angezeigt:

                    .acChgCfg_D2
                    .writeables.quietMode_D2

                    Das ist schonmal Prima. Allerdings würden mir zu meinem Glück noch
                    .maxChargeSoc
                    .minDsgSoc
                    .mppt.chgPauseFlag
                    fehlen...

                    Ne Idee, woran es liegen kann?

                    W 1 Reply Last reply
                    0
                    • J johobo

                      @waly_de
                      Danke! ich habe jetzt mal in der App die Werte verstellt und nun bekomme ich unter _set.writeables die 2 Parameter angezeigt:

                      .acChgCfg_D2
                      .writeables.quietMode_D2

                      Das ist schonmal Prima. Allerdings würden mir zu meinem Glück noch
                      .maxChargeSoc
                      .minDsgSoc
                      .mppt.chgPauseFlag
                      fehlen...

                      Ne Idee, woran es liegen kann?

                      W Offline
                      W Offline
                      Waly_de
                      wrote on last edited by
                      #209

                      @johobo das ist der Aktuelle Beitrag dazu:
                      https://forum.iobroker.net/topic/66743/ecoflow-connector-script-zur-dynamischen-leistungsanpassung

                      Teste mal die neuste Version des Scripts.... Damit müsste es funktionieren

                      J 1 Reply Last reply
                      0
                      • W Waly_de

                        @johobo das ist der Aktuelle Beitrag dazu:
                        https://forum.iobroker.net/topic/66743/ecoflow-connector-script-zur-dynamischen-leistungsanpassung

                        Teste mal die neuste Version des Scripts.... Damit müsste es funktionieren

                        J Offline
                        J Offline
                        johobo
                        wrote on last edited by
                        #210

                        @waly_de
                        Habe die Version vom 31.08. schon laufen...

                        Wenn ich über Die App einen der Werte verändere kommt es scheinbar korrekt an:
                        Delta2 Set Befehl: {"params":{"maxChgSoc":81},"from":"iOS","lang":"de-de","id":"xxxxxxxxx","moduleSn":"xxxxxxxxxx","moduleType":2,"operateType":"upsConfig","version":"1.0"}

                        Darauf sollte er ja dann das Objekt erstellen....

                        J 1 Reply Last reply
                        0
                        • J johobo

                          @waly_de
                          Habe die Version vom 31.08. schon laufen...

                          Wenn ich über Die App einen der Werte verändere kommt es scheinbar korrekt an:
                          Delta2 Set Befehl: {"params":{"maxChgSoc":81},"from":"iOS","lang":"de-de","id":"xxxxxxxxx","moduleSn":"xxxxxxxxxx","moduleType":2,"operateType":"upsConfig","version":"1.0"}

                          Darauf sollte er ja dann das Objekt erstellen....

                          J Offline
                          J Offline
                          johobo
                          wrote on last edited by
                          #211

                          @johobo Kommando zurück. Parameter sind jetzt (ausser ChargePasueFlag) alle da.

                          Ich hatte wohl auch ein Problem mit den Maximalen SetState-Anfragen. nun lief es lange genug und konnte die Parameter erstellen.

                          Danke an Alle!

                          1 Reply Last reply
                          0
                          • Michael WahlersM Michael Wahlers

                            Hi allerseits, wollte mich kurz bedanken, speziell bei @haus-automatisierung !

                            Bei mir läuft jetzt die Überschussladung in eine Delta 2, da diese aber augenscheinlich
                            die chgPauseFlag nicht unterstützt, werde ich wohl den Shelly schalten als Workaround.
                            chgWatts auf 0 setzen lädt weiter mit ~140W, geht also auch nicht.

                            In den Labs->Automation->Charge Schedule gibt es in der App eine vorgefertigte
                            Schedule für 'Laden per AC', also scheint es doch einen Switch zu geben. Triggern
                            dieser Schedule bringt nix, da es nur einen taskIndex ein- oder ausschaltet (MQTT).
                            Muss wohl die Schedule mal selbst laufen lassen und MQTT sniffen, wenn es schaltet.

                            Wie seht ihr generell die vielen Änderungen der Ladeleistung versus BMS Lebensdauer?
                            Wenn sich am 'Hausverbrauch' was ändert oder Wolken vorbeiziehen, wird halt recht
                            oft dran gedreht. Die Chemie der LFPs sollte ja kein Problem damit haben, per Solar/MPPT
                            ändert sich die Ladeleistung ja auch andauernd.
                            Was meint ihr?

                            VG,

                            Michael

                            J Offline
                            J Offline
                            johobo
                            wrote on last edited by johobo
                            #212

                            @michael-wahlers

                            Moin. ich würde hier gerne ansetzen...

                            In Labs gibt es den Parameter "Priorisiertes Laden über Solarenergie".
                            Wenn der gesetzt wird wird, Lädt er über AC nur, wenn der SOC unter 20% ist.
                            damit wäre es möglich, die Ecoflow nach dem Entladen nicht weiter als 20% zu laden...

                            Unbekannter Delta2 Set Befehl: {"params":{"pvChangeSet":1},"from":"iOS","lang":"de-de","id":"xxxxxxxx","moduleSn":"xxxxxxxxx","moduleType":1,"operateType":"pvChangePrio","version":"1.0"}

                            Leider ist der Parameter in dem Script nicht unter den Writeables für die D2 hinterlegt.
                            EDIT:

                            Habs im Script hinzugefügt:

                            { id: 0, name: 'pvChangePrio_D2', ValueName: 'pvChangeSet', Typ: 'D2', MT: 1,},

                            nun ist der Parameter Writeable. Ich werde es mal testen.

                            1 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            396

                            Online

                            32.7k

                            Users

                            82.4k

                            Topics

                            1.3m

                            Posts
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Home
                            • Recent
                            • Tags
                            • Unread 0
                            • Categories
                            • Unreplied
                            • Popular
                            • GitHub
                            • Docu
                            • Hilfe