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.
    • K
      karo2204 last edited by

      @Waly_de oder all die Anderen 🙂

      Kannst Du mir bitte helfen? Dein Script ist super, aber irgendwie dümpelt meine Delta Max immer bei 10% rum, und wird nicht voll. Ich habe ein bisschen was an den Einstellungen verändert und im Log steht folgendes:

      script.js.ecoflow: Batterie runter auf 80%: Normalbetrieb.

      Die Batterie hat aber nur 10% . Hier meine Einstellungen:

      Screenshot 2023-09-21 at 13.48.45.png

      Was mache ich falsch?

      Danke Dir schonmal für die Hilfe.

      P 1 Reply Last reply Reply Quote 0
      • P
        Ponti92 @karo2204 last edited by

        @karo2204
        Hi, ich seh du hast die Werte bei battPozOn verstellt, sodass die Batterie ab diesem Wert entladen wird.
        D.h. Ab 15% wird deine Batterie volle Kanne entladen bis wahrscheinlich 10%
        Stell das mal auf 99-100% damit das nur passiert wenn die Batterie komplett voll ist.

        K 2 Replies Last reply Reply Quote 0
        • Stephane Martinez
          Stephane Martinez @Dreffi last edited by

          @dreffi said in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

          Seit Umstellung auf 1.1.3 lief heute wieder alles makellos.

          Seit Umstellung auf 1.1.3 lief heute wieder alles makellos.

          hallo an alle

          Sie sprechen von der Firmware des Powerstreams.
          Wenn ja, wie können Sie ein Downgrade mit der Firmware durchführen?

          ich bin Franzose und benutze deepl zum Übersetzen

          A 1 Reply Last reply Reply Quote 0
          • O
            oli2023 last edited by

            @Waly_de Erstmal 1000 Dank für deine super Arbeit!

            Ich nutze seit ein paar Wochen zwei PowerStreams gepaart mit einer Delta Pro. Dein Script hat mich nun dazu verleitet mir endlich ein Raspberry Pi anzuschaffen und ich habe mich da durchgekämpft. Iobroker läuft, die Daten kommen vom Poweropti.

            Jetzt meine Frage: Ich verstehe die Funktion "BasePowerOffset" und die Anmerkung im Script "Wird vom aktuellen Verbrauch abgezogen, um die Einspeiseleistung zu berechnen" nicht wirklich.
            Wenn der Wert auf den vorgegebenen 30 steht, wird die Zahl wie beschrieben von der Einspeisung abgezogen. Allerdings geht dem entsprechend auch der Wert meines aktuellen Netzbezugs hoch.
            Stelle ich den Wert auf 0, habe ich ebenso einen Netzbezug von 0 Watt, sieht natürlich schön aus, stelle ich ihn hoch, steigt dementsprechend der Wert der "anderen Verbraucher" in der Ecoflow App und der Netzbezug geht hoch auf 20 bis 30 Watt.

            Vielleicht kann mir jemand hier erklären, was es genau damit auf sich hat. Ich möchte das Script nicht blind benutzen, sondern bestenfalls verstehen warum was passiert.

            LG,

            Oli

            W 1 Reply Last reply Reply Quote 0
            • A
              aherby @Stephane Martinez last edited by

              @stephane-martinez Guten Abend, es wird hier nicht von der Frimware von Ecoflow sondern einer älteren Version vom Script gesprochen. Wobei ich glaube dass hier auch ein Tippfehler vorhanden ist.
              Die Version 1.1.2 ist auf der ersten Seite von diesem Thema zum download vorhanden.

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

                @ponti92 Ich habe mir das jetzt nochmal 5x durchgelesen und BattPozOn auf 100 gestellt und BattPozOff auf 50. Im Moment lädt er.

                Scheint jetzt zu funktionieren. Mal sehen was er ab 50% macht.

                D 1 Reply Last reply Reply Quote 0
                • D
                  Dreffi @karo2204 last edited by

                  @Waly_de
                  Folgender Bug bei mir:
                  Einer meiner Powerstreams startet wie gewünscht mit dem für "lowBatLimit" eingestellten Wert als Bedarf. Der Andere steht morgens auf 0 W. Der Wert wird auch nicht irgendwann aktualisiert. Erst beim überschreiten der Grenze "LowBatLimitPozOff" wird der Wert aktualisiert.
                  Neustart des Scripts behebt das Problem.

                  In den Verlaufsdaten des Objektes 0_userdata.0.ecoflow.app_device_property_HW51ZOH*****.data.InverterHeartbeat.permanentWatts wurde dieser heute Nacht irgendwann auf 0 W gesetzt, weil der andere Powerstream die ganze Last zugeteilt bekam und der Wechselrichter muss dann so schlafen gegangen sein, weil er zuvor schon die Entladegrenze erreicht hatte aber noch online war.

                  Normal müssten morgens beide den Wert für "lowBatLimit" zugewiesen bekommen, da der Bedarf zu dem Zeitpunkt immer darüber liegt.

                  Aktuelle Version: 1.1.3

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

                    @ponti92 @Waly_de noch ne doofe Frage. Auf welchen Status soll ich in der App stellen: Batterie-Prio oder Stromversorgung-Prio? Aktuell habe ich es auf Batterie-Prio stehen, damit die DM mal etwas mehr % rein bekommt.

                    P 1 Reply Last reply Reply Quote 0
                    • G
                      giovanne @Ponti92 last edited by

                      @ponti92 said in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                      @Waly_de
                      Hi,
                      ... D.h. PS lädt die D2M und über AC wird diese parallel geladen. (Das ganze soll auch über den PV Input der D2M parallel zum PS funktionieren)

                      Manuell hat es schon super funktioniert und ...

                      @ponti92
                      hast du das tatsächlich schon ausprobiert und es geht? Das wäre cool.

                      Ich musste leider meine Delta 2 Max von der *.126 auf die *.107 zurück downgraden, da die bei starken Bedarfs-Schwankungen (z.b. volle 600W und wieder zurück auf weniger, häufig unten hängen geblieben ist und erst durch manuelles switchen zw. Mode wieder alles aus den Panels geholt hat (nur zwei Panels an Powerstream))

                      Aber parallel AC laden ist eigentlich was ich will und hatte schon aufgegeben ob Ecoflow das überhaupt einbauen würde...

                      1 Reply Last reply Reply Quote 0
                      • P
                        Ponti92 @karo2204 last edited by

                        @karo2204 Stromversorgung, wobei das Skript das bei Bedarf automatisch umstellt. Bei 100% Ladung sollte das Skript den Modus auf Batterie umstellen, sodass die volle PV Leistung ins Netz gespeist wird und nichts vom Akku gezogen wird.

                        @giovanne ja das hat geklappt, dass PS und AC gleichzeitig zum laden verwendet wird.
                        Ich wurde aber vor deinem Fehler verschont, benutzt du zufällig Smart plugs?

                        G K 2 Replies Last reply Reply Quote 0
                        • G
                          giovanne @Ponti92 last edited by

                          @ponti92 said in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                          @giovanne ja das hat geklappt, dass PS und AC gleichzeitig zum laden verwendet wird.
                          Ich wurde aber vor deinem Fehler verschont, benutzt du zufällig Smart plugs?

                          Das ist cool 👍 (Delta 2 Max FW *.126/WLan *.47 - richtig oder?)
                          Dann habe ich ja wieder Hoffnung auf die Funktion... warte aber erst mit dem erneuten FW Update, erst mal Lage beobachten... Überschuss ist gerade von andere PV eh fast nichts - blöde Jahreszeit beginnt)

                          Ne, keine Plugs. Die habe ich alle rausgenommen und nutze die von hier abgewandelte reine nodejs Variante mit HA.

                          P 1 Reply Last reply Reply Quote 0
                          • K
                            karo2204 @Ponti92 last edited by karo2204

                            @ponti92 OK danke, dann versuche ich es nochmal mit dem Strommodus. Schaut im Moment ganz gut aus, er speist die wenigen Watt in die Batterie statt ins Stromnetz ein.

                            1 Reply Last reply Reply Quote 0
                            • P
                              Ponti92 @giovanne last edited by

                              @giovanne said in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                              Das ist cool 👍 (Delta 2 Max FW *.126/WLan *.47 - richtig oder?)
                              Dann habe ich ja wieder Hoffnung auf die Funktion... warte aber erst mit dem erneuten FW Update, erst mal Lage beobachten... Überschuss ist gerade von andere PV eh fast nichts - blöde Jahreszeit beginnt)

                              Ne, keine Plugs. Die habe ich alle rausgenommen und nutze die von hier abgewandelte reine nodejs Variante mit HA.

                              Ja genau die Firmware hab ich drauf 👍

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

                                Jetzt, wo die Sonne wieder rauskommt, wird es auch Zeit für eine neue Version des Skripts. 😉
                                Ich habe den Regel-Algorithmus komplett neu programmiert. Das ist vor allem für die Regelung mehrerer PS wichtig gewesen.
                                Jetzt funktioniert der Balance-Mode wesentlich besser. Es wird zunächst versucht den gesamten Bedarf aus der PV-Power aller verfügbaren PS zu decken. Erst dann werden die Batterien im Verhältnis ihrer Ladestände entladen.
                                Auch sonst habe ich versucht Eure Wünsche und Anregungen umzusetzen.
                                Ich poste das neue Skript zunächst nur hier unten und warte auf Euer Feedback. Ich möchte zunächst sicherstellen, dass es auch wirklich bei allen funktioniert, denn es hat sich unter der Haube viel geändert.

                                Viel Spaß beim testen!

                                hier das komplette Changelog der neuen Version:

                                (1.1.4.1) 23.09.2023

                                • Neue Einstellung: "AdditionalPower": Wenn es weitere Wechselrichter gibt, die in ioBroker erfasst werden, können diese hier angelegt werden. Die Leistung wird dann bei der Berechnung von "Realpower" berücksichtigt.
                                • Delta 2 Max "Writeables" erneut überarbeitet (Danke an Ponti92 aus dem ioBroker-Forum).
                                • "Maxpower" ist jetzt in den Einstellungen für jeden einzelnen PS verfügbar.
                                • Komplett neues Regelwerk zum Einstellen und Verteilen der Einspeiseleistung auf mehrere PS: 
