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

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    ecoflow-connector-Script zur dynamischen Leistungsanpassung

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      Ralf77 @Ralf77 last edited by Ralf77

      Hier noch meine Umsetzung der Überschussladung ohne Tuya-Steckdose...wie gesagt hat es leider auch nicht funktioniert. Der Wert in SlowCharge wurde nicht gesetzt/ entsprechend des Überschusses gesetzt 😞

       //****************************************
          // Überschussladung:
          //****************************************
          ExcessCharge: true,                                //Überschussladung AN/AUS (true/false)
                                                              //ID zum Einstellen der Ladeleistung des Speichers in Watt: 
          ExcessChargePowerID: "0_userdata.0.ecoflow.app_1695477127540752386_DCEBZ8ZXXXXXX_thing_property_set.writeables.slowChgPower",
                                                              //ID des aktuellen Ladestandes des Speichers in %: 
          ExcessChargePowerBatSocID: "0_userdata.0.ecoflow.app_device_property_DCEBZ8ZEXXXXXXX.data.params.bmsMaster.soc",
          ExcessChargeSwitchMin: 0,5,                           //Zeit in Minuten die der Schalter mindestens in der letzten geschalteten Position verbleiben muss. 
          ExcessChargeMaxPower: 2500,                         //Maximale Ladeleistung des Speichers in Watt
          ExcessChargeOffsetPower: 0,                         //Wird der Leistungsanforderung hinzugerechnet um Messabweichungen auszugleichen. 
          ExcessChargeStartPower: 200,                         //Mindest-Überschussleistung zum Einschalten des Speichers
          ExcessChargeStartPowerDurationMin: 1,               //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_DCEBZ8ZXXXXXX.data.params.inv.inputWatts",
                                                              //ID des Schalters, der den Speicher aktiviert: 
          //ExcessChargeSwitchID: "0_userdata.0.ecoflow.app_1695477127540752386_DCEBZ8ZXXXXXX_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: "0_userdata.0.ecoflow.app_device_property_DCEBZ8ZXXXXXXX.data.params.inv.inputWatt",
                                                              //ID des Schalters, der den Speicher aktiviert: 
          ExcessChargeSwitchID: "0_userdata.0.ecoflow.app_1695477127540752386_DCEBZ8ZXXXXXXX_thing_property_set.writeables.chgPause", 
          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"...)
          //----------------------------------------
          //****************************************
          Debug: false,
          PlotCmdID: 99999,
      }
      //***************************************/
      

      Additional Power habe ich natürlich gesetzt... und DP auf True laufen.

      AdditionalPower: [                                     // Wenn es weitere Wechselrichter gibt, die in IOBroker erfasst werden, können diese hier Angelegt werden
              //############# Diesen Abschnitt für jedes einzelne Gerät anlegen ################
              {
                  name: "PV_Leistung am Delta",                       // Beliebiger Name
                  id: "0_userdata.0.ecoflow.app_device_property_DCEBZ8ZXXXXXX.data.params.mppt.inWatts",      // Der Objektpfad zu dem Leistungswert in Watt (W)
                  factor: 10,                                  // Divisionsfaktor für den Leistungswert. (10 für die Delta)
              },
              //#######################################################################
      
      1 Reply Last reply Reply Quote 0
      • A
        aherby @Waly_de last edited by

        @waly_de Es schein ja eine neue Funktion durch das aktuelle Update das z.B. iOS-App zu geben.
        Nun können Shelly-Gerate geschaltet und wohl auch Leistungsdaten übertragen. Hat hier wer schon Erfahrungen gesammelt?

        Thomas Weller A 2 Replies Last reply Reply Quote 0
        • Thomas Weller
          Thomas Weller @aherby last edited by Thomas Weller

          @aherby
          Meines Wissen`s nach funktioniert die Shelly Integration noch bei niemandem. Wird nur in der App angezeigt und es kommt bei Auswahl der Shelly Komponenten der Fehler der Verbindung, so bei mir auch.
          Soll bis Ende Januar funktionieren lt. einem PV-Forum Mitglied.

          @Waly_de
          Bin relativ neu in der IO Broker Welt...
          Habe jetzt einen Raspberry Pi4 mit IOBroker und deinen zwei Skripten Ecoflow+Tibber am laufen.

          Wird die AC Ladeleistung nicht gesteuert mit deinem Skript?
          Er zieht bei mir immer die max. Eingestellte AC Leistung in die DeltaPro!
          Der Haushaltsstrombedarf wird per Skript angepasst, da regelt zumindest mal was über den "Sensor" des TibberSkript...

          edit...
          Ich hab noch keine PV-Module an meiner DeltaPRO mit 1x Zusatzakku und auch nicht am PowerStream.
          Lade PV Überschuss aus meiner 37kWp SolarEdge PV-Anlage über eine geschaltete Shelly Steckdose mit max. 2,3kW.
          Ziel ist es über so ein Skript zu machen, ohne Shelly Steckdose dazwischen.

          Der TibberPulse Wert meines Stromzählers muss hier doch einwandfrei dafür geeignet sein.

          Bei Negativen Watt Werten Laden der DeltaPro über AC und bei Positiven Watt Werten Powerstream Einspeisung anpassen.
          Mehr brauch ich gar nicht 🙂

          A W 2 Replies Last reply Reply Quote 1
          • A
            aherby @Thomas Weller last edited by

            @thomas-weller Also ich habe es gerade mal getestet und ich kann den Shelly Plus 1 PM damit schalten aber da um diese Uhrzeit keine Sonne hier scheint, sehe ich eben keine Leistungswerte. Aber mehr wird sicher eh nicht über Matter übertragen. Dache im Log sehe ich einen ungewöhnlichen Eintrag aber nichts aufgefallen.

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

              @aherby was bedeutet das? Dass man einen Shelly schalten kann, der hinter der Delta am AC Eingang sitzt? Bisher schalte ich diesen via Shelly Regel.

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

                Hat niemand eine Idee bzw. kann mir sagen, was ich falsch mache bzw. warum meine Delta Pro trotz Ladestand von 35% und Netzverbrauch von 350W nicht automatisch einspeist?
                Ich nutze den Sonoff IR Volkszähler um meinen Stromverbrauch im Haus zu ermitteln.

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

                  @accu bist du im PS auf „Stromversorgung Prio“?
                  Schau doch mal im ioBroker nach, was im Protokoll steht.

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

                    Es gibt eine neue Version:
                    ecoflow-connector_v121_05.01.2024.txt

                    (1.2.1) 05.01.2024

                      • Neuer Parameter "ExcessChargeStopPower": Überschussleistung bei der der Zusatzspeicher wieder abgeschaltet werden soll.
                      • Verschiedene Optimierungen und Bugfixes
                      • LogAllOfSerial kann nun verwendet werden um jede nachricht von einer bestimmten seriennummer in ein Logfile zu schreibnen.

                    Ich habe vor allem bei der Überschussladung noch einiges angepasst und die Bezugswerte geändert. Leider ist nach wie vor ohne Sonne kein wirklicher Feldtest möglich. Aber bei mir läuft es, wenn es mal hell wird, sehr gut.

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

                      @accu Bitte möglichst keine Bider posten, sondern die Protokolle und Code kopieren und mithilfe der CODE Funktion (</>) Button oben Einfügen.

                      Das ist einfacher zu lesen ;-)
                      

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

                      ich habe die neuste Version geladen und im Konfig Bereich meine Daten eingetragen (zwischen die Gänsefüsschen) und die Seriennummern meiner Geräte (Powerstream & Delta Pro (als DM)).
                      Auch meinen Sonoff IR Volkszähler Datenpunkt.

                      Das sieht zunächst gut aus.die Meldung unten ist nur ein Hinweis und kann ignoriert werden.
                      An den logpath und SERIAL_TO_LOG Daten muss nichts geändert werden.

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

                      Leider speist der Powerstream nicht ein. Sollte der nicht automatisch anspringen wenn das Skript gestartet ist?

                      Wenn alle Bedingungen erfüllt sind, ja.
                      Gibt es genug PV-Power, ist die Batteriemindestladung gegeben, werden die Objekte:
                      "0_userdata.0.ecoflow.RealPower", "0_userdata.0.ecoflow.totalPV" mit den richtigen Werten regelmäßig aktualisiert?

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

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

                        Ich verwende ja eine Tuya-Steckdose zum Schalten der AC-Überschussladung. Leider funktioniert das AC-Laden nicht (auch nicht, wenn ich es ohne Tuya Steckdose realisiere). Es wird in den "Writebales" für "SlowChragePower" immer "Null" eingetragen... hast Du eine Idee wo mein Fehler liegt?

                        Also da ist einiges in der Konfiguration problematisch... ExcessChargeStartPower sollte z.b. nicht negativ sein. Ich ändere Deine Konfiguration mal so, wie ich glaube das sie Funktionieren sollte (bitte mit der neuen Version von heute testen):

                        // Überschussladung:
                             //****************************************
                             ExcessCharge: true,                                //Überschussladung AN/AUS (true/false)
                                                                                 //ID zum Einstellen der Ladeleistung des Speichers in Watt: 
                             ExcessChargePowerID: "0_userdata.0.ecoflow.app_1695477XXXXXX_DCEBZ8ZEXXXXXX_thing_property_set.writeables.slowChgPower",
                                                                                 //ID des aktuellen Ladestandes des Speichers in %: 
                             ExcessChargePowerBatSocID: "0_userdata.0.ecoflow.app_device_property_DCEBZ8ZEXXXXXX.data.params.bmsMaster.soc",
                             ExcessChargeSwitchMin: 2,                           //Zeit in Minuten die der Schalter mindestens in der letzten geschalteten Position verbleiben muss. 
                             ExcessChargeMaxPower: 2500,                         //Maximale Ladeleistung des Speichers in Watt
                             ExcessChargeOffsetPower: 0,                         //Wird der Leistungsanforderung hinzugerechnet um Messabweichungen auszugleichen. 
                             ExcessChargeStartPower: 50,                         //Mindest-Überschussleistung zum Einschalten des Speichers
                             ExcessChargeStopPower: 0,                           //Überschussleistung bei der der Speicher abgeschaltet werden soll.
                        
                             ExcessChargeStartPowerDurationMin: 1,               //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: "tuya.0.bf86dbXXXXXXXX.19",
                                                                                 //ID des Schalters, der den Speicher aktiviert: 
                             ExcessChargeSwitchID: "tuya.0.bf86dbXXXXXXXXX.1", 
                             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"...)
                             //----------------------------------------
                             //****************************************
                             Debug: false,
                             PlotCmdID: 99999,
                        

                        Sollte, wenn alle ID's Passen folgendes machen:
                        Wenn 0_userdata.0.ecoflow.ExcessPower für mindesten eine Minute ununterbrochen > 50W ist, wird "tuya.0.bf86dbXXXXXXXXX.1" auf true gesetzt (Schaltet die Tuba-Dose?)
                        ExcessChargeSwitchMin bewirkt das sie mindestens 2 Minuten an bleibt, auch wenn die 0_userdata.0.ecoflow.ExcessPower für auf 0 fällt.

                        "0_userdata.0.ecoflow.app_1695477XXXXXX_DCEBZ8ZEXXXXXX_thing_property_set.writeables.slowChgPower" sollte nun an die Überschussleistung angepasst werden.

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

                          @waly_de im Skript sehe ich beim Starten im Debug Fenster folgende Fehlermeldung:

                          javascript.0 (53248) script.js.Test.EF_Integration: Unbekannter Set Befehl: {"params":{"hour":9,"min":33,"sec":25,"day":5,"week":6,"month":1,"year":2024},"from":"iOS","lang":"de-de","id":"605402678","moduleSn":"DCExxxxxx","moduleType":1,"operateType":"setRtcTime","version":"1.0"}
                          

                          Meine Delta Pro steht laut EF App auf: "Stromversorgung priorisieren".

                             SmartmeterID: "sonoff.0.IRHub.SML_Watt_Summe",     // State, der den aktuellen Gesamtverbrauch in Watt anzeigt
                              seriennummern: [
                                  //############# Diesen Abschnitt für jedes einzelne Gerät anlegen ################
                                  {
                                      seriennummer: "HW51xxxxxx",           // Die Seriennummer des Gerätes
                                      name: "PowerStream",                        // beliebiger Name
                                      MaxPower: 600,                              // Der höchstmögliche Wert in Watt für die Einspeiseleistung
                                      subscribe: true,                            // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt
                                      typ: "PS",                                  // Welches Gerät ist es: PowerStream:"PS"; DeltaMax:"DM"; Delta2: "D2" ; Delta2 Max: "D2M"; SmartPlug: "SM"; Andere: "NA" 
                                      // Parameter an hier nur für PowerStream.     
                                      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: 94,              // Wenn die Batterie bei battPozOn ist, Einspeisung auf MaxPower. Bei BattPozOff Normalbetrieb
                                      battOnSwitchPrio: true,                     // "true": Bei battPozOn wird in den Batterie-Prioritätsmodus gewechselt
                                      prioOffOnDemand: 30,                        // Wattwert des Bedarfs, bei dem zurück in den Strom-Priomodus geschaltet wird. 0 für kein Rückschalten.   
                                      lowBatLimitPozOn: 5, lowBatLimitPozOff: 15, // Bei Unterschreiten der Batterieladung von "lowBatLimitPozOn" % ist die maximale Einspeiseleistung auf 
                                      lowBatLimit: 100,                           // "lowBatLimit" limitiert, bis der Ladezustand wieder bei "lowBatLimitPozOff" ist
                                  },
                                  //#######################################################################
                          

                          (Noch eine Frage: Könntest Du noch auf der ersten Seite (im Skript und/oder hier im Forum) einen allgemeinen Text zur Funktionalität des Skripts hinzufügen? Also was das Skript genau macht. Ich denke das wäre für viele Newbies sehr hilfreich.)

                          Ich nutze die EF Delta Pro mit 4 Panels (2p2s) direkt daran angeschlossen. Aktuell kommt bei der Wetterlage fast nichts rein. (gestern hatte ich über Mittag mal 150W) aber auch da ist der PS nicht angesprungen.
                          Aber das Skript liest doch auch nicht aus, was an PV reinkommt oder? Ich habe zumindest die stelle wo der Hoymiles vorkommt auskommentiert, da ich ne PV Anlage auf dem Gartenhaus habe. (Ich habe aber einen Datenpunkt im ioBroker wo der Gesamte PV Strom erfasst wird. ggf. kann ich den da einsetzen?)

                          W 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
                            Bin relativ neu in der IO Broker Welt...
                            Habe jetzt einen Raspberry Pi4 mit IOBroker und deinen zwei Skripten Ecoflow+Tibber am laufen.
                            Wird die AC Ladeleistung nicht gesteuert mit deinem Skript?
                            Er zieht bei mir immer die max. Eingestellte AC Leistung in die DeltaPro!
                            Der Haushaltsstrombedarf wird per Skript angepasst, da regelt zumindest mal was über den "Sensor" des TibberSkript...
                            edit...
                            Ich hab noch keine PV-Module an meiner DeltaPRO mit 1x Zusatzakku und auch nicht am PowerStream.
                            Lade PV Überschuss aus meiner 37kWp SolarEdge PV-Anlage über eine geschaltete Shelly Steckdose mit max. 2,3kW.
                            Ziel ist es über so ein Skript zu machen, ohne Shelly Steckdose dazwischen.
                            Der TibberPulse Wert meines Stromzählers muss hier doch einwandfrei dafür geeignet sein.
                            Bei Negativen Watt Werten Laden der DeltaPro über AC und bei Positiven Watt Werten Powerstream Einspeisung anpassen.
                            Mehr brauch ich gar nicht

                            Willkommen in der wunderbaren Welt von IOBroker 😉
                            Dafür ist das Skript eigentlich nicht gemacht... Will heissen ich hab nicht getestet was passiert, wenn die PS keine eigenen PV haben. Aber bitte versuch es mal mit der neuen Version von heute.
                            Da sind die Bezugswerte geändert. Schlau bitte mal was bei Dir in 0_userdata.0.ecoflow.ExcessPower geschrieben wird.

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

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

                              Ich nutze die EF Delta Pro mit 4 Panels (2p2s) direkt daran angeschlossen. Aktuell kommt bei der Wetterlage fast nichts rein. (gestern hatte ich über Mittag mal 150W) aber auch da ist der PS nicht angesprungen.
                              Aber das Skript liest doch auch nicht aus, was an PV reinkommt oder? Ich habe zumindest die stelle wo der Hoymiles vorkommt auskommentiert, da ich ne PV Anlage auf dem Gartenhaus habe. (Ich habe aber einen Datenpunkt im ioBroker wo der Gesamte PV Strom erfasst wird. ggf. kann ich den da einsetzen?)

                              Die Meldung mit dem unbekannten Set Befehl kannst du ignorieren.
                              Der Rest sieht soweit gut aus.

                              Grundsätzlich ist es ja so, dass das Skript dafür sorgen soll, dass möglichst die gesamte PV Leistung sofort verbraucht wird und nur das, was gerade nicht verbraucht werden kann, in einen Akku geladen wird.
                              Damit das funktioniert, muss das Skript natürlich genau wissen, was genau gerade wirklich in deinem Haus verbraucht wird. Beziehungsweise wie viel der am Stromzähler angezeigten Leistung zum einen aus der PV Anlage kommt und zum anderen unter Umständen in Batterien eingespeist wird usw.
                              Wenn du also einen Datenpunkt hast, der anzeigt, wie viel PVLeistung gerade aus anderen Quellen als aus deinemPower Stream kommt und sich das auch auf den Wert auswirkt, den das Script als "SmartmeterID" einließt, dann solltest du diesen unbedingt unter "AdditionalPower" angeben.

                              Wenn dein Power Stream nicht anspringt, kann das neben einem leeren Akku auf jeden Fall der Grund sein. Bitte beobachte den Wert der Unter Objekte "0_userdata.0.ecoflow.RealPower" steht. Das ist der Wert, der für das Skript die Grundlage der Regelung darstellt. Ist der < "BasePowerOffset" passiert gar nichts. Ist der Wert größer, Versuch, das Skript, die Einspeisung des Power Stream auf RealPower - BasePowerOffset zu setzen.
                              Das funktioniert aber auch nur dann, wenn der Akku den Mindest Ladestand erreicht hat. Den hat Ecoflow. festgelegt und ist bei mir zwischen 7% und 10 %. Wenn der Ladestand darunter liegt, geht die gesamte Leistung in den Akku, egal was das Skript als AC-Leistung einstellt.

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

                                @waly_de ah ok - d.h. das Skript läuft nur wenn der PS an Solar hängt? Ich nutze den PS leider nur zur Einspeisung. Meine Panels hängen direkt an der Delta Pro. Wobei man doch sicher auch den Datenpunkt abgreifen kann (WattIn)?

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

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

                                  ah ok - d.h. das Skript läuft nur wenn der PS an Solar hängt?

                                  d.h. ich weiss es nicht genau 😉 Aber es besteht eine gute Chance, dass das neue Script auch in Deiner Konfiguration läuft... Teste mal und gib Rückmeldung, auch zu den Zuständen, nach denen ich gefragt hab.

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

                                  Wobei man doch sicher auch den Datenpunkt abgreifen kann (WattIn)?

                                  Vermutlich. Bitte vorher in den Objekten überprüfen, ob der Wert stimmig ist. Dann unter "AdditionalPower" angeben

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

                                    @waly_de vielen Dank für Deine Hilfe auf meinen Post. Folgende Beobachtung habe ich gemacht:

                                    • Die Tuya Steckdose schaltet ein. Das klappt.
                                    • Die Regelung der AC-Ladung startet. Das klappt auch
                                    • Die Regelung stellt aber meist eine zu hohe Ladelseitung ein. Es wurde dann imme rzwischen 100Watt und 200 Watt zusätzlich zum PV-Überschuss aus dem Netz gezogen
                                    • Die Regelung klappte nur, wenn es keine großen Änderungen im Verbrauch gab (also deutlich weniger/mehr Überschuss auf einmal zur Verfügung stand)

                                    Meine Erkenntnisse:

                                    • Ich vermmute, dass mit der Berechnung von "0_userdata.0.ecoflow.ExcessPower" etwas nicht stimmt. Als Test habe ich Verbraucher im Haus zugeschalten bis die aktuelle PV-Produktion nicht mehr gerreicht hat und wollte so eine Abschaltung der AC-Ladung erzwingen. Da shat aber leider nicht geklappt. Als ich dann die Verbraucher wieder abgeschaltet hatte und ein Überschuss im Haus wieder verfügbar war, ist die AC-Ladeleistung auf 2900Watt gestiegen (in der App wurde sogar ein Wert von über 6000 Watt angezeigt). Die Berechnung der Ladeleistung scheint also noch nicht für alle möglichen Fälle zu passen.

                                    Hier mal ein Bild als ich die Verbraucher im Haus manuell zugeschalten habe:

                                    • Ich habe vom Netz 990 Watt bezogen
                                    • ExcessPower ist positiv auf 1019 geblieben
                                    • slowChgPower blieb auf 869 Watt
                                      -AC Ladung stoppte nicht (Tuya Steckdose hat sich nicht abgeschalten)

                                    39d06c96-7d82-4116-9178-aab5d91c0342-image.png

                                    Ich vermute, dass es an der Berechnung noch Probleme gibt, da ja Überschuss ein negativer Wert ist und Netzbezug ein positiver Wert...

                                    Gerne noch mal mein Script, welches ich als separates Script laufen habe (ChatGPT generiert- sicherlich noch zu verbessern).
                                    Es funktioniert aber sehr gut und regelt die AC-Ladung sehr zuverlässig mit einer Resteinspeisung von 20-70 Watt.

                                    Einziges Problem:
                                    Teilweise schaltet sich die Steckdose in der Nacht ein, wenn ich z.B.

                                    • einen Verbrauch von 250 Watt aus dem Akku ziehe (Grundlast).
                                    • Wenn ich dann z.B. den Wasserkocher anschalte, dann liefert der Akku 600 Watt ins Hausnetz (Verbrauch ist ja dann bei ~2kW).
                                    • Dann schaltet sich er Wasserkocher aus und ich habe einen "Negativen Wert = Einspeisung" in Höhe von 350 Watt bis der Akku zurückregelt
                                    • Dann springt die Teckdose an, der Akku bleibt auf 600 Watt und fängt an über AC zu laden...da muss ich dann manuell eingreifen
                                    const vPower = 'fronius.0.meter.0.PowerReal_P_Sum'; // Pfad zur Leistung des Fronius Smartmeters
                                    const Schalter = 'tuya.0.bf86db8XXXXX.1'; // Pfad zur Tuya Steckdose
                                    let timeout = null;
                                    const ecoflowObject = "0_userdata.0.ecoflow.app_1695477127XXXX_DCEBZ8ZEXXXXXX_thing_property_set.writeables.slowChgPower"; // Pfad zum Ecoflow-Objekt
                                    
                                    // Funktion zum Abrufen und Umrechnen des Werts vom Fronius Smartmeter alle 60 Sekunden
                                    const EINSCHALT_POWER = 200
                                    const AUSSCHALT_POWER = 0
                                    let powerValue = 0
                                    intervalId = setInterval(function () {
                                        const froniusValue = Math.floor(getState(vPower).val); // Wert vom Fronius Smartmeter
                                        const aktuelle_powerValue  =  getState(ecoflowObject).val
                                        let Entscheidungswert = (froniusValue * -1) + aktuelle_powerValue
                                     
                                        if (Entscheidungswert >= EINSCHALT_POWER){
                                            Entscheidungswert = Math.floor(Entscheidungswert / 100) * 100; // Runde den positiven Wert auf die vollen hundert ab
                                            powerValue = Entscheidungswert
                                        }
                                        if (powerValue > 0 && Entscheidungswert > AUSSCHALT_POWER){
                                            Entscheidungswert = Math.ceil(Entscheidungswert / 100) * 100; // Runde den negativen Wert auf die vollen hundert auf
                                            powerValue = Entscheidungswert
                                        }
                                        if (Entscheidungswert <= AUSSCHALT_POWER){
                                            powerValue = 0
                                        }
                                        let setValue = powerValue
                                     
                                        if (setValue < 200) setValue = 200
                                        if (setValue > 2600) setValue = 2600
                                        
                                        setState(ecoflowObject, setValue); // Wert in das Ecoflow-Objekt schreiben
                                    }, 30000); // alle 30 Sekunden
                                    
                                    on(vPower, function(dp) {
                                      if (dp.state.val <= -250) { // Überschussleistung in Watt
                                        if (timeout) {
                                          clearTimeout(timeout);
                                          timeout = null;
                                        }
                                        setState(Schalter, true); // Steckdose einschalten
                                          } else if (dp.state.val >= 100) {
                                        if (!timeout) {
                                          timeout = setTimeout(function() {
                                            if (getState(vPower).val >= 0) { // Prüfen, ob der Wert des Fronius Smart Meters innerhalb von 2 Minuten wieder negativ wird
                                              setState(Schalter, false); // Steckdose ausschalten nach 2 Minuten
                                                      }
                                            timeout = null;
                                          }, 120000); // Verzögerung von 2 Minuten
                                        }
                                      }
                                    });
                                    
                                    
                                    W 1 Reply Last reply Reply Quote 0
                                    • W
                                      Waly_de @Ralf77 last edited by

                                      @ralf77 hast du das mit der Version von heute 1.2.1 gemacht?

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

                                        @waly_de Nein, mit der Version 1.2 vom 04.12.

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

                                          @ralf77 dann Versuchs bitte noch mal mit der neuen Version. Ich habe wie gesagt die Bezugsgröße geändert. Zuvor war es das so Gap. Das ist die Differenz zwischen der von einem PowerStream angeforderten Leistungen zu dem , was der powerStream wirklich liefert. Das kann aber bei bestimmten Konfigurationen zu Fehlinterpretationen führen.
                                          In dem neuen Skript ist Real power die Quelle für die Bestimmung des Überschusses. Das könnte dein Problem lösen.

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

                                            @waly_de werde ich machen...

                                            Kurze Frage zu folgendem Abschnitt im Script:

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

                                            Bedeutet das, dass ich das nur beim Verwenden eine Schaltersteckdose machen muss (darf)?...wenn ich die AC-Laderegelung ohne Schaltsteckdose machen möchte, soll ich das (darf ich das) dann nicht ausfüllen? Generell wäre es imho immer gut, wenn keine Schaltsteckdose eingesetzt wird. Bisher war das halt immer nötig....

                                            Update: Leider funktioniert automatische Überschussladung immer noch nicht ganz korrekt. Folgendes war mein Versuch mit V1.2.1:

                                            • Ohne Schaltsteckdose
                                            • Überschuss war vorhanden
                                            • AC Ladung hat begonnen und zu regeln (soweit war es ok)

                                            948023dc-0b33-4a6d-90bd-40b6bd67ad9b-image.png

                                            Dann:

                                            • Zuschalten einer großen Last im Haus wodurch Strom aus dem öffentlichen Netz bezogen wurde (851Watt), da zu wenig Überschuss vorhanden
                                            • ExcessPower ginng auf 0Watt
                                            • slowChgPower ging auf 0Watt
                                            • chgPause ist auf Status "0" gegangen
                                            • DeltaPro hat weiterhin 204W aus AC-Strom aus dem Netz genommen (Ladung wurde nich komplett angehalten!)

                                            2a6f14e5-fff6-41a1-9ba8-9133344786f5-image.png

                                            Update 2: Nachdem ich die große Last abgeschalten habe und ich wieder Überschuss vorhanden war, ist ChgPause auf Status "1" gegangen und der AC-Ladevorgang wurde jetzt komplett eingestellt - obwohl ja jetzt die Ladung entsprechend des Überschusses angepasst werden sollte - ein Starten der AC-Ladung erfolgte auch nach mehreren Minuten nicht obwohl Überschuss vorhanden war / ExcessPower wieder positiv war / SlowChgPower positv war...

                                            Als ich dann das AC-Ladekabel aus der Steckdose gezogen habe und neu eingesteckt habe ist die AC-Ladung wieder gestartet....
                                            Die regelung scheint jetzt zu klappen nur das Ausschalten/Einschalten durch "chgPause" klappt zumindest bei mir noch nicht automatisch.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            801
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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