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.
    • W
      Waly_de @guhfy9966 last edited by

      @guhfy9966 ich habe das bei mir nach dem letzten Firmwareupdate auch beobachtet. Habe da im Moment keine Erklärung oder Lösung. Eigentlich sollte die PS das eigenständig unterbinden.

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

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

        Vielen Dank, hat super funktioniert. Kannst du mir noch helfen wie ich mit "Additional Power" einen Solarertrag einer Delta2Max (angeschlossen an PV1) dazu addieren kann?

        Hast Du das gelöst?
        bei mir (Delta Max) sieht das so aus:

        AdditionalPower: [
                {
                    name: "Hoymiles2000",
                    id: "mqtt.0.solar.ac.power"
                },
                {
                    name: "Delta PV-Input",
                    id: "0_userdata.0.ecoflow.app_device_property_XXX.data.params.mppt.inWatts",
                    factor: 10
                },
            ],
        

        Das mit dem Faktor funktioniert aber erst in der neuen Version des Skriptes (1.2) das vor der Tür steht.
        Die Leistung wird auf diese Weise in "TotalPV" mit aufgenommen.
        Ich brauche jetzt nur ein wenig Sonne für den abschießenden Test... also Daumen drücken... 😉

        Ich spoiler schon mal das Changelog:

        (1.2) 04.12.2023

        • Neue Funktion Überschussladung implementiert:
          Bei überschüssiger Leistung kann nun ein zusätzlicher Speicher aktiviert werden.
          Da die neue Firmware für die DELTAs inzwischen duales Laden (Solar und AC gleichzeitig) unterstützt, kann damit die
          Ladeleistung der Deltas bis 2000W oder mehr erhöht werden. Auch eine Integration von weiteren Wechselrichtern ohne eigene
          Batterie wird möglich.
          Konfiguration: siehe Einstellungen weiter unten zu "ExcessCharge" (Überschussladung)
        • Neuer Parameter unter AdditionalPower: "factor" für den Divisionsfaktor. Bei den Deltas dort 10 angeben.
        • Filter gegen Datenflut der Deltas eingebaut, der das System entlastet, wenn auch die Deltas auf "subscribe: true" gestellt werden
        • Verschiedene Optimierungen und Bugfixes

        die Einstellungen:

            //****************************************
            // Überschussladung:
            //****************************************
            ExcessCharge: false,                                //Überschussladung AN/AUS (true/false)
                                                                //ID zum Einstellen der Ladeleistung des Speichers in Watt: 
            ExcessChargePowerID: "0_userdata.0.ecoflow.app_xx_xx_thing_property_set.writeables.slowChgPower",
                                                                //ID des aktuellen Ladestandes des Speichers in %: 
            ExcessChargePowerBatSocID: "0_userdata.0.ecoflow.app_device_property_xx.data.params.bmsMaster.soc",
            ExcessChargeSwitchMin: 5,                           //Zeit in Minuten die der Schalter mindestens in der letzten geschalteten Position verbleiben muss. 
            ExcessChargeMaxPower: 2000,                         //Maximale Ladeleistung des Speichers in Watt
            ExcessChargeStartPower: 50,                         //Mindest-Überschussleistung zum Einschalten des Speichers
            ExcessChargeStartPowerDurationMin: 2,               //Mindestdauer in Minuten, die ExcessChargeStartPower nicht unterschritten werden darf, bevor der Speicher eingeschaltet wird.
            //----------------------------------------
            // Beispiel für Delta-Nutzung ohne Schlaltersteckdose:
            // Wird an einer Delta auch der PV-Eingang genutzt, bitte die PV-Leistung unter AdditionalPower anlegen. Die passende ID ist:
            // 0_userdata.0.ecoflow.app_device_property_xxx.data.params.mppt.inWatts
            // Bei der Delta: "subscribe: true" konfigurieren
            //----------------------------------------
                                                                //ID mit dem Messwert der aktuellen Leistungsaufnahme des Speichers in Watt:
            //ExcessActualPowerID: "0_userdata.0.ecoflow.app_device_property_xx.data.params.inv.inputWatts",
                                                                //ID des Schalters, der den Speicher aktiviert: 
            //ExcessChargeSwitchID: "0_userdata.0.ecoflow.app_xx_xx_thing_property_set.writeables.chgPause", 
            //ExcessChargeSwitchOn: 0,                          //Wert, der zum Aktivieren des Schalters gesetzt werden muss (1/0, true/false, "ON"/"OFF"...)
            //ExcessChargeSwitchOff: 1,                         //Wert, der zum Deaktivieren des Schalters gesetzt werden muss (1/0, true/false, "ON"/"OFF"...)
            //----------------------------------------
            // Beispiel für Nutzung einer Schlaltersteckdose:
            //----------------------------------------
                                                                //ID mit dem Messwert der aktuellen Leistungsaufnahme des Speichers in Watt:
            ExcessActualPowerID: "sonoff.0.NOUS-DVES_F0A844.ENERGY_Power",
                                                                //ID des Schalters, der den Speicher aktiviert: 
            ExcessChargeSwitchID: "sonoff.0.NOUS-DVES_F0A844.POWER", 
            ExcessChargeSwitchOn: true,                         //Wert, der zum Aktivieren des Schalters gesetzt werden muss (1/0, true/false, "ON"/"OFF"...)
            ExcessChargeSwitchOff: false,                       //Wert, der zum Deaktivieren des Schalters gesetzt werden muss (1/0, true/false, "ON"/"OFF"...)
            //----------------------------------------
            //****************************************
        
        G 1 Reply Last reply Reply Quote 0
        • G
          guhfy9966 @Waly_de last edited by

          @waly_de
          Habe es aktuell mit einem eigenen Umrechnungsscript gelöst. Deine neuen Integrationen kommen daher wie gerufen.
          Super, freue mich darauf!

          😊👍

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

            So. Zwar gestaltet sich das Testen bei dem bisschen Sonne sehr schwierig. Aber ich wage dennoch mal die Veröffentlichung der neuen Version.

            (1.2) 04.12.2023

            • Neue Funktion Überschussladung implementiert:
              Bei überschüssiger Leistung kann nun ein zusätzlicher Speicher aktiviert werden.
              Da die neue Firmware für die DELTAs inzwischen duales Laden (Solar und AC gleichzeitig) unterstützt, kann damit die
              Ladeleistung der Deltas bis 2000W oder mehr erhöht werden. Auch eine Integration von weiteren Wechselrichtern ohne eigene
              Batterie wird möglich.
              Konfiguration: siehe Einstellungen weiter unten zu "ExcessCharge" (Überschussladung)
            • Neuer Parameter unter AdditionalPower: "factor" für den Divisionsfaktor. Bei den Deltas dort 10 angeben.
            • Filter gegen Datenflut der Deltas eingebaut, der das System entlastet, wenn auch die Deltas auf "subscribe: true" gestellt werden
            • Verschiedene Optimierungen und Bugfixes

            die Einstellungen:

                //****************************************
                // Überschussladung:
                //****************************************
                ExcessCharge: false,                                //Überschussladung AN/AUS (true/false)
                                                                    //ID zum Einstellen der Ladeleistung des Speichers in Watt: 
                ExcessChargePowerID: "0_userdata.0.ecoflow.app_xx_xx_thing_property_set.writeables.slowChgPower",
                                                                    //ID des aktuellen Ladestandes des Speichers in %: 
                ExcessChargePowerBatSocID: "0_userdata.0.ecoflow.app_device_property_xx.data.params.bmsMaster.soc",
                ExcessChargeSwitchMin: 5,                           //Zeit in Minuten die der Schalter mindestens in der letzten geschalteten Position verbleiben muss. 
                ExcessChargeMaxPower: 2000,                         //Maximale Ladeleistung des Speichers in Watt
                ExcessChargeOffsetPower: 0,                         //Wird der Leistungsanforderung hinzugerechnet um Messabweichungen auszugleichen. 
                ExcessChargeStartPower: 50,                         //Mindest-Überschussleistung zum Einschalten des Speichers
                ExcessChargeStartPowerDurationMin: 2,               //Mindestdauer in Minuten, die ExcessChargeStartPower nicht unterschritten werden darf, bevor der Speicher eingeschaltet wird.
                //----------------------------------------
                // Beispiel für Delta-Nutzung ohne Schlaltersteckdose:
                // Wird an einer Delta auch der PV-Eingang genutzt, bitte die PV-Leistung unter AdditionalPower anlegen. Die passende ID ist:
                // 0_userdata.0.ecoflow.app_device_property_xxx.data.params.mppt.inWatts
                // Bei der Delta: "subscribe: true" konfigurieren
                //----------------------------------------
                                                                    //ID mit dem Messwert der aktuellen Leistungsaufnahme des Speichers in Watt:
                //ExcessActualPowerID: "0_userdata.0.ecoflow.app_device_property_xx.data.params.inv.inputWatts",
                                                                    //ID des Schalters, der den Speicher aktiviert: 
                //ExcessChargeSwitchID: "0_userdata.0.ecoflow.app_xx_xx_thing_property_set.writeables.chgPause", 
                //ExcessChargeSwitchOn: 0,                          //Wert, der zum Aktivieren des Schalters gesetzt werden muss (1/0, true/false, "ON"/"OFF"...)
                //ExcessChargeSwitchOff: 1,                         //Wert, der zum Deaktivieren des Schalters gesetzt werden muss (1/0, true/false, "ON"/"OFF"...)
                //----------------------------------------
                // Beispiel für Nutzung einer Schlaltersteckdose:
                //----------------------------------------
                                                                    //ID mit dem Messwert der aktuellen Leistungsaufnahme des Speichers in Watt:
                ExcessActualPowerID: "sonoff.0.NOUS-DVES_F0A844.ENERGY_Power",
                                                                    //ID des Schalters, der den Speicher aktiviert: 
                ExcessChargeSwitchID: "sonoff.0.NOUS-DVES_F0A844.POWER", 
                ExcessChargeSwitchOn: true,                         //Wert, der zum Aktivieren des Schalters gesetzt werden muss (1/0, true/false, "ON"/"OFF"...)
                ExcessChargeSwitchOff: false,                       //Wert, der zum Deaktivieren des Schalters gesetzt werden muss (1/0, true/false, "ON"/"OFF"...)
                //----------------------------------------
                //****************************************
            

            Download:

            ecoflow-connector_v12_.04.12.2023.txt

            1 Reply Last reply Reply Quote 0
            • S
              sirdir last edited by sirdir

              sorry hat sich alles in wohlgefallen aufgelöst und ich kann das post nicht löschen. Disregard/

              W 2 Replies Last reply Reply Quote 0
              • W
                Waly_de @sirdir last edited by

                @sirdir such mal nach :

                function SetBasePower() {
                    logM = false
                

                Wenn Du da true setzt, werden die für mich wesentlichen Daten zur Regelung ausgegeben.

                Was hast du bei ExcessChargePowerID angegeben?
                Wahrscheinlich ist dort das Problem. Zeigt es auf den richtigen writeable?

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

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

                  sorry hat sich alles in wohlgefallen aufgelöst

                  @sirdir Prima 😉

                  S 1 Reply Last reply Reply Quote 0
                  • S
                    sirdir @Waly_de last edited by sirdir

                    @waly_de einen hätte ich doch noch: Könntest du die logM Variable auch in die ConfigData nehmen, so dass man sie als externen state anlegen kann? Dann könnte ich die über meine Statusseite ein/ausschalten und mich interessieren die logM Meldungen 100 mal mehr als die Debug.

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      sirdir @Waly_de last edited by

                      @waly_de hat sich überschnitten. Ja das mit logM hab ich dann auch gemacht.. Ist halt eben nicht so bequem, für debug muss ich nur ein häkchen setzen. Und ja der writable war falsch, war in nem anderen path wo nur gelesen wird… sorry dafür. Hab den Wert eigentlich aus meinem Script nehmen wollen aber hab mein Script beim einfügen deines neuen Scripts versehentlich gelöscht… Zum Glück gibt es Backups, hat aber etwas gedauert.

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

                        @sirdir hab das mit dem logM jetzt mal gemacht, ist ja keine so grosse Sache… Wenn du nicht magst kann ich das auch bei neuen Versionen wieder machen 😉 ... Eine Frage hätte ich noch.
                        Verstehe den Sinn von AdditionalPower in deinem Script nicht wirklich. Vielleicht halt weil ich ja keinen Sensor am Zähler hab sondern ein eigenes Script nutze (hab grad gesehen du hast ja nun für Tibber wohl auch sowas). Wenn du nen Sensor am Zähler hat, liefert dir der doch schon den Überschuss aller anderen Solaranlagen? Was bringt es, die noch zu konfigurieren?

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

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

                          hab das mit dem logM jetzt mal gemacht, ist ja keine so grosse Sache… Wenn du nicht magst kann ich das auch bei neuen Versionen wieder machen

                          ist ne gute Idee.. ich versuch dran zu denken 😉

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

                          Verstehe den Sinn von AdditionalPower in deinem Script nicht wirklich. Vielleicht halt weil ich ja keinen Sensor am Zähler hab sondern ein eigenes Script nutze (hab grad gesehen du hast ja nun für Tibber wohl auch sowas). Wenn du nen Sensor am Zähler hat, liefert dir der doch schon den Überschuss aller anderen Solaranlagen? Was bringt es, die noch zu konfigurieren?

                          Naja, das ist grundsätzlich wichtig um die Zusammensetzung des Verbrauchs zu analysieren und damit zu bestimmen, wie viel in die Batterien geht und die Statistiken sauber zu führen. Der Zähler gibt ja nur Summen aus (mein Zähler gibt auch aktuell nur einen einzigen Wert in Watt zurück.)

                          Realpower, das ist der Eigentlich Verbrauch, ohne Einspeisungen und Speicherleistung, ist z.B.:

                          Smartmeterwert - Einspeisung der PS - AdditionalPower + Überschussladung

                          Realpower - BasePowerOffset ist dann der Gesamtbedarf dem es zu decken gilt oder der den Überschuss darstellt.
                          Um zu wissen, ob und wie viel ich davon aus den Batterien ziehen muss, brauche ich PV-Total in dem auch AdditionalPower enthalten ist.
                          Der Batbedarf ist nämlich der Gesamtbedarf - PV-Total.

                          Die Überschussladung könnte auch ohne das auskommen. Aber dann bekommt die Regelung der Ladeleistung über die PS Probleme und die Verbrauchsstatistik würde nicht stimmen.

                          S 2 Replies Last reply Reply Quote 0
                          • S
                            sirdir @Waly_de last edited by

                            @waly_de Hmm, da muss ich mir direkt überlegen, was das genau bedeutet. Naja, glaube probieren geht über studieren, ich trage meine Systeme mal ein.

                            1 Reply Last reply Reply Quote 0
                            • S
                              sirdir @Waly_de last edited by sirdir

                              @waly_de sorry, also hab die Systeme eingetragen. Solar kommt jetzt natürlich nichts mehr rein, aber hab noch nen grid tie inverter mit ner batterie, der gerade 95W liefert. Dein script sagt totalPV: 10…?

                                  { name: "Grid tie inverter",
                                      id: "shelly.0.SHSW-25#10D0C2#1.Relay0.Power",
                                      factor: 1
                                  },       // Der Objektpfad zu dem Leistungswert in Watt (W)
                              

                              So sieht der Eintrag aus… Warum 10?\

                              Edit:
                              Ah ich seh schon, das kommt in additionalpowersum nicht in totalPV und der wert wird auch nicht ausgegeben im log…

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

                                @sirdir im Regelkreis werden immer 10W zur Solarleistung addiert, damit der PS nicht abregelt wenn die Batterie voll ist. Das siehst du in den mlog ausgaben. Aber in den States sollte es richtig stehen:
                                0_userdata.0.ecoflow.totalPV
                                und
                                0_userdata.0.ecoflow.AdditionalPowerSum

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

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

                                  @foxthefox es gab ja jetzt wieder ein Update vom Powerstream, mal schauen was da so durch passiert.
                                  mit den Smartplugs und Haushaltslast, könnte es hier in diesem set-Befehlen stecken?

                                  /set:0a3b0a020801102018352001280138034002488e015002580170d7b5d02e800113880101ba0103696f73ca0110485735325a4448345346363636353855
                                  2023-11-25 09:33:55.889 - warn: javascript.0 (32899) script.js.EcoflowScript_1_1_6_1: Nicht definierter cmd_func-Wert. [SmartPlug 1] cmdId:142 cmdFunc:2
                                                /set:0a35102018352001280138034002488e01580170e5bed02e800113880101ba0103696f73ca0110485735325a4448345346363636353855
                                  2023-11-25 09:33:57.057 - warn: javascript.0 (32899) script.js.EcoflowScript_1_1_6_1: Nicht definierter cmd_func-Wert. [SmartPlug 1] cmdId:142 cmdFunc:2
                                  

                                  außer einem EIN/AUS-schalten ist hier nichts drin.
                                  Wann kam denn dieses Log zustande? Welche Aktion in der APP hat das ausgelöst?
                                  Evtl. muß man einen Datenpunkt aufmachen, der nicht im jetzigen plug_heartbeat drin ist.

                                  Noch eine andere Frage:

                                  • kann man auch den maximalen Strom und Helligkeit in der App ändern?

                                  Wenn ja wäre ein Mitschnit vom /set wieder interessant.

                                  Hab leider keinen Smart Plug zum testen.

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    sirdir @Waly_de last edited by

                                    @waly_de Ja seh schon. Manchmal mach ich mir das Leben auch zu schwer. War unsicher ob ich ein Problem bekomme it realPower wenn ich die Solarsysteme eintrage und hab jetzt erst gemerkt, dass ich schon mit nem wert 'realPower' arbeite, aber ich hab auch zufällig nen Wert so genannt, hat nichts mit deinem 'realPower' zu tun… Phew…

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

                                      @sirdir 😄 Ja, Sowas kann schnell zu Irritationen führen...

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

                                      außer einem EIN/AUS-schalten ist hier nichts drin.

                                      es ist die cmdId 142 die hier geschaltet wird. Hast du zu dieser cmdId schon eine gesicherte Funktion? Und was genau ist diese Funktion?

                                      F S 2 Replies Last reply Reply Quote 0
                                      • F
                                        foxthefox Developer @Waly_de last edited by

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

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

                                        außer einem EIN/AUS-schalten ist hier nichts drin.

                                        es ist die cmdId 142 die hier geschaltet wird. Hast du zu dieser cmdId schon eine gesicherte Funktion? Und was genau ist diese Funktion?

                                        das müsste @aherby beantworten, unter welchen Umständen dieser Mitschnitt entstanden ist.
                                        Das es cmdId 142 ist, hab ich schon gesehen, tendenziell müsste damit auch das heartbeat größer geworden sein.
                                        Hab leider kein Plug um hier mehr zu recherchieren.

                                        A 1 Reply Last reply Reply Quote 0
                                        • M
                                          Micha 6 @Waly_de last edited by

                                          @waly_de Hallo,
                                          ich hatte auch den Fehler und dank des Löschens läuft das Script jetzt auch.
                                          Hab auch schon gespendet, denn da steckt viel Arbeit drin. Danke.
                                          Hab aber beim Start des Scripts immer diese Warn
                                          IO_Broker_Fehler.jpg
                                          Was kann ich da tun?

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

                                            @micha-6 sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                                            ich hatte auch den Fehler und dank des Löschens läuft das Script jetzt auch.
                                            Hab auch schon gespendet, denn da steckt viel Arbeit drin. Danke.
                                            Hab aber beim Start des Scripts immer diese Warn

                                            Erst mal vielen Dank für die Spende! Das hilft mir sehr 🙂

                                            Bitte klick mal auf "Protokolle" da sollten die Fehlermeldung etwas mehr Inhalt haben.
                                            Bitte kopier die Komplete orange Meldung (und ein paar Zeilen davor und danach) und füge sie hier als Text, bzw Code ein:

                                            Das geht so mit dem Knopf </> über dem Eingebafeld... und dann zwischen den Marken einfügen.
                                            
                                            
                                            M 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            625
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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