Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. ecoflow-connector-Script zur dynamischen Leistungsanpassung

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    ecoflow-connector-Script zur dynamischen Leistungsanpassung

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

      @foxthefox ,@der-tom
      Matthias Klein hat vor einiger Zeit eine Ecoflow River als UVS und Batteriespeicher gebaut.
      Über offizielle Api und iobroker-Forum wohl viele Infos bekommen.
      Der Bloglink ist hier:
      Haus-Automatisierung Ecoflow River 2 Batteriespeicher

      haus-automatisierung.com/hardware/2023/02/13/ecoflow-river-2-usv-batteriespeicher.html
      

      vielleicht hilft es.

      F 1 Reply Last reply Reply Quote 1
      • F
        foxthefox Developer @aherby last edited by

        @aherby
        Danke, den Beitrag kenn ich, steht auch in der Readme vom Adapter

        A 1 Reply Last reply Reply Quote 0
        • A
          aherby @foxthefox last edited by

          @foxthefox Stimmt dann auch gesehen, sorry.

          1 Reply Last reply Reply Quote 0
          • W
            Waly_de @aherby last edited by

            @aherby sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

            @foxthefox Schau mal ob hier die Helligkeit drin ist:

            Nachricht: {"header":[{"pdata":"08a307","src":32,"dest":53,"dSrc":1,"dDest":1,"checkType":3,"cmdFunc":2,
            "cmdId":130,"dataLen":3,"needAck":1,"seq":1683706391,"version":19,"payloadVer":1,"from":"ios","deviceSn":"HW52ZDH4SF66xxxx"}]}
            

            Max Power / Überlastschutz hier ?:

            script.js.Ecoflow_Dynamische_Leistung_V1_2: Nachricht: {"header":[{"pdata":"08880e","src":32,"dest":53,"dSrc":1,"dDest":1,"checkType":3,"cmdFunc":2,"cmdId":137,"dataLen":3,"needAck":1,"seq":1683834767,"version":19,"payloadVer":1,"from":"ios","deviceSn":"HW52ZDH4SF66xxxx"}]}
            

            Dank Dir. Die Writeables sind in der nächsten Script-Version drin.

            1 Reply Last reply Reply Quote 0
            • A
              aherby @Waly_de last edited by aherby

              @waly_de @foxthefox Ich habe gerade mal etwas getestet oder gespielt.

              feed_priortiy
              

              ist die Einspeisekontrolle, auch schon als Schreibwert unter den Objekten vorhanden.

              Einspeisekontrolle
              Ist die Batterie voll geladen,, liefert das System Strom nach dem voreingestellten Strombedaf des Haushalts um die Einspeisund des überschüssigen Stroms ins Netz zu verhindern. Wenn sie den Solarertrag maximieren möchten, sollten Sie diese Funktion am besten deaktivieren.

              Ah ok ist ja unter Version 1.1.6.2 beschrieben das der PArameter aufgenommen wurde.

              Gibt es eigentlich irgendwo eine Doku was hinter allen Parametern steckt?

              W 1 Reply Last reply Reply Quote 0
              • W
                Waly_de @foxthefox last edited by Waly_de

                @foxthefox sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                Ja gerne, ich bräuchte auch mal ein HEX String von den normalen update Daten die zyklisch kommen, da müsste eigentlich dieses Bit für "Berücksichtigung im Powerstream"neu drin sein.

                Ich hab im Script jetzt eine Möglichkeit zum Loggen aller hereinkommenden Nachrichten einer Bestimmten Serialnummer eingebaut.

                const SERIAL_TO_LOG = "DAEBXXXXXXXXXXXXX"
                const LogAllOfSerial = false //false= nur Set-Anweisungen, true = alles von der Seriennummer
                

                Könnte vielleicht hilfreich sein.
                Die Datei sieht dann so aus:

                27.12.2023, 10:47:35 Topic:/app/device/property/DAEBXXXXXXXXXXXXX Data:{"addr":0,"cmdFunc":0,"cmdId":0,"id":1622934611910209800,"version":"1.0","timestamp":1703670455502,"params":{"bmsMaster.f32ShowSoc":6.7590156,"bmsMaster.designCap":40000,"bmsMaster.remainCap":1630,"bmsMaster.temp":24,"bmsMaster.bmsFault":0,"bmsMaster.maxCellTemp":24,"bmsMaster.vol":49806,"bmsMaster.soh":98,"bmsMaster.sysVer":16778263,"bmsMaster.bqSysStatReg":128,"bmsMaster.amp":0,"bmsMaster.outputWatts":0,"bmsMaster.soc":7,"bmsMaster.num":0,"bmsMaster.openBmsIdx":1,"bmsMaster.type":1,"bmsMaster.minCellTemp":24,"bmsMaster.errCode":0,"latestTimeStamp":1703670455502,"bmsMaster.maxMosTemp":27,"bmsMaster.tagChgAmp":32000,"bmsMaster.maxCellVol":3573,"bmsMaster.inputWatts":0,"bmsMaster.minMosTemp":27,"bmsMaster.remainTime":0,"bmsMaster.minCellVol":3453,"bmsMaster.fullCap":24120,"bmsMaster.cellId":1,"bmsMaster.cycles":168}}
                27.12.2023, 10:47:35 Topic:/app/device/property/DAEBXXXXXXXXXXXXX Data:{"addr":0,"cmdFunc":0,"cmdId":0,"id":1622934611910213000,"version":"1.0","timestamp":1703670455632,"params":{"latestTimeStamp":1703670455632,"kit.maxKitNum":2,"kit.availableDataLen":83,"kit.productInfoDetails":[{"procedureState":1,"appVersion":83886777,"productDetail":1,"soc":0,"curPower":-10,"f32Soc":0,"protocolAvaiFlag":1,"sn":"HW51ZOH4SF5U0255","loaderVersion":83886338,"productType":75},{"procedureState":0,"appVersion":0,"productDetail":0,"soc":0,"curPower":0,"f32Soc":0,"protocolAvaiFlag":0,"sn":"","loaderVersion":0,"productType":0}],"kit.protocolVersion":1}}
                27.12.2023, 10:47:36 Topic:/app/device/property/DAEBXXXXXXXXXXXXX Data:{"addr":0,"cmdFunc":0,"cmdId":0,"id":1622934620500132900,"version":"1.0","timestamp":1703670456037,"params":{"latestTimeStamp":1703670456037,"kit.maxKitNum":2,"kit.availableDataLen":83,"kit.productInfoDetails":[{"procedureState":1,"appVersion":83886777,"productDetail":1,"soc":0,"curPower":-9,"f32Soc":0,"protocolAvaiFlag":1,"sn":"HW51ZOH4SF5U0255","loaderVersion":83886338,"productType":75},{"procedureState":0,"appVersion":0,"productDetail":0,"soc":0,"curPower":0,"f32Soc":0,"protocolAvaiFlag":0,"sn":"","loaderVersion":0,"productType":0}],"kit.protocolVersion":1}}
                27.12.2023, 10:47:36 Topic:/app/device/property/DAEBXXXXXXXXXXXXX Data:{"addr":0,"cmdFunc":0,"cmdId":0,"id":1622934620500139300,"version":"1.0","timestamp":1703670456294,"params":{"ems.chgCmd":2,"ems.bmsWarningState":0,"ems.minDsgSoc":7,"ems.paraVolMax":50805,"ems.f32LcdShowSoc":6.7578773,"ems.lcdShowSoc":7,"ems.emsIsNormalFlag":1,"ems.bms0Online":3,"ems.minOpenOilEbSoc":0,"ems.maxChargeSoc":99,"ems.chgRemainTime":5999,"ems.paraVolMin":48805,"ems.openBmsIdx":1,"ems.dsgRemainTime":489,"ems.maxAvailableNum":1,"latestTimeStamp":1703670456294,"ems.bms1Online":3,"ems.chgVol":50806,"ems.bmsModel":2,"ems.dsgCmd":2,"ems.openUpsFlag":1,"ems.maxCloseOilEbSoc":100,"ems.chgState":1,"ems.fanLevel":0,"ems.chgAmp":0,"ems.bms2Online":0}}
                27.12.2023, 10:47:36 Topic:/app/device/property/DAEBXXXXXXXXXXXXX Data:{"addr":0,"cmdFunc":0,"cmdId":0,"id":1622934620500140500,"version":"1.0","timestamp":1703670456336,"params":{"bmsMaster.f32ShowSoc":6.7590156,"bmsMaster.designCap":40000,"bmsMaster.remainCap":1630,"bmsMaster.temp":24,"bmsMaster.bmsFault":0,"bmsMaster.maxCellTemp":24,"bmsMaster.vol":49806,"bmsMaster.soh":98,"bmsMaster.sysVer":16778263,"bmsMaster.bqSysStatReg":128,"bmsMaster.amp":0,"bmsMaster.outputWatts":0,"bmsMaster.soc":7,"bmsMaster.num":0,"bmsMaster.openBmsIdx":1,"bmsMaster.type":1,"bmsMaster.minCellTemp":24,"bmsMaster.errCode":0,"latestTimeStamp":1703670456336,"bmsMaster.maxMosTemp":27,"bmsMaster.tagChgAmp":32000,"bmsMaster.maxCellVol":3573,"bmsMaster.inputWatts":0,"bmsMaster.minMosTemp":27,"bmsMaster.remainTime":0,"bmsMaster.minCellVol":3453,"bmsMaster.fullCap":24120,"bmsMaster.cellId":1,"bmsMaster.cycles":168}}
                27.12.2023, 10:47:36 Topic:/app/device/property/DAEBXXXXXXXXXXXXX Data:{"addr":0,"cmdFunc":0,"cmdId":0,"id":1622934620500143900,"version":"1.0","timestamp":1703670456485,"params":{"latestTimeStamp":1703670456485,"kit.maxKitNum":2,"kit.availableDataLen":83,"kit.productInfoDetails":[{"procedureState":1,"appVersion":83886777,"productDetail":1,"soc":0,"curPower":-10,"f32Soc":0,"protocolAvaiFlag":1,"sn":"HW51ZOH4SF5U0255","loaderVersion":83886338,"productType":75},{"procedureState":0,"appVersion":0,"productDetail":0,"soc":0,"curPower":0,"f32Soc":0,"protocolAvaiFlag":0,"sn":"","loaderVersion":0,"productType":0}],"kit.protocolVersion":1}}
                

                bei den PS oder Plugs kommen die Hexstrings uninterpretiert.
                Ist das für Dich so zu gebrauchen?
                Kommt mit der nächsten Version

                1 Reply Last reply Reply Quote 0
                • W
                  Waly_de @Der Tom last edited by

                  @der-tom sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                  Hallo zusammen,

                  frohe Weihnachten 🙂

                  Ich habe das Script seit einiger Zeit am Laufen - vielen Dank an alle, die hier an der Entwicklung beteiligt waren.

                  Ich habe ein River 2 Pro und würde gern die Watt-Zahl mit der AC geladen wird einstellen.
                  Da ich kein Delta 2 habe, kommt:
                  0_userdata.0.ecoflow.app_17XXXXXXXXXXXXXXXXX_R6XXXXXXXXXXXXXX_thing_property_set.writeables.acChgCfg_D2
                  wohl nicht in Frage (funktioniert auch nicht - bereits getestet)

                  Meiner Meinung nach, wäre der Parameter:
                  0_userdata.0.ecoflow.app_device_property_R6XXXXXXXXXXXXXX.data.params.mppt.cfgChgWatts
                  korrekt oder?
                  Leider auch ohne Erfolg - auch hier ändert sich nichts.

                  Im Script gibt es keine Auswahl vom River 2 Pro, daher habe ich auf NA gestellt.
                  Wie bekomme ich die AC Ladeleistung geregelt?

                  Danke fürs helfen.

                  Grüße
                  Der Tom

                  ich würde Dir gern helfen und den " River 2 Pro" als neuen Typen anlegen.
                  Damit das möglichst schnell geht, kannst du mir helfen.
                  Bitte mach folgendes:

                  • Suche im Script nach:
                    const SERIAL_TO_LOG = "DAEBXXXXXXXXXXXXX"
                  • Trage da die Seriennummer von Deinem River 2 Pro ein.
                  • Starte das Script
                  • Ändere in der App alles was man verändern kann einmal und stell es dann wieder auf den Urzustand
                  • ändere dann wieder:
                    const SERIAL_TO_LOG = "DAEBXXXXXXXXXXXXX"
                    Damit das Logfile nicht zu groß wird.

                  Dann schick mir bitte das File. Du findest es unter: 'Protokolle / Log Herunterladen'

                  1 Reply Last reply Reply Quote 0
                  • W
                    Waly_de @karo2204 last edited by

                    @karo2204 sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                    Ich bekomme jetzt in den Logs folgende Fehler angezeigt:
                    script.js.ecoflow-connector_v12__04_12_2023: getLowestValue-error: timeout

                    script.js.ecoflow-connector_v12__04_12_2023: Fehler beim Abrufen des niedrigsten Werts: timeout

                    Was kann das sein?

                    @karo2204 Wenn das nicht ständig auftritt, kannst du es Ignorieren. Auch mal das Script und den History-Adapter neu starten.

                    K 1 Reply Last reply Reply Quote 0
                    • W
                      Waly_de @Joppe last edited by Waly_de

                      @joppe sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                      Falls das schon gefragt und beantwortet wurde:
                      Sorry!
                      Aber: Könnten wir das Script bitte auf Git/GitHub bringen?
                      Das Script ist genial, ich habe meinen Dank schon zum Ausdruck gebracht.
                      Git würde aber den Vorteil bringen dass wir alle unseren Beitrag zum Script anbieten können. Ich selber habe ein paar Zusätze die ich jedesmal wieder mühsam mergen muss wenn eine neue Version des Grundscripts kommt.
                      Coole Sidefeatures könnten über PullRequests in den Code einfließen, wobei dem Scriptersteller volle Kontrolle erhalten bleibt was ins Script kommt und was nicht. Außerdem stünde ein schönes changelog zur Verfügung - mir Versionskontrolle und Vergleich unter jedem Commit - top!
                      Ich unterstütze auch gerne beim Aufbau des Repository - falls gewünscht.
                      Danke dass ich meine Meinung kundtun durfte,
                      Mane
                      äh ich mein Joppe. 🙂

                      Du hast recht. Das wäre extrem sinnvoll. Ich hab mich bisher davor gedrückt, weil ich keine Ahnung habe, wie das funktioniert und meine Zeit ist ziemlich limitiert. Aber Wenn Du mir hilfst und mir einen Crashkurs gibts, wie ich damit umgehen muss... sehr gerne 😉 Einen Account hab ich schon.

                      1 Reply Last reply Reply Quote 0
                      • W
                        Waly_de @aherby last edited by

                        @aherby sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                        Gibt es eigentlich irgendwo eine Doku was hinter allen Parametern steckt?

                        soweit ich weiss nicht. Wenn Du sowas findest, sag Bescheid 🙂 Aber die meisten Namen sprechen ja für sich. Bei den meisten Daten aus dem Heartbeat hab ich allerdings auch keine Ahnung was genau sie bedeuten. Hoffentlich macht sich mal jemand die Mühe das genauer zu beschreiben.

                        A 1 Reply Last reply Reply Quote 0
                        • K
                          karo2204 @Waly_de last edited by

                          @waly_de Danke Dir. Hat geholfen.

                          1 Reply Last reply Reply Quote 0
                          • A
                            aherby @Waly_de last edited by

                            @waly_de ist mir gerade über den Weg gelaufen:

                            State value to set for "ecoflow-mqtt.0.R351ZEB4HF4Exxxx.mppt.pv2InVol" has value "3729.1000000000004" greater than max "150"
                            

                            aber nur als Warnung.

                            W 1 Reply Last reply Reply Quote 0
                            • W
                              Waly_de @aherby last edited by

                              @aherby sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                              @waly_de ist mir gerade über den Weg gelaufen:
                              State value to set for "ecoflow-mqtt.0.R351ZEB4HF4Exxxx.mppt.pv2InVol" has value "3729.1000000000004" greater than max "150"
                              aber nur als Warnung.

                              falscher Thread 😉 Das gehört hier her:
                              https://forum.iobroker.net/topic/69819/neuer-adapter-ecoflow-mqtt

                              A 1 Reply Last reply Reply Quote 0
                              • A
                                aherby @Waly_de last edited by

                                @waly_de Hast ja Recht 🙄
                                du bist doch i guten Austauch mit @foxthefox oder?
                                Beim Adapter wurden weitere .unknown für die Smarplugs eingebaut.
                                Ich glaube unknown32 zeigt wie viele Smartplugs bei der Hausleitstung berücksichtig werden
                                und unknown 33 müsste die Einspeiseleistung vom Powerstream sein.
                                Bekommt du ein Update von @foxthefox oder brauchst du die entsprechenden Logs, Hex-Strings ... ?

                                F W 2 Replies Last reply Reply Quote 0
                                • F
                                  foxthefox Developer @aherby last edited by

                                  @aherby
                                  Wenn ich was sinnvolles habe, dann gebe ich schon Rückmeldung. Die erweiterten unknown im Plug_heartbeat stehen ja grad am Anfang.

                                  1 Reply Last reply Reply Quote 1
                                  • W
                                    Waly_de @aherby last edited by

                                    @foxthefox wärst du so nett mir bescheid zu geben, wenn du die neuen Parameter zugeordnet und benannt hast? Dann übernehme ich das gern ins Skript und wir haben einheitliche Feldnamen.... 🙂

                                    @aherby sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                                    Beim Adapter wurden weitere .unknown für die Smarplugs eingebaut.

                                    unknown wird ja sicher noch einen richtigen Namen bekommen. Baue ich das jetzt ein, müssen später wieder darauf basierende Sachen geändert werden.

                                    A 2 Replies Last reply Reply Quote 0
                                    • A
                                      aherby @Waly_de last edited by

                                      @waly_de
                                      @foxthefox Ihr macht das ja super.
                                      Irgendwie war ich gestern Abend nicht müde genug und daher noch versucht Logs zu erzeugen. Dann kommt seit langem mal wieder die Sonne raus, die Laune steig und Ecoflow arbeitet mal wieder. Ein paar Dinge konnte ich vielleicht liefern. Macht gerade mehr Spaß als an der Kellerwand / Fensterlaibung eine Abdichtung gleich auftragen zu müssen 😊 🙄

                                      1 Reply Last reply Reply Quote 0
                                      • I
                                        IbrokeO last edited by IbrokeO

                                        Hi Leute,

                                        edit: war im falschen Thread / Topic.

                                        LGeorg

                                        1 Reply Last reply Reply Quote 0
                                        • A
                                          aherby @Waly_de last edited by

                                          @waly_de Hallo vielleicht bin ich noch nicht ausgeschlafen genug oder wie auch immer.
                                          Gerade hatte folgendes Verhalten:
                                          Powerstream läd die Delta 2 Max mit 21 W, die Delta 2 Max wird über PV1 mit 12 W und über PV2 mit 21 W geladen. Ich habe erst über AC ca. 400 W Ladung eingestellt und dann auf 1000 W AC-Ladeleistung hoch geregelt.
                                          Die Einspeiseleistung ist dann auf die vollen 600 W gegangen.

                                          Natürlich erfasst der Zähler den Verbrauch von den 1000 W aber so bringt mir Aufladung ja nur 400 W für den Akku. Könnte ihr das Verhalten nachstellen?

                                          Aber noch die Version 1.1.6.1, die das System regelt.

                                          W 1 Reply Last reply Reply Quote 0
                                          • P
                                            PCGamer @Waly_de last edited by

                                            @waly_de: Na vielen Dank, darauf muss man erst einmal kommen. Skript läuft jetzt. Sorry, dass ich erst jetzt antworte, war in den Ferien, konnte dem also nicht nachkommen.

                                            P 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            126
                                            1630
                                            499860
                                            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