NEWS
ecoflow-connector-Script zur dynamischen Leistungsanpassung
-
@vanessa88 Ich hab das so gelöst dass ich die Ecoflows mit Akku dran auf ‚überschuss nicht einspeisen‘ setze per script sobald überschuss zu gross wird. Der 3. der keinen Akku dran hat regelt Einspeisung entsprechend runter. Klappt noch nicht perfekt, aber immerhin.
-
@sirdir und ich habe es folgendermaßen gelöst:
- zwei globale Variablen bei den erweiterten Einstellungen definiert
intelligentBattPozOnMaxPower: true, // im Balance mode intelligent battPozOnMaxPower regeln ( (Target-Wert + Realpower)/Anzahl PSs) intelligentBattPozOnMaxPowerTarget: 700, // W für intelligente Regelung
- im Balance Mode zählt man dann erst mal, wie viel nicht regulierte PSs man hat, d.h. bei wie vielen die Batterie voll ist:
let nNichtReguliertePSs = 0 ... if (!GlobalObj[asn].regulieren) nNichtReguliertePSs++
- und baut dann noch folgenden else-if im Balance mode ein:
else if (ConfigData.seriennummern[i].typ == "PS" && ConfigData.seriennummern[i].seriennummer != "XXXXXXXXXXXXX") { if (ConfigData.intelligentBattPozOnMaxPower) { if (nNichtReguliertePSs > 0) { let v = (ConfigData.intelligentBattPozOnMaxPowerTarget + lowestValue)/nNichtReguliertePSs setAC(asn, Math.floor(v * 10)) mlog("unregulierter PS " + GlobalObj[asn].PsName + " (von insgesamt " + nNichtReguliertePSs + ")" + " set power = " + v.toFixed(0)) GlobalObj[asn].OldNewValue = v } } }
Der lowestValue Wert entspricht dem Bedarf, der dann auf die nicht regulierten PSs aufgeteilt wird, wobei man mit intelligentBattPozOnMaxPowerTarget einstellen kann, wie viel zusätzlich zum Bedarf eingespeist werden soll. Also wenn Bedarf 400 und ich habe zwei nicht mehr regulierte (= Batterie voll) PowerStreams und intelligentBattPozOnMaxPowerTarget = 600, dann wird je PowerStream 500W eingespeist. Ist nur einer von beiden nicht reguliert, dann versucht dieser die vollen 1000W einzuspeisen, was natürlich nicht klappt, den Rest übernimmt der andere über die normale Regelung.
-
@gooflo Das klappt aber nicht wenn zu viele PS voll sind, oder? Was unschön ist, mein ‚überschuss nicht einspeisen‘ ist nun das letzte, wofür ich das ursprüngliche Script mit der private api noch brauche. Aber das kann man über die public api noch nicht steuern, soweit ich weiss.
-
@sirdir weiß nicht genau was Du meinst, das ist unabhängig von der Anzahl der vollen PSs (hab's allerdings nur mit 2 getestet bisher ;-)): man legt über die Variable halt fest, wie viel eingespeist werden kann. Sagen wir bei 3 PSs, jeder bekommt 700W PV, wären also max. 2.100W Einspeisung möglich. Wenn nun die Speicher aller 3 voll sind, dann kann man über die Variable festlegen, dass statt 2.100 eben nur 700 oder was man halt will ins Stromnetz gehen soll.
-
@sirdir hi, basierend auf Deiner "Vorlage" bin ich jetzt auch mal eingestiegen und konnte nun die für mich relevanten Aktionen im Script implementieren.
Die eigentliche Steuerung kommt bei mir von FHEM über entsprechendes FHEM Modul.
Habe nun die klassische Regelung am Start und das Ganze um die Funktionen der "Runterregelung" bei erreichen eines Bat Schwellwertes, sowie die An-/Abschlatung von AC out und mpptCar implementiert.
Läuft sehr stabil und habe aktuell nicht mehr zu maulen.
ich habe 1 PS, eine Delta2Max und eine kleine Delta 2.
Die Delta wird nun ebenfalls berücksichtigt. Die läuft quasi als Insel und "pumpt" via 12V out die vorhandene Ladung in die 2 Max. Die Regelung kommt wie gesgat aus Fhem und wird entsprechend im Script berücksichtigt. -
@gooflo Ich blick nicht ganz durch. Wenn du die Einspeisekontrolle an hast, geht ja gar kein überschuss in‘s Netz. Wenn du sie aus hast, geht immer raus was kann… Ich speis gern Ueberschuss ein (weil ich nicht alle Verbraucher messen kann immer noch) aber nur bis 800W…
-
@sirdir letztlich ist es so, dass die PSs weiterhin geregelt werden, d.h. der AC Ausgabewert wird in jedem Durchlauf neu gesetzt, wodurch dann eben nicht aller Überschuss eingespeist wird, sondern nur das was abzüglich dem realen Verbrauch noch übrig ist.
-
Hi, ich habe keine Powerstream, sondern nur eine EcoFlow Delta 2 und einen Tasmota Stromzähler. Kann ich rgendwie die Ladeleistung der Ecoflow Delta 2 setzen?
Der Ladewert wird in der Variablen 0_userdata.0.ecoflow.app_...thing_property_set.data.params.chgWatts
angezeigt, aber wenn man den ändert, tut sich nichts, er wird halt aktualisiert wenn man den Wert in der App setzt.
Weiß jemand hier weiter?
Ansonsten habe ich mir schon ein blockly Skript gebastelt, das meine FritzDECT Steckdose einschaltet, wenn der Tasmota-Zähler Überschuss meldet. Es fehlt nur noch das Stück, um dann die Ladeleistung der Delta 2 dynamisch anzupassen...Lösung war der ecoflow-mqtt Adapter
-
Hallo
Ich habe einen Wechselrichter von EcoFlow (Balkonkraftwerk) und habe die App. Zusätzlich habe ich den ioBroker mit der Shelly App am laufen. Den Shelly Pro 3 em habe ich zusätzlich in mein Sicherungskasten einbauen lassen um alle Daten zu loggen. Geht auch alles.
Jetzt kommt mein Problem!!
Ich habe den Datenpunkt PV Total der mir die aktuelle Stromerzeugung von der PV Anlage zeigt. Aber am Abend geht der Wechselrichter wohl aus, und im Datenpunkt steht immer noch der letzte angezeigte Wert drin.Da ich den Energiepfluss Adapter nutze, zeigt er mir die ganze Nacht einen Wert an, obwohl die Anlage nicht mehr Produziert.
Wer kann mir da helfen ? -
@gooflo dann hast du die überschusseinspeisung aber immer aus? Sonst kannst du beim vollem Akku ja eben nicht regeln…
-
Vielen Dank für dieses großartige Script. Ich habe erst vor kurzem meine Ecoflow Delta Pro erhalten und habe begonnen mit dem Script zu testen. Eine Frage ist aufgetreten:
Die Delta Pro kann auch über eine Wallbox geladen werden. Dazu benötigt man den X-Stream Adapter. Die Ladeleistung beträgt m.E. bis zu 3.400 W. Kann man diesen Eingang auch regeln so wie den normalen AC-Eingang?
Und dann wäre da noch der Umkehrschluss: Meine Wallbox kann in Abhängigkeit von der Stromproduktion aus der PV-Anlage bzw. Einspeisung ins öffentliche Netz den Ladestrom dynamisch anpassen. Das funktioniert wunderbar und mache ich mit meinem Elektroauto (openwb + Sonnenbatterie). Kann ich bei der Ecoflow auch eine dynamische Ladeleistung über den X-Stream Adapter liefern oder muss die gelieferte Strommenge immer gleich sein? Die Angabe von max. 3.400 Watt lässt vermuten, dass eine Dynamik möglich ist.
Danke vorab.
-
@sirdir wenn Du die Überschussladung meinst dann ja, die nutze ich nicht (hab keinen Anwendungsfall dafür).
-
@kippe Du meinst sicherlich den Flowchart im Energiebereich. Der zählt über den Tag die erzeugte Energie hoch. Schaltet dein PS ab, bleibt die Menge erhalten und nullt erst am nächsten Tag. Das ist normal. Installier dir die jeweiligen Flow Plus Übersichten. Die sind anpassbar und du siehst auch die Momentanerzeugung, die im Fall - Sonne weg - bei Null ist.
-
ich blicke nicht mehr ganz durch, wann das Skript läuft und wann es seitens EF torpediert wird.
Ich habe aktuell das Problem, dass es über Nacht ca. 3 Uhr Morgens eine Art Zwangstrennung macht und nicht mehr läuft.Deshalb stelle ich abens immer auf die Shelly Integration um und am Morgen wenn Sonne da ist wieder zurück. Witzigerweise hatte ich jetzt mit der Shellyintegration auch paar mal probleme dass diese nicht anlief. Habe dann den PS vom Strom getrennt und die DP mal aus und wieder an gemacht - dann gings wieder.
Echt seltsam - hatte das skript voher über 6 monate ohne irgendwelche Probleme am Laufen. Frage mich echt was da seitens EF hinter den Kulissen passiert gerade.
-
@accu Mit welcher Hassio Version arbeitest du?
-
@vanessa88 der aktuellsten ( * Version: 1.2.5.f1 Fork von Florian Vogt * Release date: 25.06.2024)
-
Ich habe ein Problem mit ‘meinem’ Script (auf Basis von dem public api demo von Waly). Seit ich auf nen Raspi 5 umgezogen bin (weiss nicht ob das Zufall ist, glaube es fast nicht), dreht mein Script durch wenn es neu gestartet wird (sei es, dass ich es abschalten will oder dass ich was ändere und es deswegen neu gestartet wird). Es wird dann sofort wieder gestartet und wieder beendet und wieder gestartet wie wild… nur ein neustart der javascript engine hilft. Alle anderen Scripts haben das Problem nicht.
Hat jemand eine Idee wo ich da suchen müsste? -
@sirdir
Wenn Neustart durch Abstürze verursacht wird, sollte da auch für den Fehler etwas im log stehen. -
Moin,
super Diskussion hier. Ich spiele jetzt seit einigen Tagen mit dem Script und habe durchwachsene Erfahrungen. Manchmal funktioniert gar nix oder nicht so wie es soll und dann klappt plötzlich wieder alles.
Ich habe aber noch ein anderes Problem. Ich habe eine sonnenbatterie im Hausnetz hängen und habe festgestellt, dass häufig die Ecoflow und die sonnenbatterie gleichzeitig laden und quasi um den Strom konkurrieren oder manchmal gewinnt auch die schnellere Maschine. Ich muss also Prioritäten einbauen. Im Prinzip möchte ich, dass die Ecoflow erst geladen wird wenn die sonnenbatterie voll ist oder wenn die Sonnenbatterie mit maximaler Leistung lädt (4,5 kw) und noch Überschussstrom vorhanden ist.
Hat jemand einen Vorschlag wie ich das realisieren kann? Das wäre sehr hilfreich. Vielen Dank.
Ergänzung: Die Sonnenbatterie habe ich schon erfolgreich im iobroker eingebunden und habe Zugriff auf alle Werte (u.a. SOC und auch die Ladeleistung).
-
@n8flight Moin, ich habe ähnlich Konstellation, es aber mit dem Script nicht realisiern können. Ich habe in IOB den Ecoflow-MQTT Adapter daher genutzt mit einem eigenen Blockly.
Vereinfacht gesagt prüfe ich die Be und Entladung des primären Speichers und steuere damit den EF Beladung. ZB Wenn Einspeise Durchschnitt >300 oder Speicher Beladung Durchschnitt > 1000 dann starte ich die EF Beladung mit 200W. Das wird zyklisch geprüft und die EF Beladung in 100er schritten erhöht. Ist der Einspeise Durchschnitt <50 oder Entladungs Durchschnitt >50 dann geht es in 100er Schritten runter. usw usw
Haus und Speicher Prio und AC ladung wird automatisch gestartet.
EVCC mit dynamischen Tarif ist auch angebunden und startet ggf die Ladung bei günstigem Preis
falls du es mit dem Script nicht realisiert bekommst, dann kann ich dir mein Blockly geben. Dann sollten wir aber mal telefonieren, damit ich es dir erklären kann.