NEWS
ecoflow-connector-Script zur dynamischen Leistungsanpassung
-
Was für ein Tag. Auch ich hab nur drei Paneele aber zwei PowerStream ein zusätzliches Faltpaneel mit 200 W und neuerdings als Vorbereitung für meine große PV-Anlage: Einen Deye 12K Hybrid Wechselrichter mit einer 10 kWh Batterie. Meine PV Module haben insgesamt 1,45 kW Peak.
Heute konnte ich damit insgesamt 8,09 kWh Energie erzeugen.Meine Delta Max mit 2 kWh war schon am Vormittag voll. Von diesem Moment an hatte ich Rund 800 W Überschuss. Also habe ich meinen Hybrid Wechselrichter eingeschaltet, den ich normalerweise nicht einschalte, weil er einen Eigenverbrauch von etwas über 100 W hat. Bis zum Nachmittag konnte ich damit dennoch zusätzliche 2 kWh in meine Batterie speichern, die ich sonst ans Netz verschenkt hätte. Während des ganzen Tages war natürlich der Grundbedarf mit dem Skript gedeckt, so dass ich jetzt mit rund 4 kWh Überschuss Energie aus der Batterie in den Abend starte. Das ist ein Rekord. Ich freu mich schon sehr auf den Moment, wenn endlich meine zwölf kWp Anlage am Dach montiert ist Mein Skript spielt natürlich immer mit. Lokal habe ich es jetzt so erweitert, dass der Wechselrichter automatisch eingeschaltet wird, wenn die EcoFlow Batterie voll ist, und wieder abgeschaltet wird, sobald die Energie nicht mehr ausreicht, um die Batterie des großen hybrid Wechselrichterszu laden. Das ist wirklich cool!
@aherby danke für die Daten... Namen habe ich noch nirgends gesehen, genau so wenig wie den kWh Preis. Ich nehme an, die werden nur in der App gespeichert und nicht in der Cloud.
@dreffi sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Was wäre aktuell die sinnvollste Möglichkeit wenn man einen zweiten Powerstream in Betrieb nehmen möchte? Laut Beschreibung kann das Script nur einen Powerstream steuern. Wenn der zweite Powerstream jetzt mit konstanter Leistung einspeist, kann ich ihn dann mit dem Script auslesen und trotzdem die verfügbaren Optionen, insbesondere SetPrio und SetAC manuell ändern?
Falls nein, kann ich eine zweite Instanz des Scripts dazu aufsetzen?Ja, der 2. wird ausgelesen. Realpower berücksichtigt die Leistung des 2. PS und du kannst die Writeables nutzen. Eine zweite Instanz würde ich möglichst vermeiden.
@dreffi sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Ich teste gerade bei vollem Akku (90%) auf Prio Akku umzustellen und bei 30 Watt Bezug über 5 Minuten wieder zurück auf Prio Einspeisung. Gesteuert wird das zum Test derzeit extern über Home Assistant.
cool .. So ähnlich mach eich das jetzt auch wenn ich den großen Deye Wechselrichter zuschalte. Das wechseln in den Akku Prioritätsmodus scheint dabei die beste Lösung zu sein.
@ponti92 sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Hat jemand auch das Problem, dass data.InverterHeartbeat.batSocirgendwann nur noch auf 0 steht? Damit können einige Funktionen des Skripts nicht richtig umgesetzt werden, wenn der Batteriestand 0 ist..
Das passiert bei mir eigentlich nur am Abend, wenn das ganze System sich schlafen legt. Dann muss das Skript aber auch nichts weiter regeln. Wenn das bei dir am Tag während Sonneneinstrahlung passiert, vermute ich thermische Probleme oder WLAN Probleme mit deinem Delta. Wann genau passiert das bei dir?
Bei dem ersten Testlauf mit Sonne heute, habe ich noch einen Fehler bei der Zusatzpower Routine festgestellt. Die decrementiert sich nämlich nicht runter, sondern schaltet sich sofort ab.
Bugfix stelle ich wieder manuell ein oder sucht nach:if (Number(GetValAkt(batInputWatts, 60).val) <= ((ConfigData.MaxPower - 200) * -10) && zusatzpower > 0) {
und ändert es in :
if (Number(GetValAkt(batInputWatts, 60).val) >= ((ConfigData.MaxPower - 200) * -10) && zusatzpower > 0) {
-
@waly_de said in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Das passiert bei mir eigentlich nur am Abend, wenn das ganze System sich schlafen legt. Dann muss das Skript aber auch nichts weiter regeln. Wenn das bei dir am Tag während Sonneneinstrahlung passiert, vermute ich thermische Probleme oder WLAN Probleme mit deinem Delta. Wann genau passiert das bei dir?
Bei mir war das heute Abend um 19:48 Uhr als die Batterie noch 18% an Kapazität hatte, aber es gab noch geringe PV Leistung von 20W und das System hat noch geregelt.
-
@ponti92 war die Delta denn noch über die App erreichbar? Auch mit WLAN und nicht per Bluetooth?
-
@waly_de Hey meinen Glückwunsch. Ich mache wohl wieder was falsch. Da 2 Module am Powerstream und 2 Module an der Delta 2 Max hängen bekomme ich mit der aktuellen Firmware keine richtigen Daten.
Zum Thema Namen, glaube ich nicht. Aber ich konnte noch nicht wirklich was abgreifen. Da man sich ja auf unterschiedlichen Geräten mit den persönlichen Zugangsdaten anmelden kann und dort überall die Namen stehen müsste es ja einen Bezug zur Cloud geben oder?
Hast du Wünsche wo ich genauer versuchen sollte den Traffic herauszufinden?
Persönlich würde ich ja den aktuellen Verbrauch der Smart Plugs, Strompreis z.B. für Tibber,
speise maximal ein wenn der Akku zur n%-Zahl geladen ist, reduziere die max. Einspeisung wenn keine oder nur wenig Solarenergie vorhanden ist schrittweise auf den ermittelten Grundverbrauch spannend finden.
Kommst du eigentlich an die History-Werte heran? -
@aherby sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Zum Thema Namen, glaube ich nicht. Aber ich konnte noch nicht wirklich was abgreifen. Da man sich ja auf unterschiedlichen Geräten mit den persönlichen Zugangsdaten anmelden kann und dort überall die Namen stehen müsste es ja einen Bezug zur Cloud geben oder?
Hmm... Ja, da hast Du recht. Hab ich aber im Moment noch nicht gefunden. Manche Daten sind sehr komplex verschachtelt und die Decodierung ist auch noch nicht gelungen. Dazu zählen auch die Verbrauchsdaten. RAW Daten dazu habe ich, werde aber noch nicht schlau daraus.
Hast du Wünsche wo ich genauer versuchen sollte den Traffic herauszufinden?
Eigentlich im Moment nicht. Wichtiger wäre es die RAW-Daten sinnvoll zu interpretieren.
Wenn Du aber Writeables für Geräte brauchst, die ich nicht habe, dann schick mir ruhig die Daten dazu. Mit etwas Glück kann ich das dann einbauen.Persönlich würde ich ja den aktuellen Verbrauch der Smart Plugs
Sollte schon gehen. Einfach die Smartplugs mit Seriennummer anlegen
, Strompreis z.B. für Tibber,
speise maximal ein wenn der Akku zur n%-Zahl geladen ist, reduziere die max. Einspeisung wenn keine oder nur wenig Solarenergie vorhanden ist schrittweise auf den ermittelten Grundverbrauch spannend finden.Auch das sollte schon gehen.
battPozOn: 98, battPozOff:93, // Wenn die Batterie bei battPozOn ist, Einspeisung auf MaxPower. Bei BattPozOff NormalbetriebKommst du eigentlich an die History-Werte heran?
Nein, Siehe oben -
Irgendwie stehe ich auf dem Schlauch:
Wo finde ich denn die einzelnen Watt-Werte der beiden Solareingänge des Powerstream? Ich würde sie gerne in den History-Adapter aufnehmen um mir Grafen dafür zu bauen. Ich finde ähnliche Werte aber die sind um Faktor 10 zu hoch?Die Summe habe ich gefunden: ecoflow.totalPV
-
@xfirf sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Irgendwie stehe ich auf dem Schlauch:
Wo finde ich denn die einzelnen Watt-Werte der beiden Eingänge des Powerstream? Ich würde sie gerne in den History-Adapter aufnehmen um mir Grafen dafür zu bauen. Die Summe habe ich gefunden: ecoflow.totalPV0_userdata.0.ecoflow.app_device_property_HWXXXXXXXXXXXXXXXX.data.InverterHeartbeat.pv1InputWatts 0_userdata.0.ecoflow.app_device_property_HWXXXXXXXXXXXXXXXX.data.InverterHeartbeat.pv2InputWatts
Die Werte weichen etwas von denen der App ab. Man kann aber damit gut arbeiten. Du musst diesen Wert nur durch 10 teilen.
-
@waly_de
Ah okay. Vielen Dank.
Dann schaue ich mal ob ich das mit dem Multiplyer in flot abgebildet bekomme. -
@waly_de
Das weiß ich leider nicht mehr, ich schaue beim nächsten Mal drauf.Edit:
Gerade ist sie in iobroker auf 0 Prozent, aber in der App sehe ich das wlan Symbol und die aktuelle Ladung.
-
@ponti92 die Batterie ist leer und darum stellt die Delta vermutlich alle Aktivitäten ein... stell besser die Ladeuntergrenze höher ein...
-
@waly_de
Wenn ich die Ladegrenze höher stelle, dann fängt der Powerstream nicht mit dem Ernten an.. Deshalb lasse ich sie zurzeit leer werden, dann startet der MPTT auch automatisch in der Früh bei wenigen Watt. Danach muss ich nur noch die Delta2Max einschalten und das AC-Einspeisekabel der Powerstream trennen (mit einem shelly) und dann speist er korrekt in die Batterie ein.offtopic:
Ich weiß auch nicht warum das noch nicht richtig läuft, aber ich habe folgende Szenarien:- Akku ist komplett leer und Powerstream ist aus in der Früh:
- Powerstream schaltet sich automatisch ein und erntet erste Watt, aber schaltet Delta2Max nicht ein, es verhält sich so als ob kein Akku vorhanden sei.
- Delta2Max muss manuell eingeschalten werden und AC von Powerstream muss getrennt werden, damit es dann weiter läuft
- Akku ist in der Entladegrenze und hat sich in den stand-by geschaltet:
- Das System wacht nicht automatisch auf in der Früh, keine Solarproduktion, obwohl schon "Sonne" da ist
- Da hilft nur Trennen aller Kabel, um den Powerstream neu zu starten, dann fängt er mit Solar-Ernte an
- Akku ist noch voll und Powerstream hat die ganze Nacht die Grundlast versorgt:
- Kein PV Input, aber Powerstream versorgt weiterhin die Grundlast
- Man kriegt das System nicht dazu weiterzumachen und muss alle Kabel trennen..
- Akku ist komplett leer und Powerstream ist aus in der Früh:
-
@ponti92 Welche Firmware-Versionen hast du installiert oder auch ggf. mal die App erneuert?
Dann gab es bei mir auch neue Firmware-Versionen für den Powerstream, Delta 2 Max und Smart Plugs.
Bei Ecoflow im Forum oder wie auch immer es an der Stelle heißt wurde die Probleme auch beschrieben und angeblich soll ein Update helfen.
Diese Probleme hatte ich nicht wirklich.Aktuell habe ich:
Powerstream : V1.0.0.154 V1.1.3.31 (WLAN)Delta 2 Max: V1.0.0.107 V1.0.0.44 (WLAN)
Smart Plugs: V2.0.3.41 (WLAN)
-
@aherby welche Ladegrenzen hast du eingestellt?
Bei mir ist die FW aktuell, bis auf die plugs, da ich diese noch nicht im Einsatz habe.. sie liegen hier rum, aber durch das Skript brauche ich sie noch nicht -
@waly_de
Gibt es schon Pläne die Steuerung auf mehrere Powerstreams zu erweitern?
Aktuell stehe ich vor der Frage welchen Powerstream ich durch das Script regeln lasse und welchen ich "dumm" steuere. -
@dreffi darüber habe ich mir noch keine detaillierten Gedanken macht. Bei mir funktioniert es im Moment fantastisch so, dass ich den zweiten PowerStream einfach mit voller Leistung einspeisen lasse. Bei mir ist die Grundlast tagsüber zwischen 500W und 600W Überschuss habe ich nur in extrem sonnigen Tagen.
Hast du schon detaillierte Ideen, wie das funktionieren soll? Soll die Leistung dann aufgeteilt werden, oder soll zunächst eine und dann, wenn die nicht mehr reicht eine weitere PS Leistung ins Netz liefern? Was ist das Sinnvollste, auch um die Verluste durch das Speichern in der Batterie so klein wie möglich zu halten?
-
@ponti92 Ich hatte anfangs exakt die gleichen Probleme. Das habe ich aber dann aber tatsächlich mit Software-Updates in den Griff bekommen. Ich habe im Moment die untere Ladegrenze bei 7 % liegen und es funktioniert genauso wie es soll: das System legt sich gegen 0:00 Uhr schlafen wenn die Batterie leer ist, und wacht mit den ersten Sonnenstrahlen wieder auf, läd die Batterie auf ca. 10% und beginnt dann mit dem Einspeisen.
Allerdings habe ich ja wie schon gesagt zwei PS und da ich diese Probleme hatte, dass mein DeltaMax Morgens nicht von der PS eingeschaltet wurde. Habe ich die beiden PS einmal gegeneinander ausgetauscht. Und siehe da, die zweite PS konnte problemlos meine Delta einschalten. Seitdem habe ich keine Probleme mehr. Der zweite PS hat bei mir keine Batterie.
Vielleicht ist das also auch ein Hardware Problem. Wenn du die Möglichkeit hast, würde ich das mal ausprobieren.
-
@waly_de
Das ist eine gute Frage. Ich denke da wird es kein perfektes Patentrezept für jeden geben.Angenommen alle Powerstreams sind weitgehend identisch (Solarertrag, Batteriekapazität) würde ich den Bedarf einfach durch die Anzahl Powerstreams teilen und einspeisen lassen. In der Realität sieht das sicher meist anders aus.
Meine Ausgangssituation:
PV1:
Powerstream
750 Wp, Südausrichtung, nie Schatten
2 kWh ZusatzakkuPV2:
Powerstream
1640 Wp, halb Süd- halb Westausrichtung, Fassadenmontage (senkrecht), Schatten bis 09:30
1 kWh Powerstation (mit 250 Wp extra Modul, früher Ertrag, voraussichtlich nutzbar ab Oktober nach Update der Delta 2)Grundlast im Minimum 173 W
Einstellung aktuell:
PV 1 wird über dein Script gesteuert und versucht auf 10 W Bezug zu regeln.
battPoz 90/85 %
lowBatLimitPoz 15/20 % (50 W)
Ladegrenzen 10-91 %PV 2 wird über Home Assistant geregelt, das Senden der Befehle übernimmt dein Script.
Einspeisung fest auf 190 W (ergibt Bezug ungefähr 0, bei Bedarf stelle ich das noch hoch oder runter damit PV 1 nicht ständig anspringt)
Ladegrenzen 10-90 %
zzgl. Steuerung per Home Assistant (hierzu lese ich die Daten der Delta 2 an PV 2 mit Home Assistant aus der cloud):
Akku >= 90 % --> Prio Akku (Überschuss wird voll eingespeist)
Bezug >= 30 W oder Einspeisung PV 1 >= 30 W und <= 500 W, für 5 min --> Prio Einspeisung (ich arbeite noch an Details)
Akku <= 15 % --> Einspeisung auf 50 W
Akku >= 20 % --> Einspeisung wieder auf 190 WIm Großen und Ganzen sollte PV 2 damit die Grundlast decken und PV 1 übernimmt den weiteren Verbrauch.
Ist der Akku von PV 1 voll geht die auf Prio Akku, alles verfügbare wird eingespeist und PV 1 hat kaum noch was zu tun und lädt auch den Akku voll. Wenn der Akku voll ist greift battPoz bei 90 %.
PV 2 sollte die Grundlast durch die Westausrichtung ziemlich lange decken können. PV 1 bringt mich dann bis weit in die Nacht.Was noch nicht berücksichtig ist: Anheben der Leistung für PV 2 bei noch mehr Bedarf als den 190 W von PV 2 und den maximalen 600 W von PV 1. Luxusproblem. Der Strom landet dann im Akku bis dieser voll ist und automatisch Volleinspeisung erfolgt.
Es gibt noch ein paar Extremsituationen die ich nicht abgedeckt habe. Darum kümmere ich mich bei Bedarf. Das dürfte hauptsächlich Situationen betreffen, wo eh Sonne im Überfluss verfügbar ist.Praxiserfahrungen stehen noch aus.
Ich hoffe das ist halbwegs nachvollziehbar.
-
@waly_de
Ich habe gerade mal ein Smartplug der ausgeschaltet ist, im Namen (Hallo, Moin oder Drucker kann nicht sagen von welcher Änderung dieser Wert ist) geändert
Ob die aufgefangenen Zeilen wirklich die Namensänderung sind kann ich nicht genau sagen./thing/property/set:0a3d0a0408c58801102018352001280138034020480b5004580170d489ced006800113880101ba0103696f73ca0110485735325a4448345346364b36303745
Was steckt denn in so Daten, wird von den Plugs also auch unterschiedlichen Plugs gesendet:
thing/property/get:0a101020182070a2a0f3d006ba0103696f73 thing/property/get:0a101020182070dde5f2d006ba0103696f73 thing/property/get:0a101020182070dbe5f2d006ba0103696f73
?
Was hat es mit diesen Daten von : https://github.com/tolwi/hassio-ecoflow-cloud/issues/54
aus sicht, klingt nach der History aber war in einem frühren Stadium im Beitrag135 power history
This is an array of smaller units with this data structure
Field Type Name
1 UInt32 timestamp
2 SInt32 timezone
3 UInt32 invToGridPower
4 UInt32 invToPlugPower
5 Int32 batteryPower
6 UInt32 pv1OutputPower
7 UInt32 pv2OutputPowerWie kann ich bei der Decodierung unterstützen?
-
@aherby sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Ich habe gerade mal ein Smartplug der ausgeschaltet ist, im Namen (Hallo, Moin oder Drucker kann nicht sagen von welcher Änderung dieser Wert ist) geändert
Ob die aufgefangenen Zeilen wirklich die Namensänderung sind kann ich nicht genau sagen.
Was steckt denn in so Daten, wird von den Plugs also auch unterschiedlichen Plugs gesendet:
thing/property/get:0a101020182070a2a0f3d006ba0103696f73 thing/property/get:0a101020182070dde5f2d006ba0103696f73 thing/property/get:0a101020182070dbe5f2d006ba0103696f73
?Nein, da steckt leider nichts interessantes drin, das sind die ganz normalen "I'm alive" Meldungen des Skriptes.
Du kannst den HexString hiermit genauer untersuchen:
https://protobuf-decoder.netlify.appWäre da ein name drin, könntest Du ihn damit sehen.
Die Historydaten kenne ich auch schon... das muss ich mir mal vornehmen, wenn schlechtes Wetter ist und ich sonst nichts vor habe Im Moment arbeite ich an einer anderen Front.
@aherby sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Wie kann ich bei der Decodierung unterstützen?
Schwierig... mit dem https://protobuf-decoder.netlify.app kannst du schon mal einiges machen. Sonst halte mal im Netz Ausschau nach neuen Meldungen zum Thema ecoflow .proto Daten. Bei dem Github Beitrag warst du schon sehr gut. Da habe ich einen Großteil der Definitionen her.
-
@dreffi
ja, ein komplexes Thema... Ganz so individuell kann ich das mit dem Script kaum abbilden.
Aber ich bin schon dabei die Steuerung für mehrere PS zu realisieren.Modus 0 "balance" ist der Einfachste: Die PS werden der Reihen nach angesprochen. Jeder durchläuft den Regel-Algo. Am Ende passt die Einspeiseleistung. Aber man kann nicht priorisieren, nur mit BatLimits vielleicht.
Modus 1 "serial" bearbeite ich grade und macht mir noch Probleme... Zuerst wird die 1. PS voll ausgereizt. Erst wenn die nicht mehr liefern kann, wird die nächste in der Reihe angesprochen.
Ich denke das kann dann für ziemlich jeden irgendwie funktionieren.