Im "Balance Mode" wird zunächst nur die verfügbare PV-Leistung aller PS eingespeist; erst danach wird aus den Batterien entnommen. Dabei richtet sich die Entladeleistung nach dem Ladestand der Batterien. Alle PS werden bei einem Messintervall gleichzeitig geregelt.
                                • "battOnSwitchPrio" überarbeitet und verbessert.
                                • SmartPlugs sollten nun bei Verwendung den Regelprozess nicht mehr komplett verwirren.
                                • Für SmartPlugs gibt es nun auch historische Leistungsdaten in den Objekten.
                                • Auch für PS wurden die historischen Leistungsdaten neu angelegt. Die Interpretation dieser Daten steht noch aus. Vielleicht möchte das einer von euch machen? U.U stimmen die Feldnamen nicht mit den darin gespeicherten Werten überein.
                                • Neue Einstellung: "SmartmeterTimeoutMin" und "SmartmeterFallbackPower". Wenn der letzte Wert vom Smartmeter älter als "SmartmeterTimeoutMin" ist, wird das Skript mit "SmartmeterFallbackPower" als aktuellem Realpowerwert weiterarbeiten, bis wieder aktuelle Daten geliefert werden.
                                • Bekannte Writeables werden nun automatisch angelegt, auch ohne dass sie in der App geändert werden müssen (Voraussetzung ist die richtige Einstellung des Typs bei den Geräteeinstellungen)
                                • Verschiedene Optimierungen und Bugfixes

                                ecoflow-connector_v1141.txt

                                P M 2 Replies Last reply Reply Quote 2
                                • W
                                  Waly_de @oli2023 last edited by

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

                                  Ich verstehe die Funktion "BasePowerOffset" und die Anmerkung im Script "Wird vom aktuellen Verbrauch abgezogen, um die Einspeiseleistung zu berechnen" nicht wirklich.
                                  Wenn der Wert auf den vorgegebenen 30 steht, wird die Zahl wie beschrieben von der Einspeisung abgezogen. Allerdings geht dem entsprechend auch der Wert meines aktuellen Netzbezugs hoch.
                                  Stelle ich den Wert auf 0, habe ich ebenso einen Netzbezug von 0 Watt, sieht natürlich schön aus, stelle ich ihn hoch, steigt dementsprechend der Wert der "anderen Verbraucher" in der Ecoflow App und der Netzbezug geht hoch auf 20 bis 30 Watt.

                                  Genau das ist der Sinn... BasePowerOffset entspricht praktisch dem gewünschten, dauerhaften Netzbezug.
                                  Das ist eingebaut, damit kleine Schwankungen im Bedarf keine Einspeisung ins Netz auslösen und so Energie verschenkt wird.
                                  Wenn Dir das egal ist, setzte es auf 0.

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

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

                                    Hi,
                                    Ich würd mal meine Ideen zum PV Überschuss laden preisgeben:
                                    Seit letztem D2M Update ist es möglich den PV Überschuss im Haus, zb. Von einer anderen Anlage, in die Delta zu leiten. Dies funktioniert nun parallel zum Laden des Powerstreams. D.h. PS lädt die D2M und über AC wird diese parallel geladen. (Das ganze soll auch über den PV Input der D2M parallel zum PS funktionieren)
                                    Manuell hat es schon super funktioniert und wäre cool wenn das evtl im Skript mit eingebaut wird, dass die Regelung nicht gegen das AC Laden ankämpft..
                                    Denn wenn die Sonne dann weiter unter geht, wird ja der Überschuss weniger und die Ladeleistung der D2M muss angepasst werden.
                                    Natürlich könnte man auch andere powerstations von EcoFlow einbinden, wie zb die River, die unabhängig von PS geladen werden.
                                    Das ganze macht zb nur Sinn wenn:

                                    PV Überschuss von einer anderen Anlage besteht, die nicht gespeichert werden kann.
                                    der Akku an einem PS 100% voll ist und dann im im Batteriemodus die übrige PV Leistung einspeist wird.

                                    Gibt es evtl. Szenarien die ich nicht berücksichtigt habe?
                                    Fall 1. und 2. berücksichtigen auch wenn man mehrere PS mit D2M hat, und eine Anlage schneller voll wird als die andere. Dann könnte man den Überschuss der vollen Anlage in die andere zusätzlich einspeisen.
                                    Die Frage ist, ob dabei auch kleinere Sprünge bei der AC ladeleistung als 100W/200W erlaubt sind

                                    Das ist Cool. Sowas werde ich auf jeden Fall einbauen.
                                    Kann man über die App auch die AC-Ladeleistung des D2M komplett abstellen?
                                    Mein Delta Max zieht sich nämlich immer gute 60-70W rein, auch wenn ich slowChgPower auf 0 stelle.

                                    Das Beste wäre natürlich ich hätte mal einen D2M hier. Vielleicht möchte mir hier ja jemand mal einen für die Zeit der Entwicklung zur Verfügung stellen?

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

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

                                      @Waly_de hab mal ne frage wie wäre es im Script einzubauen, wenn der smartmeter oder powerfox ect mal keine Daten sendet das Script auf einen grundverbrauch sagen wir mal wie bei mir 140 Watt es dann eigenständig dem Powerstream das meldet und sobald wieder Daten ankommen es wieder ganz normal läuft? Also 5 Minuten oder was auch immer keine Daten dann Grundverbrauch 140 Watt und sobald wieder Daten eintreffen Normalbetrieb…
                                      Weil bei mir fällt ab und zu mal Server seitig der Bezug aus und wenn dann zuletzt mal 400 Watt benötigt worden sind haut der Powerstream solange den Wert bis ich dann manuell eingreife und das würde es einfach im Hintergrund erledigen

                                      Erledigt 😉

                                      1 Reply Last reply Reply Quote 1
                                      • P
                                        Ponti92 @Waly_de last edited by Ponti92

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

                                        Das ist Cool. Sowas werde ich auf jeden Fall einbauen.
                                        Kann man über die App auch die AC-Ladeleistung des D2M komplett abstellen?
                                        Mein Delta Max zieht sich nämlich immer gute 60-70W rein, auch wenn ich slowChgPower auf 0 stelle.

                                        Das Beste wäre natürlich ich hätte mal einen D2M hier. Vielleicht möchte mir hier ja jemand mal einen für die Zeit der Entwicklung zur Verfügung stellen?

                                        Ich hab das mal schnell getestet mit der D2M:
                                        Beim setzen von .chgPauseFlag wird die Leistung in der App auf 0 angezeigt, jedoch zeigt der Shelly noch 5W an. Das ist nicht viel, jedoch würde ich optional einen datenpunkt des Shelly’s einbeziehen, damit das Skript den Shelly oder andere Schalter steuern kann.

                                        Darüber hinaus kann man noch auf 120W minimale Ladeleistung heruntergehen, was in der App ca 100W Ladeleistung entspricht. Alles darunter funktioniert nicht mehr und die Batterie wird laut App nicht mehr geladen.(Shelly zeigt dann immer ca. 70W an, wenn der Wert zu gering ist).
                                        Übrigens kann man dann jeden Wert zwischen 120 und 2400W in iobroker einstellen und wird auch korrekt in der App angezeigt.

                                        Also zum Ein/Ausschalten entweder:

                                        1. .chgPauseFlag auf 1 setzen oder
                                        2. ac Eingang über Steckdose/Schalter steuern

                                        Danach regeln der Leistung über .slowChgWatts von MinWatt (D2M=120W) bis MaxWatt (D2M=2400W)

                                        W 1 Reply Last reply Reply Quote 0
                                        • W
                                          Waly_de @photon-harvester last edited by

                                          @photon-harvester sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                                          Moin Moin,
                                          habt ihr einen Tip für mich, wie ich verschiene IDs zu einem Wert addieren kann, um es anschließend zu visualisieren?
                                          Bsp. ID:AkkuSoC1 +ID:AkkuSoC2 = ID:AkkuSoCgesammt --> dann ablegen in history für z.B. VIS
                                          Danke
                                          PS: kann leider nicht programmieren, nur copy-paste oder Widgets

                                          Neues Script Anlegen und das hier Einfügen

                                          const Wert1 = "id.von.dem.wert1"
                                          const Wert2 = "id.von.dem.wert2"
                                          const SumWert = "id.von.dem.SumWert"
                                          
                                          // Überwacht jede Änderung der beiden Werte und berechnet dann die neue Summe
                                          const Regex = new RegExp("(" + Wert1.replace(".","\.") + ")|(" + Wert2.replace(".","\.") + ")");
                                          on({ id: Regex, change: "ne" }, function (obj) {
                                              // Hier kannst Du den Wert beliebig gestalten 
                                              const Summe = Number(getState(Wert1).val) + Number(getState(Wert2).val)
                                              // Schreibt den SumWert und legt den State an, falls er noch nicht exsistiert
                                              setStateNE(SumWert,Summe)
                                          });
                                          
                                          //für SumWert noch die History-Einstellungen aktivieren und fertig ;-)
                                          
                                          
                                          //**************************************** */
                                          // HILFSFUNKTION
                                          //**************************************** */
                                          function setStateNE(id, value, ack = false, common = {}, native = {}) {
                                              existsState(id, function (err, exists) {
                                                  if (!exists) {
                                                      let valueType = typeof value;
                                                      let name = id.split('.').pop();
                                                      if (Object.keys(common).length === 0) {
                                                          common = {
                                                              name: name,
                                                              type: valueType,
                                                              role: 'state',
                                                              read: true,
                                                              write: true,
                                                          };
                                                      }
                                                      createState(id, value, false, common, native, function () {
                                                          setState(id, value, ack);
                                                      });
                                                  } else {
                                                      setState(id, value, ack);
                                                  }
                                              });
                                          }
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • W
                                            Waly_de @Ponti92 last edited by

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

                                            ch hab das mal schnell getestet mit der D2M:
                                            Beim setzen von .chgPauseFlag wird die Leistung in der App auf 0 angezeigt, jedoch zeigt der Shelly noch 5W an. Das ist nicht viel, jedoch würde ich optional einen datenpunkt des Shelly’s einbeziehen, damit das Skript den Shelly oder andere Schalter steuern kann.
                                            Darüber hinaus kann man noch auf 120W minimale Ladeleistung heruntergehen, was in der App ca 100W Ladeleistung entspricht. Alles darunter funktioniert nicht mehr und die Batterie wird laut App nicht mehr geladen.(Shelly zeigt dann immer ca. 70W an, wenn der Wert zu gering ist).
                                            Übrigens kann man dann jeden Wert zwischen 120 und 2400W in iobroker einstellen und wird auch korrekt in der App angezeigt.
                                            Also zum Ein/Ausschalten entweder:

                                            .chgPauseFlag auf 1 setzen oder
                                            ac Eingang über Steckdose/Schalter steuern

                                            Danach regeln der Leistung über .slowChgWatts von MinWatt (D2M=120W) bis MaxWatt (D2M=2400W)

                                            alles klar... wenn du mal in die Einstellungen der neuen Version schaust, da hab ich schon etwas vorbereitet. Ich denke diese Parameter können das alles abdecken...

                                            P 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            996
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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