NEWS
ecoflow-connector-Script zur dynamischen Leistungsanpassung
-
@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
- Feature hinzugefügt, um die Größe der Delta-Speicher beim Ausbalancieren der Entladeleistung zu berücksichtigen, damit die Batterien gleichmäßig geleert werden
-
@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.
-
@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.
-
@waly_de Okay, danke. kannst du dir aber mal meine Config an Schauen, wenn ich sie per PM sende?
-
Kann das mal jemand prüfen lade nur über AC und hab zwei DELTA und Zwei PS nutze nur die Überschussladung.
*/ // Systemkoordinaten werden versucht zu ermitteln und als Default den Variablen zugeordnet. var latitude var longitude; // Ermitteln des Standortes aus den Einstellungen. getStandortKoordinaten() // Protokollierung einzelner Geräte bei Bedarf const logpath = '/opt/iobroker/log/'; const SERIAL_TO_LOG = "DCEBF8ZFAxxxxx" const LogAllOfSerial = false //false= nur Set-Anweisungen, true = alles von der Seriennummer /*************************************** ********** YOUR DATA HERE ************ ****************************************/ var ConfigData = { email: "xx@xxxxx", // Die App-Zugangsdaten von ecoFlow passwort: "xxxxx", SmartmeterID: "sonoff.0.mqtt.bridge-01.SML_aktuelle_Wirkleistung", // State, der den aktuellen Gesamtverbrauch in Watt anzeigt seriennummern: [ //############# Diesen Abschnitt für jedes einzelne Gerät anlegen ################ { seriennummer: "HW51ZEH4SFxxxxxx", // Die Seriennummer des Gerätes name: "PowerStream Pro", // beliebiger Name MaxPower: 800, // Der höchstmögliche Wert in Watt für die Einspeiseleistung subscribe: true, // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt typ: "PS", // Welches Gerät ist es: PowerStream:"PS"; DeltaMax:"DM"; Delta2: "D2" ; Delta2 Max/Delta Pro: "D2M"; SmartPlug: "SM"; Andere: "NA" // Parameter an hier nur für PowerStream. regulation: true, // "true": Dieser PowerStream soll vom Script reguliert werden RegulationOffPower: -2, // Wird die Regulation per State abgestellt, wird die Einspeiseleistung des ersten Powerstreams auf diesen Wert gesetzt (-1 = keine Änderung, -2 = Batterie Priomodus) hasBat: true, // "true": Eine Batterie ist angeschlossen. Nur für PowerStream relevant. battPozOn: 100, battPozOff: 97, // Wenn die Batterie bei battPozOn ist, Einspeisung auf MaxPower. Bei BattPozOff Normalbetrieb battOnSwitchPrio: true, // "true": Bei battPozOn wird in den Batterie-Prioritätsmodus gewechselt prioOffOnDemand: 30, // Wattwert des Bedarfs, bei dem zurück in den Strom-Priomodus geschaltet wird. 0 für kein Rückschalten. lowBatLimitPozOn: 100, lowBatLimitPozOff: 101, // Bei Unterschreiten der Batterieladung von "lowBatLimitPozOn" % ist die maximale Einspeiseleistung auf lowBatLimit: 800, // "lowBatLimit" limitiert, bis der Ladezustand wieder bei "lowBatLimitPozOff" ist }, { seriennummer: "HW51ZEH4SFxxxxxx", // Die Seriennummer des Gerätesin name: "PowerStream Max", // beliebiger Name MaxPower: 800, // Der höchstmögliche Wert in Watt für die Einspeiseleistung subscribe: true, // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt typ: "PS", // Welches Gerät ist es: PowerStream:"PS"; DeltaMax:"DM"; Delta2: "D2" ; Delta2 Max/Delta Pro: "D2M"; SmartPlug: "SM"; Andere: "NA" // Parameter an hier nur für PowerStream. regulation: true, // "true": Dieser PowerStream soll vom Script reguliert werden RegulationOffPower: -2, // Wird die Regulation per State abgestellt, wird die Einspeiseleistung des ersten Powerstreams auf diesen Wert gesetzt (-1 = keine Änderung, -2 = Batterie Priomodus) hasBat: true, // "true": Eine Batterie ist angeschlossen. Nur für PowerStream relevant. battPozOn: 100, battPozOff: 97, // Wenn die Batterie bei battPozOn ist, Einspeisung auf MaxPower. Bei BattPozOff Normalbetrieb battOnSwitchPrio: true, // "true": Bei battPozOn wird in den Batterie-Prioritätsmodus gewechselt prioOffOnDemand: 30, // Wattwert des Bedarfs, bei dem zurück in den Strom-Priomodus geschaltet wird. 0 für kein Rückschalten. lowBatLimitPozOn: 100, lowBatLimitPozOff: 101, // Bei Unterschreiten der Batterieladung von "lowBatLimitPozOn" % ist die maximale Einspeiseleistung auf lowBatLimit: 800, // "lowBatLimit" limitiert, bis der Ladezustand wieder bei "lowBatLimitPozOff" ist }, //####################################################################### { seriennummer: "DCEBF8ZFA1xxxx2", name: "DELTA Pro", typ: "D2M", subscribe: true, // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt }, { seriennummer: "DAEBZ5KF11xxxxxx", name: "DELTA Max", typ: "DM", subscribe: true, // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt }, //####################################################################### { seriennummer: "XXXXXXXXXXXXX", name: "SmartPlug 1", typ: "SM", subscribe: true, // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt }, //####################################################################### ], AdditionalPowerAvgPeriod: 15000, // Zeitraum in ms in denen ein Durchschittswert der Summe von AdditionalPower erstellt wird AdditionalPower: [ // Wenn es weitere Wechselrichter gibt, die in IOBroker erfasst werden, können diese hier Angelegt werden //############# Diesen Abschnitt für jedes einzelne Gerät anlegen ################ { name: "Hoymiles2000", // Beliebiger Name id: "mqtt.0.solar.1234567890.0.power", // Der Objektpfad zu dem Leistungswert in Watt (W) factor: 1, // Divisionsfaktor für den Leistungswert. (10 für die Delta) offset: 0, // Wert wird zum Messwert addiert um Messabweichungen ausgleichen zu können NoFeedIn: false, // true setzen, wenn die enthaltene Leistung nicht ins Hausnetz fließt. (Nur in PVTotal aufnehmen) NoPV: false, // true setzen, wenn die enthaltene Leistung nicht in TotalPV einfließen soll. (Nur in Realpower aufnehmen) }, //####################################################################### ], //**************************************** // Erweiterte Einstellungen: //**************************************** SmartmeterTimeoutMin: 4, // Wenn der letzte Wert vom Smartmeter älter als "SmartmeterTimeoutMin" ist, wird das Script mit... SmartmeterFallbackPower: 30, // SmartmeterFallbackPower als aktuellem Realpowerwert weiter arbeiten, bis wieder aktuelle Daten geliefert werden. RegulationIntervalSec: 15, // Intervall in Sekunden in denen gemessen und reguliert wird Regulation: true, // 'false' stellt das Setzen der Einspeiseleistung ab RegulationState: "Regulate", // Wenn angegeben, kann mit diesem State die Regulation ein- und ausgeschaltet werden (Wird automatisch unter 0_userdata.0.ecoflow angelegt) RegulationMultiPsMode: 0, // Wenn mehrere PS reguliert werden sollen. "balance" = 0 oder "serial" = 1 SerialReverse: true, // true: im serial Mode (RegulationMultiPsMode: 1) werden die PS in umgekehrter Rheihenfolge duchfaufen BasePowerOffset: 30, // Wird vom aktuellen Verbrauch abgezogen, um die Einspeiseleistung zu berechnen Zusatzpower_Offset: 10, // Zusatzpower startet ab einer Batterieladeleistung von MaxPower - Zusatzpower_Offset MinValueMin: 0, // Der Zeitraum in Minuten, aus dem der niedrigste Gesamtverbrauchswert geholt werden soll. 0 für Echtzeitwert MinValueAg: 0, // Art der Ermittlung des kleinsten Wertes: 0 = Minimalwert, 1 = Durchschnittswert ReconnectMin: 30, // Zeit in Minuten, nach der die Anwendung neu gestartet wird, wenn keine neuen Daten eintreffen statesPrefix: "0_userdata.0.ecoflow", // Hier werden die ecoFlow States angelegt latitude: latitude, // Breitengrad des Standortes (wird automatisch eingesetzt) longitude: longitude, // Längengrad des Standortes (wird automatisch eingesetzt) //**************************************** // Überschussladung: //**************************************** //**********test */ // Überschussladung: //**************************************** ExcessCharge: true, //Überschussladung AN/AUS (true/false) //ID zum Einstellen der Ladeleistung des Speichers in Watt: ExcessChargePowerID: "ecoflow-mqtt.0.DAEBZ5KF118xxx.inv.cfgSlowChgWatts", //ID des aktuellen Ladestandes des Speichers in %: ExcessChargePowerBatSocID: "0_userdata.0.ecoflow.app_device_property_DAEBZ5KF1xxx.data.params.bmsMaster.soc", ExcessChargeSwitchMin: 2, //Zeit in Minuten die der Schalter mindestens in der letzten geschalteten Position verbleiben muss. ExcessChargeMaxPower: 2600, //Maximale Ladeleistung des Speichers in Watt ExcessChargeOffsetPower: 0, //Wird der Leistungsanforderung hinzugerechnet um Messabweichungen auszugleichen. ExcessChargeStartPower: 10, //Mindest-Überschussleistung zum Einschalten des Speichers ExcessChargeStopPower: 0, //Überschussleistung bei der der Speicher abgeschaltet werden soll. ExcessChargeStartPowerDurationMin: 0, //Mindestdauer in Minuten, die ExcessChargeStartPower nicht unterschritten werden darf, bevor der Speicher eingeschaltet wird. ExcessChargeMinRegulatePause: 1, //Mindestpause in Minuten zwischen einzelnen Regelbefehlen (EEPROM-Schutz) ExcessChargeRegulateSteps: 1, //Stufen in Watt, in denen die Werte geändert werden sollen ExcessChargeBatSocMax: 95, // Batterieladestand muss <= sein damit die Überschussladung gestartet wird ExcessChargeBatSocOff: 100, // Batterieladestand bei dem die Überschussladung abgeschaltet wird //---------------------------------------- //---------------------------------------- // Beispiel für Nutzung einer Schlaltersteckdose: //---------------------------------------- //ID mit dem Messwert der aktuellen Leistungsaufnahme des Speichers in Watt: ExcessActualPowerID: "sonoff.0.mqtt.bridge-01.SPM_ActivePower_1", //ID des Schalters, der den Speicher aktiviert: ExcessChargeSwitchID: "mqtt.1.cmnd.Stromschneine.Power2", ExcessChargeSwitchOn: "ON", //Wert, der zum Aktivieren des Schalters gesetzt werden muss (1/0, true/false, "ON"/"OFF"...) ExcessChargeSwitchOff: "OFF", //Wert, der zum Deaktivieren des Schalters gesetzt werden muss (1/0, true/false, "ON"/"OFF"...) //---------------------------------------- ExcessCharge: true, //Überschussladung AN/AUS (true/false) //ID zum Einstellen der Ladeleistung des Speichers in Watt: ExcessChargePowerID: "ecoflow-mqtt.0.DCEBF8ZFAxxxx.inv.cfgSlowChgWatts", //ID des aktuellen Ladestandes des Speichers in %: ExcessChargePowerBatSocID: "0_userdata.0.ecoflow.app_device_property_DCEBF8ZFAxxxx.data.params.bmsMaster.soc", ExcessChargeSwitchMin: 2, //Zeit in Minuten die der Schalter mindestens in der letzten geschalteten Position verbleiben muss. ExcessChargeMaxPower: 2000, //Maximale Ladeleistung des Speichers in Watt ExcessChargeOffsetPower: 0, //Wird der Leistungsanforderung hinzugerechnet um Messabweichungen auszugleichen. ExcessChargeStartPower: 1, //Mindest-Überschussleistung zum Einschalten des Speichers ExcessChargeStopPower: 0, //Überschussleistung bei der der Speicher abgeschaltet werden soll. ExcessChargeStartPowerDurationMin: 0, //Mindestdauer in Minuten, die ExcessChargeStartPower nicht unterschritten werden darf, bevor der Speicher eingeschaltet wird. ExcessChargeMinRegulatePause: 1, //Mindestpause in Minuten zwischen einzelnen Regelbefehlen (EEPROM-Schutz) ExcessChargeRegulateSteps: 1, //Stufen in Watt, in denen die Werte geändert werden sollen ExcessChargeBatSocMax: 95, // Batterieladestand muss <= sein damit die Überschussladung gestartet wird ExcessChargeBatSocOff: 100, // Batterieladestand bei dem die Überschussladung abgeschaltet wird //---------------------------------------- //---------------------------------------- // Beispiel für Nutzung einer Schlaltersteckdose: //---------------------------------------- //ID mit dem Messwert der aktuellen Leistungsaufnahme des Speichers in Watt: ExcessActualPowerID: "sonoff.0.mqtt.bridge-01.SPM_ActivePower_0", //ID des Schalters, der den Speicher aktiviert: ExcessChargeSwitchID: "mqtt.1.cmnd.Stromschneine.Power1", ExcessChargeSwitchOn: "ON", //Wert, der zum Aktivieren des Schalters gesetzt werden muss (1/0, true/false, "ON"/"OFF"...) ExcessChargeSwitchOff: "OFF", //Wert, der zum Deaktivieren des Schalters gesetzt werden muss (1/0, true/false, "ON"/"OFF"...) //---------------------------------------- // //**************************************** Debug: false, mlog: false, PlotCmdID: 99999, } //***************************************/ //***************************************/ // EXTERNE STATES zum Manipulieren von Konfigurationsvariablen var externConfig = [ //############# Diesen Abschnitt für jeden einzelne Wert anlegen ################ //Beispielwerte: { VarName: "seriennummern[0].lowBatLimitPozOn", //Variabelname aus "ConfigData" bei Aufzählungen [0...X] in der Reihenfolge der Angaben id: "0_userdata.0.ecoflow.ExStateTest", //Das Objekt (State) das den Wert für diese Variable enthalten soll. Muss manuell angelegt werden. create: false, //true: das Object wird unterhalb von "statesPrefix" angelegt. false: Es muss existieren oder manuell angelegt werden }, { VarName: "mlog", //Variabelname aus "ConfigData" bei Aufzählungen [0...X] in der Reihenfolge der Angaben id: "mlog", //Das Objekt (State) das den Wert für diese Variable enthalten soll. create: true, //true: das Object wird unterhalb von "statesPrefix" angelegt. false: Es muss existieren oder manuell angelegt werden }, //####################################################################### ];
-
Mein Beitrag hat zunächst nur indirekt mit dem Skript zu tun.
Mir geht es darum, möglichst ein Feedback von euch zu bekommen, ob es euch gelingt, mit oder ohne Skript stabil 800 Watt in das Hausnetz einspeisen zu können.
Ich habe eine Delta Pro in Kombination mit dem PS, der 800 Watt leisten kann. Leider speist der PS nur dann 800 Watt bzw. mehr als 600 Watt ein, wenn er nicht mit dem mit der Delta verbunden ist.
Die Kommunikation mit dem Support von Ecoflow ist sehr zäh und noch nicht wirklich zielführend.
Ist Delta Pro mit dem PS verbunden, werden nur ganz selten und dann nur kurzzeitig mehr als 600 Watt eingespeist.
In meiner Konfiguration hat die Einspeisung in das Hausnetz Vorrang vor der Batterieladung.
In der Anlage ist ein Chart eines typischen Tagesverlaufs und zeigt, wie die Ecoflow Firmware ohne äußeren Eingriff regelt. Die Daten wurden vom Adapter ioBroker.ecoflow-mqtt erfasst. PV Output Power bezieht sich auf den Solareingang der Delta, PV1 und PV2 auf die des PS. Man sieht, dass selbst bei einem Ladestand zwischen ca. 66% und 99% maximal 600 Watt ausgegeben werden bzw. zyklisch sogar nur 500 Watt.
Hat jemand ähnliche Erfahrungen gesammelt und z.B. beobachtet, dass, wenn das Script eine Einspeisung von mehr als 600 Watt einstellt, der PS zwar den Wert übernimmt aber weniger Power einspeist? -
@ksbweb https://www.offgridtec.com/media/product_attachements/EcoFlow_PowerStream_Datenblatt.pdf
Der Powerstream hat am DC Eingang / Ausgang , also da wo deine Delta dran hängt, maximal 600 W Leistung.... auch die 800W version.
Lediglich auf der PV Seite hast du zweimal 400 W also 800 W und auf der AC Seite ebenfalls 800 W.
D.h. wenn du die Batterie lädst, gehen maximal 600 W in die Batterie und wenn du keine Sonne hast und nur aus der Batterie einspeist, dann sind es auch nur 600WEingespeist werden können nur dann 800 W, wenn entweder zweimal 400 W über die PV Module anliegen, oder mindestens 200 W PV power und 600 W aus der Batterie kommen.
Alles klar?? -
@waly_de Alles klar, danke für deine Antwort.
Die Situation ist aber oft gegeben, dass viel Power an den Modulen des PS anliegt und auch die Batterie genug beisteuern kann, z.B. hier:
Auch im Chart oben sieht man, dass pv1 + pv2 an den PS-Eingängen zu vielen Zeitpunkten deutlich über 600 Watt liegt bei gleichzeitig hohem Batterieladestand.
Nur in Ausnahmefällen kann das aber der PowerStream, jedoch dann nur für wenige Minuten. Hier ist ein Screenshot dafür. -
@waly_de Hier eine erste Rückmeldung zum neuen Skript.
Weil ich eine große Differenz beim Ladezustand der Akkus hatte, dachte ich mir dieses Skript gleich zu verwenden. Es sieht bis jetzt so aus, als ob es super funktioniert. Hatte es heute Morgen aktiviert.
Da ich D2M habe, habe ich die Batteriekapazität auf 2.05 eingestellt, obwohl es so aussieht, als ob nur eine Nachkommastelle eingetragen werde soll. Wie gesagt scheint es zu funktionieren. Werde es weiter beobachten…
Vielen Dank an Florian!
Eine Beschreibung der Funktionsweise wäre schön. -
@ksbweb Alt Klassiker, lies mal in einem Forum von Ecoflow direkt. Ohne aktive Kühlung geht der Powerstream nach wenige Minuten in die Knie..
-
Hi Zusammen
Bei mir kommt ein zweiter PS & DM hinzu und das neue Skript dann von @gooflo.
Wie weiss das Skript an welchem PS welcher Akku angeschlossen ist?
Reicht das battCapacity? Meine Konfig wäre dann so, stimmt das?:{ seriennummer: "XXXXXXXXXXXXXXXX", // Die Seriennummer des Gerätes name: "PowerStream Gartenhaus", // beliebiger Name MaxPower: 600, // Der höchstmögliche Wert in Watt für die Einspeiseleistung subscribe: true, // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt typ: "PS", // Welches Gerät ist es: PowerStream:"PS"; DeltaMax:"DM"; Delta2: "D2" ; Delta2 Max/Delta Pro: "D2M"; SmartPlug: "SM"; Andere: "NA" // Parameter an hier nur für PowerStream. regulation: true, // "true": Dieser PowerStream soll vom Script reguliert werden RegulationOffPower: -1, // Wird die Regulation per State abgestellt, wird die Einspeiseleistung des ersten Powerstreams auf diesen Wert gesetzt (-1 = keine Änderung, -2 = Batterie Priomodus) hasBat: true, // "true": Eine Batterie ist angeschlossen. Nur für PowerStream relevant. battCapacity: 7.6, // Kapazität der angeschlossenen Batterie in kWh, default = 1 // FV battPozOn: 95, battPozOff: 94, // Wenn die Batterie bei battPozOn ist, Einspeisung auf MaxPower. Bei BattPozOff Normalbetrieb battOnSwitchPrio: false, // "true": Bei battPozOn wird in den Batterie-Prioritätsmodus gewechselt prioOffOnDemand: 30, // Wattwert des Bedarfs, bei dem zurück in den Strom-Priomodus geschaltet wird. 0 für kein Rückschalten. lowBatLimitPozOn: 3, lowBatLimitPozOff: 5, // Bei Unterschreiten der Batterieladung von "lowBatLimitPozOn" % ist die maximale Einspeiseleistung auf lowBatLimit: 150, // "lowBatLimit" limitiert, bis der Ladezustand wieder bei "lowBatLimitPozOff" ist }, { seriennummer: "XXXXXXXXXXXXXX", // Die Seriennummer des Gerätes name: "PowerStream Anbau", // beliebiger Name MaxPower: 600, // Der höchstmögliche Wert in Watt für die Einspeiseleistung subscribe: true, // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt typ: "PS", // Welches Gerät ist es: PowerStream:"PS"; DeltaMax:"DM"; Delta2: "D2" ; Delta2 Max/Delta Pro: "D2M"; SmartPlug: "SM"; Andere: "NA" // Parameter an hier nur für PowerStream. regulation: true, // "true": Dieser PowerStream soll vom Script reguliert werden RegulationOffPower: -1, // Wird die Regulation per State abgestellt, wird die Einspeiseleistung des ersten Powerstreams auf diesen Wert gesetzt (-1 = keine Änderung, -2 = Batterie Priomodus) hasBat: true, // "true": Eine Batterie ist angeschlossen. Nur für PowerStream relevant. battCapacity: 1.6, // Kapazität der angeschlossenen Batterie in kWh, default = 1 // FV battPozOn: 95, battPozOff: 94, // Wenn die Batterie bei battPozOn ist, Einspeisung auf MaxPower. Bei BattPozOff Normalbetrieb battOnSwitchPrio: false, // "true": Bei battPozOn wird in den Batterie-Prioritätsmodus gewechselt prioOffOnDemand: 30, // Wattwert des Bedarfs, bei dem zurück in den Strom-Priomodus geschaltet wird. 0 für kein Rückschalten. lowBatLimitPozOn: 3, lowBatLimitPozOff: 5, // Bei Unterschreiten der Batterieladung von "lowBatLimitPozOn" % ist die maximale Einspeiseleistung auf lowBatLimit: 150, // "lowBatLimit" limitiert, bis der Ladezustand wieder bei "lowBatLimitPozOff" ist }, //####################################################################### { seriennummer: "XXXXXXXXXXXXXX", name: "DELTA pro", typ: "D2M", subscribe: true, // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt }, //####################################################################### { seriennummer: "XXXXXXXXXXXX", name: "DELTA max", typ: "DM", subscribe: true, // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt }, //#######################################################################
-
Sorry aber ich komme mit der nächsten Frage:
Kann ich begrenzen wieviel ins Netz eingespeist wird? 2PS ist "nicht erwünscht" in der Schweiz und wenn beide Akku voll sind will ich einspeisen, der Strom wird mir abgekauft. Ich kann aber "schlecht" 1kW einspeisen, das fällt auf. Eine Begrenzung aus dem Shelly abgelesen zB -450Watt wäre toll. -
@blackysoft Ich habe noch nicht verstanden, ob Du zwei PowerStreams, jeweils mit Batterie, aber unterschiedliche Kapazität hast? Dein Text liest sich so als hättest Du nur einen ...
Die Funktionsweise für zwei Powerstreams mit unterschiedlicher Batteriekapazität, also z.B. PS1 mit 2kWh und PS2 mit 4 kWh ist so, dass nicht nur der aktuelle Ladestand berücksichtigt wird, sondern auch die Kapazität, um die Watt zu verteilen auf PS1 und PS2. Beispiel:
PS1 mit 4 kWh hat 80%, PS2 mit 2kWh hat 40%. Das Originalskript weist PS1 die doppelte Wattmenge zu, weil doppelter Ladestand. Mit meiner Variante bekommt PS1 die vierfache Wattmenge zugewiesen, weil ja nicht nur doppelt so viel Ladung sondern auch noch doppelte Kapazität.
Ich hoffe das hilft beim Verständnis.
-
@audiofreak man muss die Kapazitäten von Hand dem richtigen PowerStream zuordnen, d.h. bei Dir sollte die Batterie Deines Gartenhaus PowerStream 7.6 kWh haben, die Deines Anbaus 1.6, dann passt's und das Skript sollte entsprechend regeln.
-
@gooflo said in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
@audiofreak man muss die Kapazitäten von Hand dem richtigen PowerStream zuordnen, d.h. bei Dir sollte die Batterie Deines Gartenhaus PowerStream 7.6 kWh haben, die Deines Anbaus 1.6, dann passt's und das Skript sollte entsprechend regeln.
Cool, Danke für die Bestätigung, freue mich auf morgen. Ab dann muss ich meine Sucht in den Griff kriegen
-
@audiofreak, danke für den Tipp!
Das Hitzeproblem ist offenbar wirklich die Ursache für das Abregeln. Ich werde mir dann wohl den Ecoflow-Lüfter besorgen. -
@ksbweb Muss nicht zwingend das originale sein, meiner steht vertikal 24/7 von einem alten PC Lüfter 12V/0.2A gekühlt.
Der Wechselrichter wird nur noch Handwarm. -
@gooflo Ich habe vier PS mit je einem Akku gleicher Kapazität. Man sieht schön, dass wenn ein Akku schon leer ist, dass die anderen den Leistungsbedarf übernehmen. Beim Entladen, ohne Solarenergie (Nachts), läuft alles wie gewünscht.
Ich habe nur ein Problem mit PS1 beim Laden. Im Skript sind alle PS gleich konfiguriert, aber der PS1 Akku bekommt nur wenig Energie zugewiesen, weshalb der Ladezustand im Vergleich zu den anderen Akkus sehr weit auseinander läuft. Der Grundbedarf wird sehr viel höher als bei den anderen PS eingestellt. Das ist genau die Menge, die zu viel in‘s Netz geschoben wird. Alle PS sind im Stromversorgungsmodus. Abhilfe im Moment ist, dass ich PS 1 im BattPrio Modus schalte, dann ist alles in Ordnung. Ich habe den Fehler noch nicht gefunden, habe aber derzeit nicht genügend Zeit dafür.
Ich hoffe das verständlich erklärt zu haben.Natürlich Danke ich auch dem Urvater @Waly_de für das tolle Skript!
-
Bei mir läuft es irgendwie noch nicht so rund.
Ha das Skript vo @gooflo 1:1 unverändert am laufen mit 2PS 1x mit 7.6kWh (Nr.1) & 1x mit 1.6kWh (Nr.2).
Hauptaufgabe für die zweite PS ist damit ich 1200W Leistung einspeisen kann.Folgende Situationen hab ich festgestellt:
-
Nr.2 ist der Akku bei 95%, es wird trotzdem "stark" geladen obwohl bei Nr.1 der Akku erst bei 50%.
Nr.2 hätte die Nulleinspeisung fast alleine tragen können damit Nr.1 schneller hätte laden können. -
In der Nacht wurde aus beide PS fast identisch eingespeist, Akku Nr.2 entsprechend erheblich schneller leer.
Ab dann wurde zu wenig eingespeist aus Nr.1 & ich hatte die Nacht durch ein Netzbezug von etwa 160 Watt.
Entsprechend ist der Akku alles andere als leer. So hab ich gespeicherte Gratisenergie welches nicht verwendet wird & ich Strom kaufe. -
Heute früh greift bei Nr.2 natürlich lowBatLimitPozOn, das Skript teilt die Einspeisung wieder auf beide PS auf.
Nr. 2 gibt nichts ins Netz, Nr. 1 könnte die geforderte Leistung problemlos abdecken. Wieder kaufe ich Strom wo vom System angefordert werden könnte.
PS & Akku werden erkannt & gereglt, nur noch nicht ganz richtig, vielleicht sieht jemand ein Fehler?
//############# Diesen Abschnitt für jedes einzelne Gerät anlegen ################ { seriennummer: "XXXXXXXXXX", // Die Seriennummer des Gerätes name: "PowerStream Gartenhaus", // beliebiger Name MaxPower: 600, // Der höchstmögliche Wert in Watt für die Einspeiseleistung subscribe: true, // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt typ: "PS", // Welches Gerät ist es: PowerStream:"PS"; DeltaMax:"DM"; Delta2: "D2" ; Delta2 Max/Delta Pro: "D2M"; SmartPlug: "SM"; Andere: "NA" // Parameter an hier nur für PowerStream. regulation: true, // "true": Dieser PowerStream soll vom Script reguliert werden RegulationOffPower: -1, // Wird die Regulation per State abgestellt, wird die Einspeiseleistung des ersten Powerstreams auf diesen Wert gesetzt (-1 = keine Änderung, -2 = Batterie Priomodus) hasBat: true, // "true": Eine Batterie ist angeschlossen. Nur für PowerStream relevant. battCapacity: 7.6, // Kapazität der angeschlossenen Batterie in kWh, default = 1 // FV battPozOn: 95, battPozOff: 94, // Wenn die Batterie bei battPozOn ist, Einspeisung auf MaxPower. Bei BattPozOff Normalbetrieb battOnSwitchPrio: false, // "true": Bei battPozOn wird in den Batterie-Prioritätsmodus gewechselt prioOffOnDemand: 30, // Wattwert des Bedarfs, bei dem zurück in den Strom-Priomodus geschaltet wird. 0 für kein Rückschalten. lowBatLimitPozOn: 3, lowBatLimitPozOff: 5, // Bei Unterschreiten der Batterieladung von "lowBatLimitPozOn" % ist die maximale Einspeiseleistung auf lowBatLimit: 150, // "lowBatLimit" limitiert, bis der Ladezustand wieder bei "lowBatLimitPozOff" ist }, { seriennummer: "XXXXXXXXXXX", // Die Seriennummer des Gerätes name: "PowerStream Anbau", // beliebiger Name MaxPower: 600, // Der höchstmögliche Wert in Watt für die Einspeiseleistung subscribe: true, // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt typ: "PS", // Welches Gerät ist es: PowerStream:"PS"; DeltaMax:"DM"; Delta2: "D2" ; Delta2 Max/Delta Pro: "D2M"; SmartPlug: "SM"; Andere: "NA" // Parameter an hier nur für PowerStream. regulation: true, // "true": Dieser PowerStream soll vom Script reguliert werden RegulationOffPower: -1, // Wird die Regulation per State abgestellt, wird die Einspeiseleistung des ersten Powerstreams auf diesen Wert gesetzt (-1 = keine Änderung, -2 = Batterie Priomodus) hasBat: true, // "true": Eine Batterie ist angeschlossen. Nur für PowerStream relevant. battCapacity: 1.6, // Kapazität der angeschlossenen Batterie in kWh, default = 1 // FV battPozOn: 99, battPozOff: 97, // Wenn die Batterie bei battPozOn ist, Einspeisung auf MaxPower. Bei BattPozOff Normalbetrieb battOnSwitchPrio: false, // "true": Bei battPozOn wird in den Batterie-Prioritätsmodus gewechselt prioOffOnDemand: 30, // Wattwert des Bedarfs, bei dem zurück in den Strom-Priomodus geschaltet wird. 0 für kein Rückschalten. lowBatLimitPozOn: 5, lowBatLimitPozOff: 10, // Bei Unterschreiten der Batterieladung von "lowBatLimitPozOn" % ist die maximale Einspeiseleistung auf lowBatLimit: 150, // "lowBatLimit" limitiert, bis der Ladezustand wieder bei "lowBatLimitPozOff" ist }, //####################################################################### { seriennummer: "XXXXXXXXXXX", name: "DELTA pro", typ: "D2M", subscribe: true, // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt }, //####################################################################### { seriennummer: "XXXXXXXXXXX", name: "DELTA max", typ: "DM", subscribe: true, // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt },
-
-
@blackysoft ja, alle Regelungen bezüglich unterschiedliche Energie (im balance Mode) beziehen sich auf die Entladung. Das könnte man sich natürlich auch für das Laden überlegen. Da müssten man sich erst mal überlegen, welches Verhalten man genau haben möchte, könnte ja z.B. dazu führen, dass beim volleren Akku der PS auf MAX geht (und den volleren Akku leert) zugunsten des PS2, der dann die komplette Energie in den Akku schieben kann ... leider kenne ich mich noch nicht gut genug aus, um das "einfach so" einzubauen, ist mir aber auch schon aufgefallen.