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 @Maik Becker last edited by

      @maik-becker hast du im Skript den richtigen Typ für die Delta angegeben?

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

        @waly_de
        ok ich muss das noch mal genauer beobachten, wenn ich die Gelegenheit bekomme. In diesem Log waren auch ab und zu Wolken, sodass es nicht richtig geklappt hat.

        Eine andere Sache, ich habe vorgestern nun doch mal das letzte Powerstream update 1.0.1.1.195/196 installiert und sehe seitdem keine Temperatur mehr:

        0_userdata.0.powerstream.app_device_property_HWXX.data.InverterHeartbeat.llcTemp
        

        Dieser Wert wird nicht mehr richtig aktualisiert. Hat das sonst noch jemand?

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

          @waly_de

          Hallo, habe den D2M angeben.

          Für die delta Pro.

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

            @Waly_de
            Jetzt hatte ich einen guten Tag und der Trockner lief. Jedoch blieb er immer in der Zusatzpower hängen und hat nur die 30-40W eingespeist anstatt die 300W

            2024-05-12 15:57:41.862 - info: javascript.0 (21466) script.js.Ecoflow1_2_4: Hausstrom: 353.01
            2024-05-12 15:57:41.862 - info: javascript.0 (21466) script.js.Ecoflow1_2_4: lowestValue Realpower: 743
            2024-05-12 15:57:41.863 - info: javascript.0 (21466) script.js.Ecoflow1_2_4: Lastcutoff: 0
            2024-05-12 15:57:41.863 - info: javascript.0 (21466) script.js.Ecoflow1_2_4: gapSumme: 0
            2024-05-12 15:57:41.864 - info: javascript.0 (21466) script.js.Ecoflow1_2_4: Bedarf : 343
            2024-05-12 15:57:41.864 - info: javascript.0 (21466) script.js.Ecoflow1_2_4: PStotalPV (+10 W/PS): 0
            2024-05-12 15:57:41.865 - info: javascript.0 (21466) script.js.Ecoflow1_2_4: Gobal totalPV: 1559
            2024-05-12 15:57:41.865 - info: javascript.0 (21466) script.js.Ecoflow1_2_4: PVBedarf : 0
            2024-05-12 15:57:41.865 - info: javascript.0 (21466) script.js.Ecoflow1_2_4: BatBedarf: 343
            2024-05-12 15:57:41.866 - info: javascript.0 (21466) script.js.Ecoflow1_2_4: PVfaktor:0
            2024-05-12 15:57:41.867 - info: javascript.0 (21466) script.js.Ecoflow1_2_4: Batfaktor:1
            2024-05-12 15:57:41.867 - info: javascript.0 (21466) script.js.Ecoflow1_2_4: ueberschuss:0
            2024-05-12 15:57:41.867 - info: javascript.0 (21466) script.js.Ecoflow1_2_4: *************************************
            2024-05-12 15:57:42.938 - info: javascript.0 (21466) script.js.Ecoflow1_2_4: RealPower Set Warte auf aktuelle Daten von: [PowerStream] lezter: 15:57:29 / ACset: 15:57:41
            2024-05-12 15:57:55.685 - info: admin.0 (1194) <== Disconnect system.user.admin from ::ffff:192.168.8.201 admin
            2024-05-12 15:57:56.692 - info: javascript.0 (21466) script.js.Ecoflow1_2_4: SetBasePower !
            2024-05-12 15:57:56.730 - info: javascript.0 (21466) script.js.Ecoflow1_2_4: PowerStream [PowerStream] Maximalleistung geht in die Batterie. Stelle zusätzlich Einspeisung auf 55 W
            2024-05-12 15:57:56.779 - info: javascript.0 (21466) script.js.Ecoflow1_2_4: PowerStream [PowerStream2] Maximalleistung geht in die Batterie. Stelle zusätzlich Einspeisung auf 30 W
            2024-05-12 15:57:56.859 - info: javascript.0 (21466) script.js.Ecoflow1_2_4: otherPS (PSonly): 85
            2024-05-12 15:57:56.865 - info: javascript.0 (21466) script.js.Ecoflow1_2_4: otherPS (all): 409.7
            

            Man kann es auch gut in meinem Grafana Dashboard sehen:

            995ed202-66e5-48bc-a36d-1693052bb0be-image.png

            der Trockner (rot) geht hoch und der Gesamtverbrauch (lila) geht dadurch hoch. Jedoch regelt der Powerstream (gelb) nicht mehr so hoch wie davor.

            W 1 Reply Last reply Reply Quote 0
            • A
              Accu last edited by Accu

              @Waly_de eine Frage: ich habe meinen PS im Skript richtig registriert (und alle anderen EF Geräte wie Plugs etc.). Habe jetzt aber das Phänomen, dass wenn ich am Nachmittag TV schaue (Smart Plug hängt am TV) der PS dann trotzdem aus der Batterie einspeist, obwohl ich durch meine Solaranlage sogar deutlich negativ bin d.h. massig Strom über habe.
              (der Gesamthausstrom aus dem Zähler ist ebenfalls richtig im Skript registriert und erscheint auch in dem Datenpunkt PV Total)

              Ich hätte jetzt erwartet dass das Skript das erkennt und den PS und Plug entsprechend runterregelt.

              W 1 Reply Last reply Reply Quote 0
              • A
                Audiofreak last edited by Audiofreak

                Hi Zusammen
                Kann mir jemand sagen ob er dieses "Problem" auch hat:
                Wenn die Akku voll sind, wird Max eingespeist, aber nur die Solarleistung vom Powerstream.
                Ich hätte weitere 1200W die am Delta Pro anliegen, diese werden dann nicht verwendet.
                Kurz gesagt, bei battPozOn hätte ich gerne 600 Watt, auch wenn zB 200 Watt von der Batterie kommen.
                Muss im APP noch was angepasst werden?
                LG
                Rafal

                            regulation: true,                           // "true": Dieser PowerStream soll vom Script reguliert werden
                            RegulationOffPower: -1,                     // Wird die Regulation per State abgestellt, wird die Einspeiseleistung des ersten Powerstreams auf diesen Wert gesetzt (-1 = keine Änderung, -2 = Batterie Priomodus)
                            hasBat: true,                               // "true": Eine Batterie ist angeschlossen. Nur für PowerStream relevant.
                            battPozOn: 99, battPozOff: 95,              // Wenn die Batterie bei battPozOn ist, Einspeisung auf MaxPower. Bei BattPozOff Normalbetrieb
                            battOnSwitchPrio: false,                     // "true": Bei battPozOn wird in den Batterie-Prioritätsmodus gewechselt
                            prioOffOnDemand: 100,                        // Wattwert des Bedarfs, bei dem zurück in den Strom-Priomodus geschaltet wird. 0 für kein Rückschalten.   
                            lowBatLimitPozOn: 3, lowBatLimitPozOff: 5, // Bei Unterschreiten der Batterieladung von "lowBatLimitPozOn" % ist die maximale Einspeiseleistung auf 
                            lowBatLimit: 150,                           // "lowBatLimit" limitiert, bis der Ladezustand wieder bei "lowBatLimitPozOff" ist
                
                W A 2 Replies Last reply Reply Quote 0
                • W
                  Waly_de @Accu last edited by

                  @accu Plugs können nicht geregelt werden. Das Skript regelt den Grundbedarf auf null. Die Plugs ziehen dennoch wenn sie anfordern. Entweder baust du die Plugs aus, oder nimmst sie aus der Regelung.

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

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

                    false

                    Die Skript Konfiguration sieht soweit gut aus. Vermutlich musst du in der App unter Haushalt Strombedarf die Einspeisekontrolle deaktivieren. Dann sollte bei 99 % Akku 600W so lange eingespeist werden bis 95 % Akkustand erreicht sind.

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

                      @waly_de

                      Hi Markus, danke für dein Feedback. Haushalt Strombedarf ist deaktiviert, es wird ein Überschuss eingespeist.
                      Hab aber gesehen dass die Ladewerte beim Delta UND beim PS eingestellt werden können. Beim PS waren min 0 max 100 eingestellt, habe dies angepasst und schaue mal was passiert.
                      LG

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

                        @ponti92 danke. Ist ein bisschen nervig, dass ich das im Moment nicht selbst testen kann.
                        Ich hab versucht eine Lösung einzubauen. Bitte Versuch es mal mit dem folgenden Skript:

                        ecoflow-connector_v125.txt

                        Maik Becker P 2 Replies Last reply Reply Quote 0
                        • Maik Becker
                          Maik Becker @Waly_de last edited by

                          @waly_de

                          Hallo ich habe heute Nacht wieder festgestellt, das er Lädt ohne das PV da ist und Einspeist zu selben zeit.

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

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

                            @waly_de Denke auch. Melde mich, wenn sie abgeschlossen ist. Dann gebe ich mal Feedback, was out of the box schon läuft.

                            Und läuft die Box schon? Gibt es Erkenntnisse zu den Daten die gesendet werden?

                            1 Reply Last reply Reply Quote 0
                            • cptmozz
                              cptmozz last edited by

                              @Waly_de Super Skript, vielen Dank dafür!

                              Basierend darauf habe ich eine einfache Lösung entwickelt, die momentan ausschließlich den PowerStream-Output steuert.
                              Einfache Automatisierung für den Ecoflow PowerStream.
                              Ein Vorteil davon ist, dass es sich leichter verstehen und erweitern lässt, falls man eigene Funktionalitäten benötigt.
                              Vielen Dank für deine tolle Arbeit, mach weiter so!

                              Samson71 1 Reply Last reply Reply Quote 1
                              • Samson71
                                Samson71 Global Moderator @cptmozz last edited by

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

                                Basierend darauf habe ich eine einfache Lösung entwickelt,

                                Und verweist auf einen neuen Post, der auch nur dazu dient auf GitHub weiter zu verweisen?

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

                                  @waly_de
                                  Hi Markus, also ich hab das Skript getestet und es hat die Zusatzpower erfolgreich abschalten können. So läuft es erst mal ganz gut 🙂 Ich beobachte aber noch weiter..

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

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

                                    Wenn die Akku voll sind, wird Max eingespeist, aber nur die Solarleistung vom Powerstream.
                                    Ich hätte weitere 1200W die am Delta Pro anliegen, diese werden dann nicht verwendet.
                                    Kurz gesagt, bei battPozOn hätte ich gerne 600 Watt, auch wenn zB 200 Watt von der Batterie kommen.

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

                                    Hab aber gesehen dass die Ladewerte beim Delta UND beim PS eingestellt werden können. Beim PS waren min 0 max 100 eingestellt, habe dies angepasst und schaue mal was passiert.

                                    Nachdem ich beim PS die Ladewerte angepasst habe funktioniert es wie gewünscht. Musste den BattPozOn auf 90% runtersetzen. Weil: Akku 99% --> BattPozOn --> es wird 120 Watt vom Akku bezogen --> Akku wird durch die direkt angeschlossene Panel aber mit 1.1kW weiter geladen --> Akku erreicht trotzdem 100% und "stellt ab". Erst wenn etwa 10min Netzstrom bezogen wird, schaltet der PS die Akku wieder dazu.

                                    1 Reply Last reply Reply Quote 0
                                    • K
                                      Kay Wurl last edited by

                                      @waly_de
                                      Vielen Dank für Deine Antwort. Ich hatte meinen Post nicht mehr gefunden und dachte, er wäre, warum auch immer, gelöscht worden. War keine Unhöflichkeit!

                                      Da wir bei Tibber sind, ist der Strom so ab 10:00 sehr günstig, darum soll erstmal alles in die Batterie gehen.
                                      Ich habe das erstmal so gelöst. Per Skript wird um 08:00 Uhr regulate auf false gesetzt. In der App wird dann Prio auf Einspeisung gesetzt mit Grundlast 0W. Nur so wird, wenn Solar 600W überschritten werden der Rest auch eingespeist, sowie alles an Solar, wenn der Akku voll ist. Zu 18:00 wird dann per Skript Dein Skript wieder gestartet und läuft sehr gut.

                                      Wenn ich darf, ich habe noch eine andere Frage.
                                      Wir habe seit heute einen 2. PS mit D2 Zusatzakku. Im Script eingetragen und läuft.
                                      Irgendwie war ich der Meinung mal wo gelesen zu haben, dass die Gesamteinspeisung über die Ecoflow-App auf 600W bzw. 800W gedrosselt wird. Scheint nicht so zu sein, es wird alles eingespeist, was die Dinger hergeben^^.

                                      Kann man im Script die Gesamteinspeisung auf 800W begrenzen? Von der Elektrik her sind mehr als 800W kein Problem, würde aber gerne auf der legalen Seite bleiben.

                                      LG und DANKESCHÖN

                                      M 1 Reply Last reply Reply Quote 2
                                      • O
                                        Ole 1 last edited by Negalein

                                        Hallo zusammen,

                                        Ich habe versucht alles eizurichten und bekomme nun folgende meldung.

                                        00:00:16.733	error	javascript.0 (2085) script.js.EcoflowScript: TypeError: Cannot read properties of undefined (reading 'connect')
                                        00:00:16.735	error	javascript.0 (2085) at setupMQTTConnection (script.js.EcoflowScript:1167:25)
                                        00:00:16.736	error	javascript.0 (2085) at script.js.EcoflowScript:1471:10
                                        00:00:31.273	warn	javascript.0 (2085) at CheckforReconnect (script.js.EcoflowScript:1510:16)
                                        00:00:31.274	warn	javascript.0 (2085) at Object.<anonymous> (script.js.EcoflowScript:1018:9)
                                        00:00:31.297	error	javascript.0 (2085) at SetBasePower (script.js.EcoflowScript:2166:43)
                                        00:00:31.298	error	javascript.0 (2085) at script.js.EcoflowScript:1020:13
                                        00:00:31.299	error	javascript.0 (2085) at CheckforReconnect (script.js.EcoflowScript:1519:9)
                                        00:00:31.300	error	javascript.0 (2085) at Object.<anonymous> (script.js.EcoflowScript:1018:9)
                                        

                                        weiss vielleicht jemand was ich falsch gemacht habe ?

                                        gruss
                                        Ole

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

                                          @waly_de
                                          Coole Sache dieses Script, Gratulation!
                                          Läuft auch bei mir, aber leider konnte ich meinen Stromzähler mangels „Scripting-Experience“ noch nicht einbinden. Die Daten von einem gPlugM Zähler kann ich per http abholen als json String im Format {... ,"i":115,"e":0, ...}, wobei "i" den Import in Watt und "e" den Export in Watt beinhaltet.

                                          Hat jemand einen Tipp für mich? Für Inputs bin dankbar!

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

                                            @pesche-g sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                                            @waly_de
                                            Coole Sache dieses Script, Gratulation!
                                            Läuft auch bei mir, aber leider konnte ich meinen Stromzähler mangels „Scripting-Experience“ noch nicht einbinden. Die Daten von einem gPlugM Zähler kann ich per http abholen als json String im Format {... ,"i":115,"e":0, ...}, wobei "i" den Import in Watt und "e" den Export in Watt beinhaltet.

                                            Hat jemand einen Tipp für mich? Für Inputs bin dankbar!

                                            Ich hab mal ChatGPT nach einer Lösung für dich gefragt:

                                            const request = require('request');
                                            
                                            // Basis-Pfad für die States
                                            const basePath = '0_userdata.0.MyPower';
                                            
                                            // Funktion zum Abrufen und Speichern der Daten
                                            function fetchAndStoreData() {
                                                const options = {
                                                    url: 'http://deine-gplugm-ip/pfad-zu-den-daten',  // Ersetze durch die tatsächliche URL
                                                    method: 'GET',
                                                    json: true
                                                };
                                            
                                                request(options, (error, response, body) => {
                                                    if (error) {
                                                        console.error('Fehler beim Abrufen der Daten:', error);
                                                        return;
                                                    }
                                            
                                                    if (response.statusCode !== 200) {
                                                        console.error('Fehler: Server antwortete mit Statuscode', response.statusCode);
                                                        return;
                                                    }
                                            
                                                    // Werte extrahieren
                                                    const importWatt = body.i;
                                                    const exportWatt = body.e;
                                                    const combinedWatt = importWatt - exportWatt; // Import positiv, Export negativ
                                            
                                                    // Daten in ioBroker speichern
                                                    setState(`${basePath}.import`, importWatt, true);
                                                    setState(`${basePath}.export`, exportWatt, true);
                                                    setState(`${basePath}.combined`, combinedWatt, true);
                                                    
                                                    console.log(`Import (Watt): ${importWatt}`);
                                                    console.log(`Export (Watt): ${exportWatt}`);
                                                    console.log(`Kombiniert (Watt): ${combinedWatt}`);
                                                });
                                            }
                                            
                                            // Initiale Erstellung der States in ioBroker (einmalig ausführen)
                                            createState(`${basePath}.import`, 0, { name: 'Import in Watt' });
                                            createState(`${basePath}.export`, 0, { name: 'Export in Watt' });
                                            createState(`${basePath}.combined`, 0, { name: 'Kombinierter Wert in Watt' });
                                            
                                            // Daten alle 2 Sekunden abrufen und speichern
                                            setInterval(fetchAndStoreData, 2000);
                                            
                                            // Initialer Aufruf, um sofort die Daten zu holen
                                            fetchAndStoreData();
                                            
                                            

                                            Ich denke, das ist selbsterklärend?

                                            Pesche G 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            743
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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