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.
    • 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
          • P
            Ponti92 @Waly_de last edited by

            @waly_de ok cool!
            Ich bin schon gespannt auf das neue Skript 🙂
            Vor allem ist für mich das neue multi PS Verhalten interessant!

            Leider ist erst wieder ab morgen Sonne bei uns, sodass ich erst die nächsten Tage Feedback geben kann.

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

              @waly_de Verstehe, Dank Dir!

              Gibt es noch eine Einstellung die ich verändern kann um Folgendes anzupassen?
              Die Grundlast die mein Poweropti angibt und vom Script zur Berechnung genutzt wird, ist immer ca. 30W niedriger als der Wert der vom Script letztlich geliefert wird.
              Wenn der Poweropti z.B. 35W des aktuellen Netzbezugs angibt, müssten die doch möglichst auch so als Wert "Andere Verbraucher" in der Ecoflow App auftauchen. Da werden aber dann in dem Fall 70W bezogen. Somit wird durch das Script zeitweise 30 Watt mehr aus meinem Akku gezogen als nötig wäre.
              Wie kommt dieser "Aufschlag" zustande?

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

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

                Die Grundlast die mein Poweropti angibt und vom Script zur Berechnung genutzt wird, ist immer ca. 30W niedriger als der Wert der vom Script letztlich geliefert wird.
                Wenn der Poweropti z.B. 35W des aktuellen Netzbezugs angibt, müssten die doch möglichst auch so als Wert "Andere Verbraucher" in der Ecoflow App auftauchen. Da werden aber dann in dem Fall 70W bezogen. Somit wird durch das Script zeitweise 30 Watt mehr aus meinem Akku gezogen als nötig wäre.
                Wie kommt dieser "Aufschlag" zustande?

                Ich glaube, Du hast es falsch verstanden. Dein Poweropti zeigt dir genau an, wie viel Strom du gerade vom Netzanbieter einkaufst. "Andere Verbraucher" in der EcoflowApp zeigt an, wieviel Leistung dein PowerStream gerade an Dein Hausnetzt abgibt. (ich gehe mal davon aus, das Du keine Plugs nutz)
                Wenn also Dein Poweropti 35 W anzeigt und deine App 70W für "Andere Verbraucher" dann hast Du aktuell einen Verbrauch von 105 W in deinem Haushalt. (life zu sehen unter Realpower in den Objektdaten des Scripts). Es werden also 35W weniger aus dem Akku gezogen als zur Deckung deines Bedarfs eigentlich nötig wären. Genau so soll es sein.
                Wüsste Dein Ecoflow bzw. die App, wieviel "Andere Verbraucher" wirklich verbrauchen, dann bräuchte es das Script nicht 🙂
                Ich hoffe das war verständlich...

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

                  @waly_de Super verständlich 😉

                  Mir ist nur nicht klar wie oder ob ich mein Ziel mit dem Script erreichen kann oder ob es überhaupt dafür gedacht ist. Ich möchte den Poweropti, also den Netzbezug nahezu auf 0 bringen. Generell vielleicht nicht unbedingt Sinn und Zweck eines BKW, aber in meinem Fall, Ferienhaus mit Platz für einige Panele und wenig Verbrauchern, fast alle mit Smartplugs abgedeckt, möglich. Nur die Spitzen von Toaster, Herd, Durchlauferhitzer (kann natürlich nicht abgefangen werden, aber soweit wie möglich), die nicht mit Smartplugs arbeiten, sollen so effektiv wie möglich bedient werden.
                  Mit zwei 800W Powerstreams und der DP komme ich bestenfalls auf 1600W Leistung in mein Netz und könnte das fast alles abfangen. Die Leistungsanpassung müsste dafür aber nahezu in Echtzeit funktionieren und das scheint schon am Poweropti zu scheitern, der laut Protokoll permanent aussteigt. Das scheint über den Umweg der Powerfox Cloud nicht wirklich Sinn zu machen.
                  Vielleicht komme ich meinem Ziel mit einem Tasmota oder Shelly EM3 näher.

                  Würde das Ganze funktionieren, wären natürlich auch sämtliche Smartplugs nicht mehr nötig.

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

                    Ich habe irgendwie ein komisches Phänomen. Irgendwie entlädt sich und lädt die ganze Zeit. So wird es nichts, dass die Batterie mal voll wird. IMG_2486.jpeg

                    Was kann ich machen? Habe es auf Strom-Prio stehen, doch lieber Batterie Prio einstellen?

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

                      @oli2023 ja das Script ist genau dafür gemacht. Es kann natürlich keine Wunder bewirken in einem System mit verschiedenen Geräten. Alle mit Latenzen. Ich schlage vor du Experimentierst mal selbst. Besorg dir eins der oben verlinkten Smartmetern, die sind recht fix und stell Ruhig mal den BaspowerOffset auf 0 und den Messmodus auf Echtzeit. Lass aber die Smartplugs besser weg.
                      Du wirst sehen was geht.

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

                        @karo2204 ich schlage vor du nutzt mal die Standardeinstellung und lässt auf Stromprio stehen. Sonst kann das Script nichts regeln. Wenn’s dann nicht läuft gucken wir weiter

                        K 1 Reply Last reply Reply Quote 0
                        • O
                          oli2023 @Waly_de last edited by

                          @waly_de Ich bleibe dran, Smartmeter wird gewechselt. Danke für deinen Einsatz!!

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

                            @waly_de So ich habe jetzt das neue Script eingespielt. Alle Einstellungen gelassen. Heute morgen mal die DM am Stromnetz komplett aufgeladen.

                            Habe ein bisschen was im Haushalt gemacht, der Akku ist jetzt auf 79% runter und speist 589W ein. Laut Tibber haben wir jetzt einen Stromverbrauch von -373W.

                            Sollte das Script jetzt nicht runter regeln, damit es auf 0 steht?

                            Hab mal grad unter Objects geschaut. “Real Power” bleibt bei 602W stehen und ändert sich nicht. Auch nach Neustart des Scripts nicht.

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

                              @karo2204 ja, solle regeln. alle smartplugs rausgenommen? Wenn sich realpower nicht ändert, kommen Messdaten vom Verbrauch vermutlich nicht an. Was sagt das log?

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

                                @waly_de Das Log sagt nicht viel.

                                IMG_0572.png

                                Ich habe die SmartMeterID (Tibber) jetzt mal auf “powerConsumption” gestellt, statt nur “Power” (mit Minuswerten). Macht aber kein Unterschied.

                                SmartPlugs habe ich im Script nicht eingebunden, sind aber eingesteckt.

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

                                  @karo2204 die plugs müssen raus, sonst können wir nicht beurteilen ob’s geht.

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

                                    @waly_de Hab alle Plugs ausgesteckt. Das alte Script eingespielt, RealPower verändert sich jetzt. Habe aber leider nur noch 14% im Akku. Also so wieder wie vorher. Muss ich wohl wieder anstecken zum Aufladen gleich.

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

                                      @waly_de Hallo Markus, heute hatte ich die maximale Leistung „MaxPower“(für die Einspeisung ins Stromnetz) auf 300 W begrenzt, weil ich verhindern wollte, dass die Batterie durch Kaffeemaschine, Herd … zu schnell entladen wird. Dies scheint sich aber wohl auch auf die maximale Leistung zum Laden der Batterie auszuwirken. Der Differenzbetrag scheint dann im Netz zu landen. Ist das richtig? Das möchte ich natürlich nicht.
                                      Vielen Dank auch für das neue Script bzw. deinen Entwurf! O. g. Verhalten des PowerStream schien damit identisch zu sein.

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

                                        @karo2204 Da es jetzt zu laufen scheint, hier noch mal der wichtige Hinweis an alle:

                                        Wenn SmartPlugs genutzt werden, überschreiben diese alle Regelversuche des Scripts.
                                        Zwar registriert das Script inzwischen, wenn Plugs Leistung anfordern und regelt dann seine eigene Leistung entsprechend zurück, aber für den PS hat dass was die Plugs anfordern immer Priorität.

                                        Also Bitte: wenn das Script nicht wie erwartet arbeitet, dann als erstes mal sehen ob noch Plugs in Betrieb sind und diese ausstecken! Ihr könnt einfach in der App nachsehen, ob Leistung in die Smart Plugs geht. Es sollte 0W dort angezeigt werden.

                                        Zweiter wichtiger Punkt: Das Smartmeter muss negative Werte liefern, wenn Leistung in das öffentliche Netz eingespeist wird! Bei Tibber scheint es da verschiedene Möglichkeiten zu geben.

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

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

                                          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...

                                          Hi, magst du kurz erklären was die ganzen Einstellungen da bedeuten? Die meisten sind selbsterklärend denk ich, aber ein paar Kommentare dazu wären hilfreich 🙂
                                          Dann kann ich das heute mal testen, da wir heute viel Sonne haben.

                                          Kannst du mir diese drei Werte kurz erklären?

                                          ExcessChargeSwitchMin: 10,
                                          ExcessChargeStartPower: 50,
                                          ExcessChargeStartPowerDurationMin: 5,
                                          
                                          W 1 Reply Last reply Reply Quote 0
                                          • P
                                            Ponti92 @Waly_de last edited by

                                            @waly_de
                                            Ich hab seit gestern das neue Skript im Betrieb und es funktioniert bis jetzt wunderbar 🙂
                                            Die zwei PS werden abhängig vom Akkustand gesteuert und es kommt nicht mehr vor, dass eine PS gar nichts liefert, und die andere die komplette Last.
                                            Ich teste noch weiter und gebe Bescheid, falls ich was finde!

                                            W 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            652
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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