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

  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.4k

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

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

ecoflow-connector-Script zur dynamischen Leistungsanpassung

Geplant Angeheftet Gesperrt Verschoben JavaScript
1.6k Beiträge 127 Kommentatoren 743.5k 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.
  • 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
                                • G Offline
                                  G Offline
                                  gooflo
                                  schrieb am zuletzt editiert von
                                  #1330

                                  @waly_de hab's Dir per Mail geschickt. Wenn man überall den gleichen Wert einträgt (Defaultwert = 1.0) hat man das alte Verhalten. "0" sollte man nicht setzen, dann funktioniert's nicht ;-)

                                  W 1 Antwort Letzte Antwort
                                  0
                                  • G gooflo

                                    @waly_de hab's Dir per Mail geschickt. Wenn man überall den gleichen Wert einträgt (Defaultwert = 1.0) hat man das alte Verhalten. "0" sollte man nicht setzen, dann funktioniert's nicht ;-)

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

                                    @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 BeckerM B 2 Antworten Letzte Antwort
                                    0
                                    • W 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 BeckerM Offline
                                      Maik BeckerM Offline
                                      Maik Becker
                                      schrieb am zuletzt editiert von
                                      #1332

                                      @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 Antwort Letzte Antwort
                                      0
                                      • Maik BeckerM Maik Becker

                                        @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 Offline
                                        W Offline
                                        Waly_de
                                        schrieb am zuletzt editiert von
                                        #1333

                                        @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 BeckerM 1 Antwort Letzte Antwort
                                        0
                                        • W Waly_de

                                          @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 BeckerM Offline
                                          Maik BeckerM Offline
                                          Maik Becker
                                          schrieb am zuletzt editiert von
                                          #1334

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

                                          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

                                          463

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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