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

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

      wie funktioniert das log für zwei Geräte ?
      const logpath = '/opt/iobroker/log/'; const SERIAL_TO_LOG = "R351ZEB4HF4Exx1" const LogAllOfSerial = true //false= nur Set-Anweisungen, true = alles von der Seriennummer const SERIAL_TO_LOG = "HW51Z6xxxx2" const LogAllOfSerial = true //false nur Set-Anweisungen, true = alles von der Seriennummer
      funktioniert das Script nicht mehr

      const SERIAL_TO_LOG = "R351ZEB4HF4Exx1,HW51Z6xxxx2"

      sollte gehen. ich würde aber eher einzeln loggen, allein wegen der Übersichtlichkeit

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

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

        @waly_de Wenn dann möchte ich den ioBroker so minimal (stromsparend und einfach) wie möglich betreiben. Mein Homey Pro ist ja auch nur ein kleines und kompaktes System. Wie kann ich das machen? Was brauche ich dazu?

        https://amzn.to/47sGkKV Raspberry Pi 4 Modell B; 4 GB
        https://amzn.to/4aZJl8H Geekworm Raspberry Pi 4 Model B Aluminum Gehäuse Case, Heavy Duty Passive Cooling Heat Dissaption Metal Case for Raspberry Pi 4B 8GB/4GB/2GB

        https://www.youtube.com/watch?v=xb-S8pWtwu4 ioBroker installieren in nur 5 Minuten | verdrahtet.info [4K]

        P.S. Ist vdein Skript auch für in Verbindung mit der Delta Pro geeignet? Ich lese im Skript nur was von DeltaMax und Delta2Max.

        Ja, sollte laufen

        L 3 Replies Last reply Reply Quote 0
        • W
          Waly_de @Ralf77 last edited by

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

          @Waly_de irgendwas/ irgendeine Änderung hat die dynamische Einspeiseregelung des PS mit der Version 1.2 und 1.21 (neu) deutlich verschlechtert. Siehe das Bild und die Unterschiede in der Regelung.
          Gestern hatte ich noch die Version 1.1.3.2 vom 31.08 in Verwendung (alt)

          Grundsätzlich hat sich an der Regelung nicht viel geändert.
          Die Überschussladung bringt aber weitere Messgrößen hinzu die potentiell größere Schwankungen verursachen können. Das wird doch nicht besser je mehr man einträgt, zum Beispiel auch bei additionalpower.
          Ich hab allerdings einige Standardwerte abgeändert, die vielleicht auch zu etwas größeren Schwankungenspitzen führen könnten. Bitte Versuch mal zu spielen mit den folgenden Parametern:

          MinValueMin: 2 (war früher mal 3)

          dann sucht im Quelltext nach:

          /*=======================================================
            =========             Timer               ============
            =======================================================*/
          //jede x Sekunden
          var intervalID = setInterval(function () {
              if (true || istTag()) {
                  CheckforReconnect(function () {
                      //SetBasePower(GetNextAsn());
                      SetBasePower()
                  });
              } else {
                  ////SetBasePower(firstPsSn);
              }
          }, 10 * 1000);
          

          war früher mal:

          /*=======================================================
            =========             Timer               ============
            =======================================================*/
          //jede x Sekunden
          var intervalID = setInterval(function () {
              if (true || istTag()) {
                  CheckforReconnect(function () {
                      //SetBasePower(GetNextAsn());
                      SetBasePower()
                  });
              } else {
                  ////SetBasePower(firstPsSn);
              }
          }, 15 * 1000);
          

          also 15 Sekunden Intervalle, statt 10.

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

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

            @Waly_de leider nicht… es übernimmt den Wert nicht in die App, wie original von mir geschrieben. Mein eigenes Script klappt aber problemlos.

            aber in das Objekt wird es richtig geschrieben?
            (ecoflow.app_xx_xx_thing_property_set.writeables.slowChgPower) ?

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

              es kann übrigens sehr Interessant sein mal diesen Wert am Ende der Konfiguration zu setzen:

              Debug: false, mlog: true,
              

              ...dann werden im Protokoll viele Dinge ausgegeben, die zeigen, mit welchen Daten das Skript gerade arbeitet und wie sie ausgewertet werden. Es wird zum Beispiel auch ausgegeben, ob ein AC-Wert bei einem PowerStream oder bei einer Delta gesetzt oder geändert wird.

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

                @thomas-weller sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

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

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

                Eventuell ist ein Problem, dass der Delta Pro mindestens mit 200 Watt AC laden muss (weniger geht nicht). Daher sollte die Ladung frühestens starten, wenn 250 Watt überschuss da ist -

                ExcessChargeStartPower: 250,

                Laden dann mit 200 Watt um sicherzsutellen (also mindestens 50 Watt Offset), dass kein Strom zum Laden eigekauft wird und ein kleiner Puffer vorhanden ist.

                ExcessChargeOffsetPower: -50,

                Ausschalten solte sich die AC-Ladung sobald für mehr als 1 Minute mehr als 50 Watt aus dem Netz gezogen wird.

                ExcessChargeSwitchMin: 1,
                ExcessChargeStopPower: 100, // davon ausgehend das die delta 150 W zieht, auch wenn 0 bei slow Charge angegeben ist, also 50 W aus dem Netz kommen.

                So teste ich jetzt mal.

                Habe zusätzlich alle SmartPlug`s demontiert.

                Die gehen mit doppeltem Wert des Verkaufs direkt per PayPal an dich @Waly_de 👏

                😂 Sehr mutig! Dann drücke ich natürlich doppelt die Daumen das es funktioniert 🤞 🤞 🤞

                1 Reply Last reply Reply Quote 0
                • R
                  Ralf77 @Waly_de last edited by Ralf77

                  @waly_de ja, die Werte sind korrekt in slowchrgPower eingetragen… es kommt nur in der App nicht an.Es war immer 200 Watt in der App.

                  Wenn ich manuell in der App erhöht habe, dann ist der Wert direkt auf 200 zurück gesprungen.

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

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

                    @waly_de ja, die Werte sind korrekt in slowchrgPower eingetragen… es kommt nur in der App nicht an.Es war immer 200 Watt in der App.

                    Das ist seltsam.. schreibt Dein (funktionierendes) Script nicht in das gleiche Writeable?
                    Sicher das nicht noch irgendwo ein 2. Script läuft das heimlich Daten an die Delta sendet?

                    Reboote auch bitte mal deinen IOBroker... manchmal läuft unter IOBroker ein Script einfach weiter, auch wenn es als gestoppt markiert ist.

                    R 1 Reply Last reply Reply Quote 0
                    • Thomas Weller
                      Thomas Weller @Ralf77 last edited by

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

                      @thomas-weller gehe in die App von Ecoflow.
                      Dann klick auf Raum und gehe auf Deinen Powerstream.
                      Dann in die Einstellungen
                      Dann prüfe, ob Du Dein PS unter Stromversorgungsmodus „Stromversorgung Priorisieren eingestellt hat.

                      Dann sollte der PS auf alle Fälle das einspeisen, was an PV -Leistung anliegt.

                      Das wird doch vom Skript immer wieder zurückngesetzt auf Stromspeicher priorisieren!?

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

                        @waly_de habs mal eingetragen. Bisher taucht das Objekt aber als Datenpunkt immer noch nicht auf. Vermute weil meine Gesamt PV Leistung derzeit bei Null ist?

                        Bildschirmfoto 2024-01-07 um 10.24.26.png

                        1 Reply Last reply Reply Quote 0
                        • R
                          Ralf77 @Thomas Weller last edited by

                          @thomas-weller wenn das bei Dir so ist, dann wird der PS nichts einspeisen, da ja dann per Definition alles in den Speicher soll…

                          Thomas Weller 1 Reply Last reply Reply Quote 0
                          • Thomas Weller
                            Thomas Weller @Ralf77 last edited by

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

                            @thomas-weller wenn das bei Dir so ist, dann wird der PS nichts einspeisen, da ja dann per Definition alles in den Speicher soll…

                            Leuchtet ein klar.

                            Aber immer wenn ich es auf Speicher priorisieren stelle springt es zurück auf Stromversorgung priorisieren. Macht das nicht das Skript oder steuert das die Einspeisung des PS auch auf Stromspeicher priorisieren?

                            R 1 Reply Last reply Reply Quote 0
                            • R
                              Ralf77 @Thomas Weller last edited by

                              @thomas-weller ich habe das Script ja auch am Laufen…kann aber ohne Probleme den Prio-Modus des Powerstreams ändern… und das bleibt dann auch so.

                              1 Reply Last reply Reply Quote 0
                              • R
                                Ralf77 @Waly_de last edited by Ralf77

                                @waly_de ich habe Dein Script jetzt am Laufen (ohne Schaltsteckdose) und es funktioniert soweit mit den Werten im Rahen der AC-Überschuss-Ladung auch sehr stabil.

                                Eventuell ist es beim Delta Pro andersrum als beim Delta Max. Ich musste die True/False Statement für ExcessChargeSwitchOn und ExcessChargeSwitchOff genau andersrum eintragen, als es in Deinem Script eingetragen war. Dann klappte es.

                                Ich teste jetzt mal weiter auf verschiedenen Situationen hin. Sieht aber sehr gut aus bis jetzt.

                                Einzig: die Änderung des Status für chgPause könnte etwas schneller zum Tragen kommen, wenn erneut Überschuss in ExcessCharg angezeigt wird (wenn das überhaupt machbar ist).

                                Werde jetzt über Nacht noch mal die Einspeiseregelung testen…

                                UPDATE 08.01: Leider ist heute am Morgen die AC-Ladung nicht gestartet obwohl ChgPause-Flag auf "0" war, ExcessPower einen Wert hatte un dgenügend Überschuss vorhanden war. ChgSlowPower war konstant auf "0" und hatte keinen Wert bekommen. Der Wert wurde aber nicht in die App (an den EF Server übertragen). Ich gehe davon aus, dass die Umsetzung mit ChgPause nicht sicher funktioniert. Daher bin ich im Script wieder zurück auf die Schaltsteckdose gegangen.

                                1 Reply Last reply Reply Quote 0
                                • L
                                  lui1307 @Waly_de last edited by

                                  @waly_de Vielen Dank für Deine Unterstützung!

                                  1 Reply Last reply Reply Quote 0
                                  • L
                                    lui1307 @Waly_de last edited by

                                    @waly_de Welche Typenbezeichnung muss ich den für die Delate Pro eingeben? DM, D2, odere D2M?

                                    F A 2 Replies Last reply Reply Quote 0
                                    • F
                                      foxthefox Developer @lui1307 last edited by

                                      @lui1307
                                      Nimm mal DM, die ist am weitesten ähnlich zur pro

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

                                        @waly_de leider ändert das nichts. Es wird irgendwie nix eingespeist. Hast du noch eine Idee?

                                        Bildschirmfoto 2024-01-08 um 09.49.01.png

                                        R W 2 Replies Last reply Reply Quote 0
                                        • A
                                          Accu @lui1307 last edited by

                                          @lui1307 DM

                                          1 Reply Last reply Reply Quote 0
                                          • R
                                            Ralf77 @Accu last edited by

                                            @accu Hast Du im Script Regulation auf "True" gesetzt?

                                             //****************************************
                                                // Erweiterte Einstellungen:
                                                //****************************************
                                                SmartmeterTimeoutMin: 4,                            // Wenn der letzte Wert vom Smartmeter älter als "SmartmeterTimeoutMin" ist, wird das Script mit...
                                                SmartmeterFallbackPower: 150,                       // SmartmeterFallbackPower als aktuellem Realpowerwert weiter arbeiten, bis wieder aktuelle Daten geliefert werden. 
                                                Regulation: true,                                   // 'false' stellt das Setzen der Einspeiseleistung ab 
                                                RegulationState: "Regulate",                        // Wenn angegeben, kann mit diesem State die Regulation ein- und ausgeschaltet werden (Wird automatisch unter 0_userdata.0.ecoflow angelegt)
                                                RegulationMultiPsMode: 0,                           // Wenn mehrere PS reguliert werden sollen. "balance" = 0 oder "serial" = 1
                                                BasePowerOffset: 30,                                // Wird vom aktuellen Verbrauch abgezogen, um die Einspeiseleistung zu berechnen 
                                                Zusatzpower_Offset: 10,                             // Zusatzpower startet ab einer Batterieladeleistung von MaxPower - Zusatzpower_Offset
                                                MinValueMin: 1,                                     // Der Zeitraum in Minuten, aus dem der niedrigste Gesamtverbrauchswert geholt werden soll. 0 für Echtzeitwert
                                                MinValueAg: 0,                                      // Art der Ermittlung des kleinsten Wertes: 0 = Minimalwert, 1 = Durchschnittswert
                                                ReconnectMin: 30,                                   // Zeit in Minuten, nach der die Anwendung neu gestartet wird, wenn keine neuen Daten eintreffen
                                                statesPrefix: "0_userdata.0.ecoflow",               // Hier werden die ecoFlow States angelegt
                                                latitude: latitude,                                 // Breitengrad des Standortes (wird automatisch eingesetzt)
                                                longitude: longitude,                               // Längengrad des Standortes (wird automatisch eingesetzt)
                                            
                                            A 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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