Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. ecoflow-connector-Script zur dynamischen Leistungsanpassung

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

ecoflow-connector-Script zur dynamischen Leistungsanpassung

Geplant Angeheftet Gesperrt Verschoben JavaScript
1.6k Beiträge 127 Kommentatoren 746.6k Aufrufe 127 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • A Offline
    A Offline
    Accu
    schrieb am zuletzt editiert von
    #1310

    ich meine hier mal was gelesen zu haben, dass jmd die EF outdoor Batterie mit dem PS betreibt. Kann hier jemand mal paar Erfarhungsberichte posten zum Gerät und vorallem in Verbindung mit dem Skript. Erkennt das Skript die neue EF 2KWH Outdoorbatterie? wie läuft das dann wenn man schon eine delta mit PS im einsatz hat. Kann das skript beide PS steuern vorallem dann auch beim Einspeisen?

    M 1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      Milchbeck
      schrieb am zuletzt editiert von
      #1311

      Wenn ich im einspeise Script den wer von 1 auf 0.5 stelle wäre das dann alle 30 Sekunden
      MinValueMin 0.5

      1 Antwort Letzte Antwort
      0
      • A Accu

        ich meine hier mal was gelesen zu haben, dass jmd die EF outdoor Batterie mit dem PS betreibt. Kann hier jemand mal paar Erfarhungsberichte posten zum Gerät und vorallem in Verbindung mit dem Skript. Erkennt das Skript die neue EF 2KWH Outdoorbatterie? wie läuft das dann wenn man schon eine delta mit PS im einsatz hat. Kann das skript beide PS steuern vorallem dann auch beim Einspeisen?

        M Offline
        M Offline
        Mario1995
        schrieb am zuletzt editiert von
        #1312

        @accu Ich habe die Outdoor Batterie (2 Kwh). Das Skript funktioniert damit. Allerdings werden die Ganzen Werte (Akkustand etc.) direkt vom PowerStream geliefert. Zu deiner anderen Frage mit der Delta kann ich dir keine Auskunft geben.

        A 1 Antwort Letzte Antwort
        0
        • M MikeRow

          @maik-becker Ich kann das bei meiner Delta Pro auch feststellen. Konntest du das Problem lösen?

          Maik BeckerM Offline
          Maik BeckerM Offline
          Maik Becker
          schrieb am zuletzt editiert von
          #1313

          @MikeRow ja ich habe die werte noch einmal wo anderes her geholt.

          1 Antwort Letzte Antwort
          0
          • Maik BeckerM Offline
            Maik BeckerM Offline
            Maik Becker
            schrieb am zuletzt editiert von
            #1314

            Hallo,

            ich habe jetzt eine Delta Pro und eine Delta Max mit je einem Powerstream und einer Sellysteckdose zum einschalten der AC Ladung, wie kann ich die Überschussladung für beide Geräte einstellen?

            1 Antwort Letzte Antwort
            0
            • M Mario1995

              @accu Ich habe die Outdoor Batterie (2 Kwh). Das Skript funktioniert damit. Allerdings werden die Ganzen Werte (Akkustand etc.) direkt vom PowerStream geliefert. Zu deiner anderen Frage mit der Delta kann ich dir keine Auskunft geben.

              A Offline
              A Offline
              Accu
              schrieb am zuletzt editiert von
              #1315

              @mario1995 scheint leider ausverkauft zu sein :(

              1 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                MikeRow
                schrieb am zuletzt editiert von
                #1316

                Hallo, irgendwie bekomme ich das Script nicht zum laufen. Die an AC angeschlossene Fritz Dect wird nicht geschaltet!

                Ich habe eine existierende PV Anlage und habe den WR unter Additional Power angelegt. Als Smartmeter ist der Tibber Pulse angegeben. Am AC Eingang der Delta Pro ist eine Fritz Dect angeschlossen. Ich habe das Script nun schon mehrfach geprüft und die Videos kann ich fast auswendig. Egal was ich einstelle, die Fritz Dect wird nicht geschaltet. Hat jemand eine Idee für mich? @Waly_de kannst du dir mal vielleicht die angehängte Config ansehen. Ich bin sonst mit meinem Latein am Ende :-(

                Screenshot 2024-06-18 130625.png

                email: "XXXXXX@outlook.de",                             // Die App-Zugangsdaten von ecoFlow
                passwort: "XXXXXX",
                SmartmeterID: "tibberlink.0.Homes.XXXXXX.LiveMeasurement.power",     // State, der den aktuellen Gesamtverbrauch in Watt anzeigt
                seriennummern: [
                    //############# Diesen Abschnitt für jedes einzelne Gerät anlegen ################
                    {
                        seriennummer: "XXXXXXXXXXXXX",              // 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/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.
                        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: 5, lowBatLimitPozOff: 15, // Bei Unterschreiten der Batterieladung von "lowBatLimitPozOn" % ist die maximale Einspeiseleistung auf 
                        lowBatLimit: 250,                           // "lowBatLimit" limitiert, bis der Ladezustand wieder bei "lowBatLimitPozOff" ist
                    },
                    //#######################################################################
                    {
                        seriennummer: "XXXXXXX",
                        name: "DELTA PRO",
                        typ: "D2M",
                        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: "STP8",                       // Beliebiger Name
                        id: "modbus.0.inputRegisters.30775_PV_Leistung_Gesamt_Aktuell",      // 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: 150,                       // 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: false,                               // 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: 2,                                     // 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:
                //****************************************
                ExcessCharge: true,                                //Überschussladung AN/AUS (true/false)
                                                                    //ID zum Einstellen der Ladeleistung des Speichers in Watt: 
                ExcessChargePowerID: "0_userdata.0.ecoflow.app_XXXXXXXXXXX_thing_property_set.writeables.slowChgPower",
                                                                    //ID des aktuellen Ladestandes des Speichers in %: 
                ExcessChargePowerBatSocID: "0_userdata.0.ecoflow.app_device_property_XXXXXXXXXXX.data.params.bmsMaster.soc",
                ExcessChargeSwitchMin: 5,                           //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: 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.
                ExcessChargeMinRegulatePause: 1,                    //Mindestpause in Minuten zwischen einzelnen Regelbefehlen (EEPROM-Schutz)
                ExcessChargeRegulateSteps: 100,                     //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 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: "fritzdect.0.DECT_116570551682.power",
                                                                    //ID des Schalters, der den Speicher aktiviert: 
                ExcessChargeSwitchID: "fritzdect.0.DECT_116570551682.state", 
                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, mlog: true,
                PlotCmdID: 99999,
                

                U 1 Antwort Letzte Antwort
                0
                • D DerSmily

                  Ich versuche gerade das Skript mal wieder zum Laufen zu bringen:

                  Wie bekomme ich diesen Fehler weg?
                  javascript.0 11:31:21.934 info script.js.Ecoflow.DL: Fehler beim Abrufen des niedrigsten Werts: timeout
                  javascript.0 11:31:36.912 info script.js.Ecoflow.DL: getLowestValue-error: timeout

                  Zur Info vielleicht: Ich habe eine PS und nur einen Zusatzakku Delta

                  Thomas BucherT Offline
                  Thomas BucherT Offline
                  Thomas Bucher
                  schrieb am zuletzt editiert von
                  #1317

                  @dersmily schau mal ob der History Adapter läuft

                  Maik BeckerM 1 Antwort Letzte Antwort
                  0
                  • Thomas BucherT Thomas Bucher

                    @dersmily schau mal ob der History Adapter läuft

                    Maik BeckerM Offline
                    Maik BeckerM Offline
                    Maik Becker
                    schrieb am zuletzt editiert von
                    #1318

                    @Waly_de kann man das Skript prüfen lassen ob der Powerstream Strom einspeist.

                    Ich habe zur Zeit eine Delta Pro und Max mit je einem Powerstream, aber zur Zeit ist es wieder mal ab und zu, dass er die Batterie ladet und aber auch über den Powerstream 300 Watt einspeist

                    1 Antwort Letzte Antwort
                    0
                    • M MikeRow

                      Hallo, irgendwie bekomme ich das Script nicht zum laufen. Die an AC angeschlossene Fritz Dect wird nicht geschaltet!

                      Ich habe eine existierende PV Anlage und habe den WR unter Additional Power angelegt. Als Smartmeter ist der Tibber Pulse angegeben. Am AC Eingang der Delta Pro ist eine Fritz Dect angeschlossen. Ich habe das Script nun schon mehrfach geprüft und die Videos kann ich fast auswendig. Egal was ich einstelle, die Fritz Dect wird nicht geschaltet. Hat jemand eine Idee für mich? @Waly_de kannst du dir mal vielleicht die angehängte Config ansehen. Ich bin sonst mit meinem Latein am Ende :-(

                      Screenshot 2024-06-18 130625.png

                      email: "XXXXXX@outlook.de",                             // Die App-Zugangsdaten von ecoFlow
                      passwort: "XXXXXX",
                      SmartmeterID: "tibberlink.0.Homes.XXXXXX.LiveMeasurement.power",     // State, der den aktuellen Gesamtverbrauch in Watt anzeigt
                      seriennummern: [
                          //############# Diesen Abschnitt für jedes einzelne Gerät anlegen ################
                          {
                              seriennummer: "XXXXXXXXXXXXX",              // 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/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.
                              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: 5, lowBatLimitPozOff: 15, // Bei Unterschreiten der Batterieladung von "lowBatLimitPozOn" % ist die maximale Einspeiseleistung auf 
                              lowBatLimit: 250,                           // "lowBatLimit" limitiert, bis der Ladezustand wieder bei "lowBatLimitPozOff" ist
                          },
                          //#######################################################################
                          {
                              seriennummer: "XXXXXXX",
                              name: "DELTA PRO",
                              typ: "D2M",
                              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: "STP8",                       // Beliebiger Name
                              id: "modbus.0.inputRegisters.30775_PV_Leistung_Gesamt_Aktuell",      // 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: 150,                       // 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: false,                               // 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: 2,                                     // 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:
                      //****************************************
                      ExcessCharge: true,                                //Überschussladung AN/AUS (true/false)
                                                                          //ID zum Einstellen der Ladeleistung des Speichers in Watt: 
                      ExcessChargePowerID: "0_userdata.0.ecoflow.app_XXXXXXXXXXX_thing_property_set.writeables.slowChgPower",
                                                                          //ID des aktuellen Ladestandes des Speichers in %: 
                      ExcessChargePowerBatSocID: "0_userdata.0.ecoflow.app_device_property_XXXXXXXXXXX.data.params.bmsMaster.soc",
                      ExcessChargeSwitchMin: 5,                           //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: 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.
                      ExcessChargeMinRegulatePause: 1,                    //Mindestpause in Minuten zwischen einzelnen Regelbefehlen (EEPROM-Schutz)
                      ExcessChargeRegulateSteps: 100,                     //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 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: "fritzdect.0.DECT_116570551682.power",
                                                                          //ID des Schalters, der den Speicher aktiviert: 
                      ExcessChargeSwitchID: "fritzdect.0.DECT_116570551682.state", 
                      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, mlog: true,
                      PlotCmdID: 99999,
                      

                      U Offline
                      U Offline
                      ub35bo
                      schrieb am zuletzt editiert von
                      #1319

                      @mikerow
                      Hallo, so wie du es beschreibst, willst du die Delta Pro zeitgesteuert über einem FritzDect-Schalter laden. Damit ist die Steuerung der FritzDect zunächst unabhängig vom Leistungsanpassungsscript, sie kann maximal von dort aufgerufen werden.
                      Ich habe daher zunächst iobroker alle meine FritzDect-Schalter ermitteln lassen, dann den entsprechenden Schalter ausgewählt und schreibe dann in "fritzdect.0.DECT_123456789012.state" (bitte an deine Steckdose anpassen) den Wert "0" für aus bzw. "1" für an.

                      1 Antwort Letzte Antwort
                      0
                      • G Offline
                        G Offline
                        gooflo
                        schrieb am zuletzt editiert von
                        #1320

                        @Waly_de das Skript ist einfach toll!! Heute habe ich für einen Anwendungsfall bei zwei Powerstream mit Batterien zusätzlich zum Füllstand noch die Batteriekapazität bei der Watt-Verteilung mit einbezogen, damit wenn ein PS ne 4 kWh Batterie dran hat und der andere eine 2kWh tatsächlich beide gleich schnell entladen werden. Sowas macht einfach Spaß :-)

                        Falls jemand Interesse hat oder Du @Waly_de die Option einbauen willst (schöner wäre natürlich die Kapazität auszulesen, aber das geht leider nicht so einfach soweit ich das Beurteilen kann):

                        Bei der Konfiguration pro PS einfügen

                                    battCapacity: 4.096, // Kapazität der angeschlossenen Batterie
                        

                        Bei der Berechnung von psBatSumme:

                         let psCounter = 0, psBatSumme = 0
                         let psBatSummekWh = 0 // new
                         for (var i = 0; i < ConfigData.seriennummern.length; i++) {
                             const asn = ConfigData.seriennummern[i].seriennummer
                             if (ConfigData.seriennummern[i].typ == "PS" && ConfigData.seriennummern[i].seriennummer != "XXXXXXXXXXXXX" && GlobalObj[asn].regulieren) {
                                 psCounter = psCounter + 1
                                 psBatSumme = psBatSumme + GlobalObj[asn].batstate
                                 psBatSummekWh = psBatSummekWh + GlobalObj[asn].batstate / 100 * ConfigData.seriennummern[i].battCapacity // new
                                 //gapSumme = gapSumme + GlobalObj[asn].GAPdurchschnitt
                             }
                         }
                        

                        Bei der Berechnung von Batfaktor:

                        let Batfaktor = 1
                        let BatfaktorkWh = 1 // new
                        if (psBatSumme != 0) {
                          Batfaktor = (BatBedarf / psBatSumme)
                          BatfaktorkWh = (BatBedarf / psBatSummekWh) // new
                        }
                        

                        Und abschließend die Verwendung im Balance Mode:

                        // Setpower = Setpower + (GlobalObj[asn].batstate * Batfaktor)
                        // mlog("PS:" + GlobalObj[asn].PsName + " Setpower =  " + Math.floor(Setpower) + " batstate = " + GlobalObj[asn].batstate + " Batfaktor = " + Batfaktor )
                        Setpower = Setpower + (GlobalObj[asn].batstate/100 * ConfigData.seriennummern[i].battCapacity * BatfaktorkWh) // new
                        mlog("PS:" + GlobalObj[asn].PsName + " Setpower =  " + Math.floor(Setpower) + " batstate = " + GlobalObj[asn].batstate + " BatfaktorkWH = " + BatfaktorkWh ) // new
                        
                          
                        
                        Maik BeckerM W 2 Antworten Letzte Antwort
                        0
                        • G gooflo

                          @Waly_de das Skript ist einfach toll!! Heute habe ich für einen Anwendungsfall bei zwei Powerstream mit Batterien zusätzlich zum Füllstand noch die Batteriekapazität bei der Watt-Verteilung mit einbezogen, damit wenn ein PS ne 4 kWh Batterie dran hat und der andere eine 2kWh tatsächlich beide gleich schnell entladen werden. Sowas macht einfach Spaß :-)

                          Falls jemand Interesse hat oder Du @Waly_de die Option einbauen willst (schöner wäre natürlich die Kapazität auszulesen, aber das geht leider nicht so einfach soweit ich das Beurteilen kann):

                          Bei der Konfiguration pro PS einfügen

                                      battCapacity: 4.096, // Kapazität der angeschlossenen Batterie
                          

                          Bei der Berechnung von psBatSumme:

                           let psCounter = 0, psBatSumme = 0
                           let psBatSummekWh = 0 // new
                           for (var i = 0; i < ConfigData.seriennummern.length; i++) {
                               const asn = ConfigData.seriennummern[i].seriennummer
                               if (ConfigData.seriennummern[i].typ == "PS" && ConfigData.seriennummern[i].seriennummer != "XXXXXXXXXXXXX" && GlobalObj[asn].regulieren) {
                                   psCounter = psCounter + 1
                                   psBatSumme = psBatSumme + GlobalObj[asn].batstate
                                   psBatSummekWh = psBatSummekWh + GlobalObj[asn].batstate / 100 * ConfigData.seriennummern[i].battCapacity // new
                                   //gapSumme = gapSumme + GlobalObj[asn].GAPdurchschnitt
                               }
                           }
                          

                          Bei der Berechnung von Batfaktor:

                          let Batfaktor = 1
                          let BatfaktorkWh = 1 // new
                          if (psBatSumme != 0) {
                            Batfaktor = (BatBedarf / psBatSumme)
                            BatfaktorkWh = (BatBedarf / psBatSummekWh) // new
                          }
                          

                          Und abschließend die Verwendung im Balance Mode:

                          // Setpower = Setpower + (GlobalObj[asn].batstate * Batfaktor)
                          // mlog("PS:" + GlobalObj[asn].PsName + " Setpower =  " + Math.floor(Setpower) + " batstate = " + GlobalObj[asn].batstate + " Batfaktor = " + Batfaktor )
                          Setpower = Setpower + (GlobalObj[asn].batstate/100 * ConfigData.seriennummern[i].battCapacity * BatfaktorkWh) // new
                          mlog("PS:" + GlobalObj[asn].PsName + " Setpower =  " + Math.floor(Setpower) + " batstate = " + GlobalObj[asn].batstate + " BatfaktorkWH = " + BatfaktorkWh ) // new
                          
                            
                          
                          Maik BeckerM Offline
                          Maik BeckerM Offline
                          Maik Becker
                          schrieb am zuletzt editiert von
                          #1321

                          @gooflo Hallo, ich hätte Interesse und da ich zwei Powerstreams mit einer Batterie habe

                          1x Powerstream mit Delta Pro
                          1x Powerstream mit Delta Max

                          Kannst du mir beim Einbau helfen.

                          G 1 Antwort Letzte Antwort
                          0
                          • Maik BeckerM Maik Becker

                            @gooflo Hallo, ich hätte Interesse und da ich zwei Powerstreams mit einer Batterie habe

                            1x Powerstream mit Delta Pro
                            1x Powerstream mit Delta Max

                            Kannst du mir beim Einbau helfen.

                            G Offline
                            G Offline
                            gooflo
                            schrieb am zuletzt editiert von gooflo
                            #1322

                            @maik-becker klar, gerne. Du musst eigentlich nur die Code-Schnipsel an die richtige Stelle im Code kopieren und den alten Code damit ersetzen. "battCapacity" natürlich pro PS einmal in die Config aufnehmen bei den ganzen anderen Parametern und die Werte für Deine Speichergröße anpassen (Größe in kWh).

                            Und zur Sicherheit natürlich vorher mal ein Backup des gerade bei Dir laufenden Skripts machen :-)

                            Maik BeckerM 1 Antwort Letzte Antwort
                            0
                            • G gooflo

                              @maik-becker klar, gerne. Du musst eigentlich nur die Code-Schnipsel an die richtige Stelle im Code kopieren und den alten Code damit ersetzen. "battCapacity" natürlich pro PS einmal in die Config aufnehmen bei den ganzen anderen Parametern und die Werte für Deine Speichergröße anpassen (Größe in kWh).

                              Und zur Sicherheit natürlich vorher mal ein Backup des gerade bei Dir laufenden Skripts machen :-)

                              Maik BeckerM Offline
                              Maik BeckerM Offline
                              Maik Becker
                              schrieb am zuletzt editiert von
                              #1323

                              @gooflo danke, werde ich probieren, kannst du das auch für das laden einstellen, ich lade nur über AC.

                              G 1 Antwort Letzte Antwort
                              0
                              • Maik BeckerM Maik Becker

                                @gooflo danke, werde ich probieren, kannst du das auch für das laden einstellen, ich lade nur über AC.

                                G Offline
                                G Offline
                                gooflo
                                schrieb am zuletzt editiert von
                                #1324

                                @maik-becker mit AC Laden habe ich mich noch nicht beschäftigt. Kannst Du mir die Stelle im Code sagen? Wir bei AC Laden nicht sowieso immer so viel geladen wie geht?

                                Maik BeckerM 1 Antwort Letzte Antwort
                                0
                                • G gooflo

                                  @maik-becker mit AC Laden habe ich mich noch nicht beschäftigt. Kannst Du mir die Stelle im Code sagen? Wir bei AC Laden nicht sowieso immer so viel geladen wie geht?

                                  Maik BeckerM Offline
                                  Maik BeckerM Offline
                                  Maik Becker
                                  schrieb am zuletzt editiert von
                                  #1325

                                  @gooflo Hallo, leider nein. Ich nutze zur Zeit die Überschussladung mit Steckdose.

                                  1 Antwort Letzte Antwort
                                  0
                                  • G gooflo

                                    @Waly_de das Skript ist einfach toll!! Heute habe ich für einen Anwendungsfall bei zwei Powerstream mit Batterien zusätzlich zum Füllstand noch die Batteriekapazität bei der Watt-Verteilung mit einbezogen, damit wenn ein PS ne 4 kWh Batterie dran hat und der andere eine 2kWh tatsächlich beide gleich schnell entladen werden. Sowas macht einfach Spaß :-)

                                    Falls jemand Interesse hat oder Du @Waly_de die Option einbauen willst (schöner wäre natürlich die Kapazität auszulesen, aber das geht leider nicht so einfach soweit ich das Beurteilen kann):

                                    Bei der Konfiguration pro PS einfügen

                                                battCapacity: 4.096, // Kapazität der angeschlossenen Batterie
                                    

                                    Bei der Berechnung von psBatSumme:

                                     let psCounter = 0, psBatSumme = 0
                                     let psBatSummekWh = 0 // new
                                     for (var i = 0; i < ConfigData.seriennummern.length; i++) {
                                         const asn = ConfigData.seriennummern[i].seriennummer
                                         if (ConfigData.seriennummern[i].typ == "PS" && ConfigData.seriennummern[i].seriennummer != "XXXXXXXXXXXXX" && GlobalObj[asn].regulieren) {
                                             psCounter = psCounter + 1
                                             psBatSumme = psBatSumme + GlobalObj[asn].batstate
                                             psBatSummekWh = psBatSummekWh + GlobalObj[asn].batstate / 100 * ConfigData.seriennummern[i].battCapacity // new
                                             //gapSumme = gapSumme + GlobalObj[asn].GAPdurchschnitt
                                         }
                                     }
                                    

                                    Bei der Berechnung von Batfaktor:

                                    let Batfaktor = 1
                                    let BatfaktorkWh = 1 // new
                                    if (psBatSumme != 0) {
                                      Batfaktor = (BatBedarf / psBatSumme)
                                      BatfaktorkWh = (BatBedarf / psBatSummekWh) // new
                                    }
                                    

                                    Und abschließend die Verwendung im Balance Mode:

                                    // Setpower = Setpower + (GlobalObj[asn].batstate * Batfaktor)
                                    // mlog("PS:" + GlobalObj[asn].PsName + " Setpower =  " + Math.floor(Setpower) + " batstate = " + GlobalObj[asn].batstate + " Batfaktor = " + Batfaktor )
                                    Setpower = Setpower + (GlobalObj[asn].batstate/100 * ConfigData.seriennummern[i].battCapacity * BatfaktorkWh) // new
                                    mlog("PS:" + GlobalObj[asn].PsName + " Setpower =  " + Math.floor(Setpower) + " batstate = " + GlobalObj[asn].batstate + " BatfaktorkWH = " + BatfaktorkWh ) // new
                                    
                                      
                                    
                                    W Offline
                                    W Offline
                                    Waly_de
                                    schrieb am zuletzt editiert von
                                    #1326

                                    @gooflo das ist ja cool! :-) sehr schöne Idee!
                                    Ich hab leider im Moment privat so viel um die Ohren, dass ich mich um nichts kümmern kann.
                                    Wenn du magst, schick mir doch bitte die letzte Version vom Skript mit deinem Code. Dann stelle ich das so online für alle. ich denke, wenn standardmäßig die Batteriekapazität auf null eingestellt wird, dürfte die Regelung auch wenn man es nicht eingestellt keinen Unterschied machen, oder?
                                    Ich muss dieses Skript unbedingt mal auf github bringen, damit sowas einfacher wird.

                                    Maik BeckerM 1 Antwort Letzte Antwort
                                    0
                                    • W Waly_de

                                      @gooflo das ist ja cool! :-) sehr schöne Idee!
                                      Ich hab leider im Moment privat so viel um die Ohren, dass ich mich um nichts kümmern kann.
                                      Wenn du magst, schick mir doch bitte die letzte Version vom Skript mit deinem Code. Dann stelle ich das so online für alle. ich denke, wenn standardmäßig die Batteriekapazität auf null eingestellt wird, dürfte die Regelung auch wenn man es nicht eingestellt keinen Unterschied machen, oder?
                                      Ich muss dieses Skript unbedingt mal auf github bringen, damit sowas einfacher wird.

                                      Maik BeckerM Offline
                                      Maik BeckerM Offline
                                      Maik Becker
                                      schrieb am zuletzt editiert von
                                      #1327

                                      @waly_de Hallo, auch wenn du Privat viel zu tun hast, wäre es möglich, wenn das mit einbaust noch prüfen zu lassen ob die PS schon Strom einspeisen. Wenn ja den soll er die DM D2M nicht weiter laden. Wäre nett von dir.

                                      W 1 Antwort Letzte Antwort
                                      0
                                      • Maik BeckerM Maik Becker

                                        @waly_de Hallo, auch wenn du Privat viel zu tun hast, wäre es möglich, wenn das mit einbaust noch prüfen zu lassen ob die PS schon Strom einspeisen. Wenn ja den soll er die DM D2M nicht weiter laden. Wäre nett von dir.

                                        W Offline
                                        W Offline
                                        Waly_de
                                        schrieb am zuletzt editiert von
                                        #1328

                                        @maik-becker sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                                        @waly_de Hallo, auch wenn du Privat viel zu tun hast, wäre es möglich, wenn das mit einbaust noch prüfen zu lassen ob die PS schon Strom einspeisen. Wenn ja den soll er die DM D2M nicht weiter laden. Wäre nett von dir.

                                        Das verstehe ich nicht:
                                        PV Energie von 400 W steht zur Verfügung Dein Haus Strombedarf ist 200 W.
                                        Also gehen 200 W ins Haus und 200 W in die Batterie. Oder reden wir vom Überschuss laden? Das ist bereits so programmiert, dass es bei fehlenden Überschuss abgeschaltet wird.
                                        Verzögerung, schalt Zeiten und Bedingungen dafür lassen sich in den Settings einstellen

                                        Maik BeckerM 1 Antwort Letzte Antwort
                                        0
                                        • W Waly_de

                                          @maik-becker sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                                          @waly_de Hallo, auch wenn du Privat viel zu tun hast, wäre es möglich, wenn das mit einbaust noch prüfen zu lassen ob die PS schon Strom einspeisen. Wenn ja den soll er die DM D2M nicht weiter laden. Wäre nett von dir.

                                          Das verstehe ich nicht:
                                          PV Energie von 400 W steht zur Verfügung Dein Haus Strombedarf ist 200 W.
                                          Also gehen 200 W ins Haus und 200 W in die Batterie. Oder reden wir vom Überschuss laden? Das ist bereits so programmiert, dass es bei fehlenden Überschuss abgeschaltet wird.
                                          Verzögerung, schalt Zeiten und Bedingungen dafür lassen sich in den Settings einstellen

                                          Maik BeckerM Offline
                                          Maik BeckerM Offline
                                          Maik Becker
                                          schrieb am zuletzt editiert von
                                          #1329

                                          @waly_de wie reden von Überschussladung, ich arbeite ohne Solar. Da ich eine 3600 W Anlage auf dem Dach habe. Aber ab und zu gibt der PS Strom ins Netz aber lädt auch zur gleichen Zeit die Delat über die Überschussladung. Das Probelm ist aber auch nicht nur bei mir siehe Betrag: 15 Jun 2024, 09:07.

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          796

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe