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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    ecoflow-connector-Script zur dynamischen Leistungsanpassung

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      Waly_de @gooflo last edited by Waly_de

      @gooflo Vielen Dank.. ich lade es hoch (Ich kann es aber auch nicht testen, weil ich nur eine Delta Batterie habe. Aber es wird schon laufen. 😉 )

      Hier die Version von Florian:
      1.2.5.f1 Fork von Florian Vogt

      • Feature hinzugefügt, um die Größe der Delta-Speicher beim Ausbalancieren der Entladeleistung zu berücksichtigen, damit die Batterien gleichmäßig geleert werden
        Parameter battCapacity bei den Einstellungen für PowerStream = Kapazität der angeschlossenen Batterie in kWh, default = 1

      ecoflow-connector_v125_mod_FV.txt

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

        @waly_de Hallo, kannst du mir bitte noch Helfen, arbeite mit einer DELTA Pro und DELTA Max über AC Laden, aber bekomme es nicht richtig hin.

        Des weiteren ist noch das Probelm, das er teilweise lädt über AC und den Aber auch über den PS die Leitung raus gibt.

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

          @maik-becker leider im Moment nicht. Da muss man wirklich genauer hinsehen und Protokoll Dateien untersuchen und und und, Dazu habe ich im Moment leider keine Zeit.

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

            @waly_de Okay, danke. kannst du dir aber mal meine Config an Schauen, wenn ich sie per PM sende?

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

              Kann das mal jemand prüfen lade nur über AC und hab zwei DELTA und Zwei PS nutze nur die Überschussladung.

              
               */
              // Systemkoordinaten werden versucht zu ermitteln und als Default den Variablen zugeordnet.
              var latitude
              var longitude;
              // Ermitteln des Standortes aus den Einstellungen.
              getStandortKoordinaten()
              // Protokollierung einzelner Geräte bei Bedarf
              const logpath = '/opt/iobroker/log/';
              const SERIAL_TO_LOG = "DCEBF8ZFAxxxxx"
              const LogAllOfSerial = false //false= nur Set-Anweisungen, true = alles von der Seriennummer
              
              /***************************************
              **********  YOUR DATA HERE  ************ 
              ****************************************/
              var ConfigData = {
                  email: "xx@xxxxx",                             // Die App-Zugangsdaten von ecoFlow
                  passwort: "xxxxx",
                  SmartmeterID: "sonoff.0.mqtt.bridge-01.SML_aktuelle_Wirkleistung",     // State, der den aktuellen Gesamtverbrauch in Watt anzeigt
                  seriennummern: [
                      //############# Diesen Abschnitt für jedes einzelne Gerät anlegen ################
                      {
                          seriennummer: "HW51ZEH4SFxxxxxx",              // Die Seriennummer des Gerätes
                          name: "PowerStream Pro",                           // beliebiger Name
                          MaxPower: 800,                                 // 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/Delta Pro: "D2M"; SmartPlug: "SM"; Andere: "NA" 
                          // Parameter an hier nur für PowerStream.     
                          regulation: true,                              // "true": Dieser PowerStream soll vom Script reguliert werden
                          RegulationOffPower: -2,                        // 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: 100, battPozOff: 97,                // 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: 100, lowBatLimitPozOff: 101, // Bei Unterschreiten der Batterieladung von "lowBatLimitPozOn" % ist die maximale Einspeiseleistung auf 
                          lowBatLimit: 800,                              // "lowBatLimit" limitiert, bis der Ladezustand wieder bei "lowBatLimitPozOff" ist
                      },
                      {
                          seriennummer: "HW51ZEH4SFxxxxxx",              // Die Seriennummer des Gerätesin
                          name: "PowerStream Max",                       // beliebiger Name
                          MaxPower: 800,                                 // 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/Delta Pro: "D2M"; SmartPlug: "SM"; Andere: "NA" 
                          // Parameter an hier nur für PowerStream.     
                          regulation: true,                              // "true": Dieser PowerStream soll vom Script reguliert werden
                          RegulationOffPower: -2,                        // 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: 100, battPozOff: 97,                // 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: 100, lowBatLimitPozOff: 101, // Bei Unterschreiten der Batterieladung von "lowBatLimitPozOn" % ist die maximale Einspeiseleistung auf 
                          lowBatLimit: 800,                              // "lowBatLimit" limitiert, bis der Ladezustand wieder bei "lowBatLimitPozOff" ist
                      },
                      //#######################################################################
                      {
                          seriennummer: "DCEBF8ZFA1xxxx2",
                          name: "DELTA Pro",
                          typ: "D2M",
                          subscribe: true,                            // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt
                      },
                      {
                          seriennummer: "DAEBZ5KF11xxxxxx",
                          name: "DELTA Max",
                          typ: "DM",
                          subscribe: true,                            // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt
                      },
                      //#######################################################################
                      {
                          seriennummer: "XXXXXXXXXXXXX",
                          name: "SmartPlug 1",
                          typ: "SM",
                          subscribe: true,                            // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt
                      },
                      //#######################################################################
                  ],
              
                  AdditionalPowerAvgPeriod: 15000,                    // Zeitraum in ms in denen ein Durchschittswert der Summe von AdditionalPower erstellt wird
                  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: "Hoymiles2000",                       // Beliebiger Name
                          id: "mqtt.0.solar.1234567890.0.power",      // Der Objektpfad zu dem Leistungswert in Watt (W)
                          factor: 1,                                  // Divisionsfaktor für den Leistungswert. (10 für die Delta)
                          offset: 0,                                  // Wert wird zum Messwert addiert um Messabweichungen ausgleichen zu können 
                          NoFeedIn: false,                            // true setzen, wenn die enthaltene Leistung nicht ins Hausnetz fließt. (Nur in PVTotal aufnehmen)
                          NoPV: false,                                // true setzen, wenn die enthaltene Leistung nicht in TotalPV einfließen soll. (Nur in Realpower aufnehmen)
                      },
                      //#######################################################################
                  ],
                  //****************************************
                  // Erweiterte Einstellungen:
                  //****************************************
                  SmartmeterTimeoutMin: 4,                            // Wenn der letzte Wert vom Smartmeter älter als "SmartmeterTimeoutMin" ist, wird das Script mit...
                  SmartmeterFallbackPower: 30,                       // SmartmeterFallbackPower als aktuellem Realpowerwert weiter arbeiten, bis wieder aktuelle Daten geliefert werden. 
                  RegulationIntervalSec: 15,                          // Intervall in Sekunden in denen gemessen und reguliert wird 
                  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
                  SerialReverse: true,                               // true: im serial Mode (RegulationMultiPsMode: 1) werden die PS in umgekehrter Rheihenfolge duchfaufen 
                  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: 0,                                     // 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)
                  
                  
                  //****************************************
                  // Überschussladung:
                  //****************************************
              
              
                  //**********test */
                  // Überschussladung:
                  //****************************************
                  ExcessCharge: true,                                //Überschussladung AN/AUS (true/false)
                                                                      //ID zum Einstellen der Ladeleistung des Speichers in Watt: 
                  ExcessChargePowerID: "ecoflow-mqtt.0.DAEBZ5KF118xxx.inv.cfgSlowChgWatts",
                                                                      //ID des aktuellen Ladestandes des Speichers in %: 
                  ExcessChargePowerBatSocID: "0_userdata.0.ecoflow.app_device_property_DAEBZ5KF1xxx.data.params.bmsMaster.soc",
                  ExcessChargeSwitchMin: 2,                           //Zeit in Minuten die der Schalter mindestens in der letzten geschalteten Position verbleiben muss. 
                  ExcessChargeMaxPower: 2600,                         //Maximale Ladeleistung des Speichers in Watt
                  ExcessChargeOffsetPower: 0,                         //Wird der Leistungsanforderung hinzugerechnet um Messabweichungen auszugleichen. 
                  ExcessChargeStartPower: 10,                         //Mindest-Überschussleistung zum Einschalten des Speichers
                  ExcessChargeStopPower: 0,                           //Überschussleistung bei der der Speicher abgeschaltet werden soll.
                  ExcessChargeStartPowerDurationMin: 0,               //Mindestdauer in Minuten, die ExcessChargeStartPower nicht unterschritten werden darf, bevor der Speicher eingeschaltet wird.
                  ExcessChargeMinRegulatePause: 1,                    //Mindestpause in Minuten zwischen einzelnen Regelbefehlen (EEPROM-Schutz)
                  ExcessChargeRegulateSteps: 1,                      //Stufen in Watt, in denen die Werte geändert werden sollen 
                  ExcessChargeBatSocMax: 95,                          // Batterieladestand muss <= sein damit die Überschussladung gestartet wird
                  ExcessChargeBatSocOff: 100,                         // Batterieladestand bei dem die Überschussladung abgeschaltet wird
                  //----------------------------------------
              
                
              
                  //----------------------------------------
                  // Beispiel für Nutzung einer Schlaltersteckdose:
                  //----------------------------------------
                                                                      //ID mit dem Messwert der aktuellen Leistungsaufnahme des Speichers in Watt:
                  ExcessActualPowerID: "sonoff.0.mqtt.bridge-01.SPM_ActivePower_1",
                                                                      //ID des Schalters, der den Speicher aktiviert: 
                  ExcessChargeSwitchID: "mqtt.1.cmnd.Stromschneine.Power2", 
                  ExcessChargeSwitchOn: "ON",                         //Wert, der zum Aktivieren des Schalters gesetzt werden muss (1/0, true/false, "ON"/"OFF"...)
                  ExcessChargeSwitchOff: "OFF",                       //Wert, der zum Deaktivieren des Schalters gesetzt werden muss (1/0, true/false, "ON"/"OFF"...)
                  //----------------------------------------
              
              
              
                  ExcessCharge: true,                                //Überschussladung AN/AUS (true/false)
                                                                      //ID zum Einstellen der Ladeleistung des Speichers in Watt: 
                  ExcessChargePowerID: "ecoflow-mqtt.0.DCEBF8ZFAxxxx.inv.cfgSlowChgWatts",
                                                                      //ID des aktuellen Ladestandes des Speichers in %: 
                  ExcessChargePowerBatSocID: "0_userdata.0.ecoflow.app_device_property_DCEBF8ZFAxxxx.data.params.bmsMaster.soc",
                  ExcessChargeSwitchMin: 2,                           //Zeit in Minuten die der Schalter mindestens in der letzten geschalteten Position verbleiben muss. 
                  ExcessChargeMaxPower: 2000,                         //Maximale Ladeleistung des Speichers in Watt
                  ExcessChargeOffsetPower: 0,                         //Wird der Leistungsanforderung hinzugerechnet um Messabweichungen auszugleichen. 
                  ExcessChargeStartPower: 1,                         //Mindest-Überschussleistung zum Einschalten des Speichers
                  ExcessChargeStopPower: 0,                           //Überschussleistung bei der der Speicher abgeschaltet werden soll.
                  ExcessChargeStartPowerDurationMin: 0,               //Mindestdauer in Minuten, die ExcessChargeStartPower nicht unterschritten werden darf, bevor der Speicher eingeschaltet wird.
                  ExcessChargeMinRegulatePause: 1,                    //Mindestpause in Minuten zwischen einzelnen Regelbefehlen (EEPROM-Schutz)
                  ExcessChargeRegulateSteps: 1,                      //Stufen in Watt, in denen die Werte geändert werden sollen 
                  ExcessChargeBatSocMax: 95,                          // Batterieladestand muss <= sein damit die Überschussladung gestartet wird
                  ExcessChargeBatSocOff: 100,                         // Batterieladestand bei dem die Überschussladung abgeschaltet wird
                  //----------------------------------------
              
              
              
              
                  //----------------------------------------
                  // Beispiel für Nutzung einer Schlaltersteckdose:
                  //----------------------------------------
                                                                      //ID mit dem Messwert der aktuellen Leistungsaufnahme des Speichers in Watt:
                  ExcessActualPowerID: "sonoff.0.mqtt.bridge-01.SPM_ActivePower_0",
                                                                      //ID des Schalters, der den Speicher aktiviert: 
                  ExcessChargeSwitchID: "mqtt.1.cmnd.Stromschneine.Power1", 
                  ExcessChargeSwitchOn: "ON",                        //Wert, der zum Aktivieren des Schalters gesetzt werden muss (1/0, true/false, "ON"/"OFF"...)
                  ExcessChargeSwitchOff: "OFF",                      //Wert, der zum Deaktivieren des Schalters gesetzt werden muss (1/0, true/false, "ON"/"OFF"...)
                  //----------------------------------------
                  //
              
              
              
                  //****************************************
                  Debug: false, mlog: false,
                  PlotCmdID: 99999,
              }
              //***************************************/
              //***************************************/
              
              //  EXTERNE STATES zum Manipulieren von Konfigurationsvariablen 
              var externConfig = [
                  //############# Diesen Abschnitt für jeden einzelne Wert anlegen ################
                  //Beispielwerte:
                  {
                      VarName: "seriennummern[0].lowBatLimitPozOn",       //Variabelname aus "ConfigData" bei Aufzählungen [0...X] in der Reihenfolge der Angaben 
                      id: "0_userdata.0.ecoflow.ExStateTest",             //Das Objekt (State) das den Wert für diese Variable enthalten soll. Muss manuell angelegt werden. 
                      create: false,                                      //true: das Object wird unterhalb von "statesPrefix" angelegt. false: Es muss existieren oder manuell angelegt werden
                  },
                  {
                      VarName: "mlog",                                    //Variabelname aus "ConfigData" bei Aufzählungen [0...X] in der Reihenfolge der Angaben 
                      id: "mlog",                                         //Das Objekt (State) das den Wert für diese Variable enthalten soll.  
                      create: true,                                       //true: das Object wird unterhalb von "statesPrefix" angelegt. false: Es muss existieren oder manuell angelegt werden
                  },
                  //#######################################################################
              ];
              
              
              1 Reply Last reply Reply Quote 0
              • K
                ksbweb last edited by

                Mein Beitrag hat zunächst nur indirekt mit dem Skript zu tun.
                Mir geht es darum, möglichst ein Feedback von euch zu bekommen, ob es euch gelingt, mit oder ohne Skript stabil 800 Watt in das Hausnetz einspeisen zu können.
                Ich habe eine Delta Pro in Kombination mit dem PS, der 800 Watt leisten kann. Leider speist der PS nur dann 800 Watt bzw. mehr als 600 Watt ein, wenn er nicht mit dem mit der Delta verbunden ist.
                Die Kommunikation mit dem Support von Ecoflow ist sehr zäh und noch nicht wirklich zielführend.
                Ist Delta Pro mit dem PS verbunden, werden nur ganz selten und dann nur kurzzeitig mehr als 600 Watt eingespeist.
                In meiner Konfiguration hat die Einspeisung in das Hausnetz Vorrang vor der Batterieladung.
                In der Anlage ist ein Chart eines typischen Tagesverlaufs und zeigt, wie die Ecoflow Firmware ohne äußeren Eingriff regelt. Die Daten wurden vom Adapter ioBroker.ecoflow-mqtt erfasst. PV Output Power bezieht sich auf den Solareingang der Delta, PV1 und PV2 auf die des PS. Man sieht, dass selbst bei einem Ladestand zwischen ca. 66% und 99% maximal 600 Watt ausgegeben werden bzw. zyklisch sogar nur 500 Watt.
                Hat jemand ähnliche Erfahrungen gesammelt und z.B. beobachtet, dass, wenn das Script eine Einspeisung von mehr als 600 Watt einstellt, der PS zwar den Wert übernimmt aber weniger Power einspeist?IMG-20240620-WA0005.jpg

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

                  @ksbweb https://www.offgridtec.com/media/product_attachements/EcoFlow_PowerStream_Datenblatt.pdf
                  Der Powerstream hat am DC Eingang / Ausgang , also da wo deine Delta dran hängt, maximal 600 W Leistung.... auch die 800W version.
                  Lediglich auf der PV Seite hast du zweimal 400 W also 800 W und auf der AC Seite ebenfalls 800 W.
                  D.h. wenn du die Batterie lädst, gehen maximal 600 W in die Batterie und wenn du keine Sonne hast und nur aus der Batterie einspeist, dann sind es auch nur 600W

                  Eingespeist werden können nur dann 800 W, wenn entweder zweimal 400 W über die PV Module anliegen, oder mindestens 200 W PV power und 600 W aus der Batterie kommen.
                  Alles klar??

                  1 Reply Last reply Reply Quote 0
                  • K
                    ksbweb last edited by

                    @waly_de Alles klar, danke für deine Antwort.
                    Die Situation ist aber oft gegeben, dass viel Power an den Modulen des PS anliegt und auch die Batterie genug beisteuern kann, z.B. hier:
                    Screenshot_20240628-191013.png
                    Auch im Chart oben sieht man, dass pv1 + pv2 an den PS-Eingängen zu vielen Zeitpunkten deutlich über 600 Watt liegt bei gleichzeitig hohem Batterieladestand.
                    Nur in Ausnahmefällen kann das aber der PowerStream, jedoch dann nur für wenige Minuten. Hier ist ein Screenshot dafür.Screenshot_20240628-192259.png

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

                      @waly_de Hier eine erste Rückmeldung zum neuen Skript.
                      Weil ich eine große Differenz beim Ladezustand der Akkus hatte, dachte ich mir dieses Skript gleich zu verwenden. Es sieht bis jetzt so aus, als ob es super funktioniert. Hatte es heute Morgen aktiviert.
                      Da ich D2M habe, habe ich die Batteriekapazität auf 2.05 eingestellt, obwohl es so aussieht, als ob nur eine Nachkommastelle eingetragen werde soll. Wie gesagt scheint es zu funktionieren. Werde es weiter beobachten…
                      Vielen Dank an Florian!
                      Eine Beschreibung der Funktionsweise wäre schön.

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

                        @ksbweb Alt Klassiker, lies mal in einem Forum von Ecoflow direkt. Ohne aktive Kühlung geht der Powerstream nach wenige Minuten in die Knie..

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

                          Hi Zusammen
                          Bei mir kommt ein zweiter PS & DM hinzu und das neue Skript dann von @gooflo.
                          Wie weiss das Skript an welchem PS welcher Akku angeschlossen ist?
                          Reicht das battCapacity? Meine Konfig wäre dann so, stimmt das?:

                          {
                                      seriennummer: "XXXXXXXXXXXXXXXX",              // Die Seriennummer des Gerätes
                                      name: "PowerStream Gartenhaus",                        // 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/Delta Pro: "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.
                                      battCapacity: 7.6,                          // Kapazität der angeschlossenen Batterie in kWh, default = 1 // FV
                                      battPozOn: 95, battPozOff: 94,             // 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: 30,                        // 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
                                  },
                                  {
                                      seriennummer: "XXXXXXXXXXXXXX",              // Die Seriennummer des Gerätes
                                      name: "PowerStream Anbau",                        // 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/Delta Pro: "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.
                                      battCapacity: 1.6,                          // Kapazität der angeschlossenen Batterie in kWh, default = 1 // FV
                                      battPozOn: 95, battPozOff: 94,             // 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: 30,                        // 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
                                  },
                                  //#######################################################################
                                  {
                                      seriennummer: "XXXXXXXXXXXXXX",
                                      name: "DELTA pro",
                                      typ: "D2M",
                                      subscribe: true,                            // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt
                                  },
                                  //#######################################################################
                                  {
                                      seriennummer: "XXXXXXXXXXXX",
                                      name: "DELTA max",
                                      typ: "DM",
                                      subscribe: true,                            // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt
                                  },
                                  //#######################################################################
                          G 1 Reply Last reply Reply Quote 0
                          • A
                            Audiofreak last edited by

                            Sorry aber ich komme mit der nächsten Frage:
                            Kann ich begrenzen wieviel ins Netz eingespeist wird? 2PS ist "nicht erwünscht" in der Schweiz und wenn beide Akku voll sind will ich einspeisen, der Strom wird mir abgekauft. Ich kann aber "schlecht" 1kW einspeisen, das fällt auf. Eine Begrenzung aus dem Shelly abgelesen zB -450Watt wäre toll.

                            1 Reply Last reply Reply Quote 0
                            • G
                              gooflo @Blackysoft last edited by

                              @blackysoft Ich habe noch nicht verstanden, ob Du zwei PowerStreams, jeweils mit Batterie, aber unterschiedliche Kapazität hast? Dein Text liest sich so als hättest Du nur einen ...

                              Die Funktionsweise für zwei Powerstreams mit unterschiedlicher Batteriekapazität, also z.B. PS1 mit 2kWh und PS2 mit 4 kWh ist so, dass nicht nur der aktuelle Ladestand berücksichtigt wird, sondern auch die Kapazität, um die Watt zu verteilen auf PS1 und PS2. Beispiel:

                              PS1 mit 4 kWh hat 80%, PS2 mit 2kWh hat 40%. Das Originalskript weist PS1 die doppelte Wattmenge zu, weil doppelter Ladestand. Mit meiner Variante bekommt PS1 die vierfache Wattmenge zugewiesen, weil ja nicht nur doppelt so viel Ladung sondern auch noch doppelte Kapazität.

                              Ich hoffe das hilft beim Verständnis.

                              B 1 Reply Last reply Reply Quote 0
                              • G
                                gooflo @Audiofreak last edited by

                                @audiofreak man muss die Kapazitäten von Hand dem richtigen PowerStream zuordnen, d.h. bei Dir sollte die Batterie Deines Gartenhaus PowerStream 7.6 kWh haben, die Deines Anbaus 1.6, dann passt's und das Skript sollte entsprechend regeln.

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

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

                                  @audiofreak man muss die Kapazitäten von Hand dem richtigen PowerStream zuordnen, d.h. bei Dir sollte die Batterie Deines Gartenhaus PowerStream 7.6 kWh haben, die Deines Anbaus 1.6, dann passt's und das Skript sollte entsprechend regeln.

                                  Cool, Danke für die Bestätigung, freue mich auf morgen. Ab dann muss ich meine Sucht in den Griff kriegen 😉

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

                                    @audiofreak, danke für den Tipp!
                                    Das Hitzeproblem ist offenbar wirklich die Ursache für das Abregeln. Ich werde mir dann wohl den Ecoflow-Lüfter besorgen.

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

                                      @ksbweb Muss nicht zwingend das originale sein, meiner steht vertikal 24/7 von einem alten PC Lüfter 12V/0.2A gekühlt.
                                      Der Wechselrichter wird nur noch Handwarm.

                                      K 1 Reply Last reply Reply Quote 0
                                      • B
                                        Blackysoft @gooflo last edited by Blackysoft

                                        @gooflo Ich habe vier PS mit je einem Akku gleicher Kapazität. Man sieht schön, dass wenn ein Akku schon leer ist, dass die anderen den Leistungsbedarf übernehmen. Beim Entladen, ohne Solarenergie (Nachts), läuft alles wie gewünscht.

                                        Ich habe nur ein Problem mit PS1 beim Laden. Im Skript sind alle PS gleich konfiguriert, aber der PS1 Akku bekommt nur wenig Energie zugewiesen, weshalb der Ladezustand im Vergleich zu den anderen Akkus sehr weit auseinander läuft. Der Grundbedarf wird sehr viel höher als bei den anderen PS eingestellt. Das ist genau die Menge, die zu viel in‘s Netz geschoben wird. Alle PS sind im Stromversorgungsmodus. Abhilfe im Moment ist, dass ich PS 1 im BattPrio Modus schalte, dann ist alles in Ordnung. Ich habe den Fehler noch nicht gefunden, habe aber derzeit nicht genügend Zeit dafür.
                                        Ich hoffe das verständlich erklärt zu haben.

                                        Natürlich Danke ich auch dem Urvater @Waly_de für das tolle Skript!

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

                                          Bei mir läuft es irgendwie noch nicht so rund.
                                          Ha das Skript vo @gooflo 1:1 unverändert am laufen mit 2PS 1x mit 7.6kWh (Nr.1) & 1x mit 1.6kWh (Nr.2).
                                          Hauptaufgabe für die zweite PS ist damit ich 1200W Leistung einspeisen kann.

                                          Folgende Situationen hab ich festgestellt:

                                          • Nr.2 ist der Akku bei 95%, es wird trotzdem "stark" geladen obwohl bei Nr.1 der Akku erst bei 50%.
                                            Nr.2 hätte die Nulleinspeisung fast alleine tragen können damit Nr.1 schneller hätte laden können.

                                          • In der Nacht wurde aus beide PS fast identisch eingespeist, Akku Nr.2 entsprechend erheblich schneller leer.
                                            Ab dann wurde zu wenig eingespeist aus Nr.1 & ich hatte die Nacht durch ein Netzbezug von etwa 160 Watt.
                                            Entsprechend ist der Akku alles andere als leer. So hab ich gespeicherte Gratisenergie welches nicht verwendet wird & ich Strom kaufe.

                                          • Heute früh greift bei Nr.2 natürlich lowBatLimitPozOn, das Skript teilt die Einspeisung wieder auf beide PS auf.
                                            Nr. 2 gibt nichts ins Netz, Nr. 1 könnte die geforderte Leistung problemlos abdecken. Wieder kaufe ich Strom wo vom System angefordert werden könnte.

                                          PS & Akku werden erkannt & gereglt, nur noch nicht ganz richtig, vielleicht sieht jemand ein Fehler?

                                          //############# Diesen Abschnitt für jedes einzelne Gerät anlegen ################
                                                  {
                                                      seriennummer: "XXXXXXXXXX",              // Die Seriennummer des Gerätes
                                                      name: "PowerStream Gartenhaus",                        // 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/Delta Pro: "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.
                                                      battCapacity: 7.6,                          // Kapazität der angeschlossenen Batterie in kWh, default = 1 // FV
                                                      battPozOn: 95, battPozOff: 94,             // 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: 30,                        // 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
                                                  },
                                                  {
                                                      seriennummer: "XXXXXXXXXXX",              // Die Seriennummer des Gerätes
                                                      name: "PowerStream Anbau",                        // 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/Delta Pro: "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.
                                                      battCapacity: 1.6,                          // Kapazität der angeschlossenen Batterie in kWh, default = 1 // FV
                                                      battPozOn: 99, battPozOff: 97,             // 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: 30,                        // Wattwert des Bedarfs, bei dem zurück in den Strom-Priomodus geschaltet wird. 0 für kein Rückschalten.   
                                                      lowBatLimitPozOn: 5, lowBatLimitPozOff: 10, // Bei Unterschreiten der Batterieladung von "lowBatLimitPozOn" % ist die maximale Einspeiseleistung auf 
                                                      lowBatLimit: 150,                           // "lowBatLimit" limitiert, bis der Ladezustand wieder bei "lowBatLimitPozOff" ist
                                                  },
                                                  //#######################################################################
                                                  {
                                                      seriennummer: "XXXXXXXXXXX",
                                                      name: "DELTA pro",
                                                      typ: "D2M",
                                                      subscribe: true,                            // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt
                                                  },
                                                  //#######################################################################
                                                  {
                                                      seriennummer: "XXXXXXXXXXX",
                                                      name: "DELTA max",
                                                      typ: "DM",
                                                      subscribe: true,                            // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt
                                                  },
                                          
                                          G 1 Reply Last reply Reply Quote 0
                                          • G
                                            gooflo @Blackysoft last edited by

                                            @blackysoft ja, alle Regelungen bezüglich unterschiedliche Energie (im balance Mode) beziehen sich auf die Entladung. Das könnte man sich natürlich auch für das Laden überlegen. Da müssten man sich erst mal überlegen, welches Verhalten man genau haben möchte, könnte ja z.B. dazu führen, dass beim volleren Akku der PS auf MAX geht (und den volleren Akku leert) zugunsten des PS2, der dann die komplette Energie in den Akku schieben kann ... leider kenne ich mich noch nicht gut genug aus, um das "einfach so" einzubauen, ist mir aber auch schon aufgefallen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            921
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            126
                                            1639
                                            608870
                                            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