NEWS
ecoflow-connector-Script zur dynamischen Leistungsanpassung
-
@foxthefox Ja ist seit dem iOS-App Update, Frimware und WLAN Update vom Powerstream vorhanden.
Heißt in der App Maximale Ausgangsleistung und ist einstellbar aktuell von 400 W stufenlos bis auf 800 W.Weitere Werte:
warn: javascript.0 (61576) script.js.Echoflow.Ecoflow_DYM_Script_1_2_5.Ecoflow_DYM_Script_1_2_5: Nicht definierter cmd_func-Wert. [Homestation] cmdId:146 cmdFunc:20 2024-06-04 23:58:55.206 - info: javascript.0 (61576) script.js.Echoflow.Ecoflow_DYM_Script_1_2_5.Ecoflow_DYM_Script_1_2_5: hexString: 0a3d0a0308cc031020181420012801380340144892015003580170bbb891aa06800113880101ba0103696f73ca0110485735315a4f48345346355434363434 2024-06-04 23:58:55.206 - info: javascript.0 (61576) script.js.Echoflow.Ecoflow_DYM_Script_1_2_5.Ecoflow_DYM_Script_1_2_5: Nachricht: {"header":[{"pdata":"08cc03","src":32,"dest":20,"dSrc":1,"dDest":1,"checkType":3,"cmdFunc":20,"cmdId":146,"dataLen":3,"needAck":1,"seq":1698978875,"version":19,"payloadVer":1,"from":"ios","deviceSn":"HW51ZOH4SF5T4644"}]} 2024-06-04 23:59:02.802 - warn: javascript.0 (61576) script.js.Echoflow.Ecoflow_DYM_Script_1_2_5.Ecoflow_DYM_Script_1_2_5: Nicht definierter cmd_func-Wert. [Homestation] cmdId:146 cmdFunc:20 2024-06-04 23:59:02.802 - info: javascript.0 (61576) script.js.Echoflow.Ecoflow_DYM_Script_1_2_5.Ecoflow_DYM_Script_1_2_5: hexString: 0a3d0a030894051020181420012801380340144892015003580170c9f391aa06800113880101ba0103696f73ca0110485735315a4f48345346355434363434 2024-06-04 23:59:02.802 - info: javascript.0 (61576) script.js.Echoflow.Ecoflow_DYM_Script_1_2_5.Ecoflow_DYM_Script_1_2_5: Nachricht: {"header":[{"pdata":"089405","src":32,"dest":20,"dSrc":1,"dDest":1,"checkType":3,"cmdFunc":20,"cmdId":146,"dataLen":3,"needAck":1,"seq":1698986441,"version":19,"payloadVer":1,"from":"ios","deviceSn":"HW51ZOH4SF5T4644"}]} 2024-06-04 23:59:11.570 - warn: javascript.0 (61576) script.js.Echoflow.Ecoflow_DYM_Script_1_2_5.Ecoflow_DYM_Script_1_2_5: Nicht definierter cmd_func-Wert. [Homestation] cmdId:146 cmdFunc:20 2024-06-04 23:59:11.570 - info: javascript.0 (61576) script.js.Echoflow.Ecoflow_DYM_Script_1_2_5.Ecoflow_DYM_Script_1_2_5: hexString: 0a3d0a0308a006102018142001280138034014489201500358017098b892aa06800113880101ba0103696f73ca0110485735315a4f48345346355434363434 2024-06-04 23:59:11.570 - info: javascript.0 (61576) script.js.Echoflow.Ecoflow_DYM_Script_1_2_5.Ecoflow_DYM_Script_1_2_5: Nachricht: {"header":[{"pdata":"08a006","src":32,"dest":20,"dSrc":1,"dDest":1,"checkType":3,"cmdFunc":20,"cmdId":146,"dataLen":3,"needAck":1,"seq":1698995224,"version":19,"payloadVer":1,"from":"ios","deviceSn":"HW51ZOH4SF5T4644"}]}@aherby da du die neue firmware hast. Kannst du bitte mal nachsehen, ob der eingestellte Wert anschließend unter den Objekten an der Stelle:
0_userdata.0.ecoflow.app_device_property_XXXXXXXX.data.InverterHeartbeat.ratedPowerZu finden ist?
-
@ponti92 sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
@ponti92
Nach kurzen Tests ist die Logik des Verhaltens leider noch falsch, da die Leistung des Shelly 3ems wie ein smartplug behandelt wird. Dadurch werden im geregelten Fall nur die Hälfte des Hausverbrauchs eingespeist.Wieso nur die Hälfte des Hausverbrauchs? Es müsste sich doch wie eine ganz normale Last verhalten und dann die 600(800)W ausnutzen?!
Könntest du den Befehl (0->1, 1->0) mitloggen und posten (ich meine den HEX-string)?
Theoretisch müsste es dann auch einen neuen Datenpunkt im Telegramm vom powerstream drin sein, wenn also möglich auch das mal posten.@foxthefox Weil der immer die Last einstellt, die am Shelly 3em anzeigt, einstellt. Bei manchen springt es auch von kompletter Deckung des Hausbedarfs (shelly = 0W) zu 100-200W Grundbedarf.
Da ja der Shelly normalerweise den Gesamtverbrauch des Hauses misst, darf Ecoflow da nicht die Daten so behandeln wie einen Smartplug. Das tun sie aber zurzeit und dann kann es entweder hin und her pendeln, oder wie bei mir sich bei der Hälfte des Verbrauchs einpendeln.
Z.b. Shelly zeigt 80W an, Ecoflow speist 80W ein, da einfach der Wert vom Shelly übernommen wird. Grundlast ist aber 160W, sprich Ecoflow kann nur die Hälfte der geforderten Leistung bedienen.
Bei manchen springt es herum, wahrscheinlich am Anfang und bei wechselnden Lastspitzen.
Sagen wir du verbrauchst 200W und Ecolfow speist noch nichts ein. Dann startet die App und Ecoflow sieht die 200W am Shelly und stellt diese ein. Nun werden aber von den 200W die Einspeiseleistung von Ecoflow (~ 200W) abgezogen und der Shelly sieht theoretisch +-0W. Diesen Wert nimmt Ecoflow wieder und schaltet die Einspeisung womöglich aus. Und so schaukelt der Wert hin und her.Hier ist das log als ich es eingeschaltet habe:
Und hier beim Ausschalten:
Weiß nicht ob da was dabei ist, da ziemlich viele EInträge in wenigen Sekunden kommen..
-
@aherby da du die neue firmware hast. Kannst du bitte mal nachsehen, ob der eingestellte Wert anschließend unter den Objekten an der Stelle:
0_userdata.0.ecoflow.app_device_property_XXXXXXXX.data.InverterHeartbeat.ratedPowerZu finden ist?
@waly_de ratedPower ist bei mir obwohl ich auf Maximal 400W gestellt habe bei 8000
Wenn ich den Wert in der App verstelle, dann zeigt mir das log folgendes an:
10:10:34.569 info javascript.0 (21466) script.js.Ecoflow1_2_5: hexString: 0a3d0a0308c20310201814200128013803401448920150035801709ecdccbb06800113880101ba0103696f73ca0110485735315a4f48345346355435353130 10:10:34.570 info javascript.0 (21466) script.js.Ecoflow1_2_5: Nachricht: {"header":[{"pdata":"08c203","src":32,"dest":20,"dSrc":1,"dDest":1,"checkType":3,"cmdFunc":20,"cmdId":146,"dataLen":3,"needAck":1,"seq":1735599774,"version":19,"payloadVer":1,"from":"ios","deviceSn":"XXXXXXXXXXXXXX"}]} -
@foxthefox ist das 0_userdata.0.ecoflow.app_device_property_XXXXXXXX.data.InverterHeartbeat.ratedPower
aus den Heartbeat Daten?
@waly_de sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
@foxthefox ist das 0_userdata.0.ecoflow.app_device_property_XXXXXXXX.data.InverterHeartbeat.ratedPower
aus den Heartbeat Daten?
nein das waren die Dinge, die in aherby's Daten im Post zuvor drin waren.
Ich konnte leider noch keinen heartbeat analysieren, da noch keiner gepostet wurde -
das sieht doch gut aus:
{"max_watts_pack":{"maxWatts":460}}
{"max_watts_pack":{"maxWatts":660}}
{"max_watts_pack":{"maxWatts":800}}
hoffe das waren deine Einstellungen.@foxthefox Sollten die Werte gewesen sein.
zu
das sieht doch gut aus:
{"max_watts_pack":{"maxWatts":460}}
{"max_watts_pack":{"maxWatts":660}}
{"max_watts_pack":{"maxWatts":800}}
hoffe das waren deine Einstellungen. -
@waly_de ratedPower ist bei mir obwohl ich auf Maximal 400W gestellt habe bei 8000
Wenn ich den Wert in der App verstelle, dann zeigt mir das log folgendes an:
10:10:34.569 info javascript.0 (21466) script.js.Ecoflow1_2_5: hexString: 0a3d0a0308c20310201814200128013803401448920150035801709ecdccbb06800113880101ba0103696f73ca0110485735315a4f48345346355435353130 10:10:34.570 info javascript.0 (21466) script.js.Ecoflow1_2_5: Nachricht: {"header":[{"pdata":"08c203","src":32,"dest":20,"dSrc":1,"dDest":1,"checkType":3,"cmdFunc":20,"cmdId":146,"dataLen":3,"needAck":1,"seq":1735599774,"version":19,"payloadVer":1,"from":"ios","deviceSn":"XXXXXXXXXXXXXX"}]}@ponti92 sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
dataLen
also genaugenommen war {"max_watts_pack":{"maxWatts":450}} in dem Telegramm drin.
"08c203" ist nicht direkt verwendbar, da noch protobuf codiert. -
@aherby da du die neue firmware hast. Kannst du bitte mal nachsehen, ob der eingestellte Wert anschließend unter den Objekten an der Stelle:
0_userdata.0.ecoflow.app_device_property_XXXXXXXX.data.InverterHeartbeat.ratedPowerZu finden ist?
-
@foxthefox Weil der immer die Last einstellt, die am Shelly 3em anzeigt, einstellt. Bei manchen springt es auch von kompletter Deckung des Hausbedarfs (shelly = 0W) zu 100-200W Grundbedarf.
Da ja der Shelly normalerweise den Gesamtverbrauch des Hauses misst, darf Ecoflow da nicht die Daten so behandeln wie einen Smartplug. Das tun sie aber zurzeit und dann kann es entweder hin und her pendeln, oder wie bei mir sich bei der Hälfte des Verbrauchs einpendeln.
Z.b. Shelly zeigt 80W an, Ecoflow speist 80W ein, da einfach der Wert vom Shelly übernommen wird. Grundlast ist aber 160W, sprich Ecoflow kann nur die Hälfte der geforderten Leistung bedienen.
Bei manchen springt es herum, wahrscheinlich am Anfang und bei wechselnden Lastspitzen.
Sagen wir du verbrauchst 200W und Ecolfow speist noch nichts ein. Dann startet die App und Ecoflow sieht die 200W am Shelly und stellt diese ein. Nun werden aber von den 200W die Einspeiseleistung von Ecoflow (~ 200W) abgezogen und der Shelly sieht theoretisch +-0W. Diesen Wert nimmt Ecoflow wieder und schaltet die Einspeisung womöglich aus. Und so schaukelt der Wert hin und her.Hier ist das log als ich es eingeschaltet habe:
Und hier beim Ausschalten:
Weiß nicht ob da was dabei ist, da ziemlich viele EInträge in wenigen Sekunden kommen..
@ponti92
Danke für die Aufklärung wie es derzeitig läuft.
Es ist klar, daß ein ein Shelly3EM nicht direkt wie ein Stecker behandelt werden kann. Mindestens muß die derzeitig abgegebene Leistung mit berücksichtigt werden.
Hätte halt gedacht, daß dies schon so passiert. Aber woher soll es auch kommen.
Wenn man den shelly als mqtt über EF abboniert scheint ja der originale output übermittelt zu werden. Also braucht es einen Umsetzer, der aber zeitgleich noch die aktuelle Leistung braucht.
Wäre interessant ob es nunmehr ein ganz unbekanntes Gerät zu abbonieren gibt. Genaugenommen müsste das dann auch nicht JSON sein, sondern protobuf, da ja der powerstream nichts anderes kennt.PS.
danke für die logs.
Hab mal ein paar angeschaut und dort stehen noch mehr Daten drin als die heutige protobuf Definition kennt.
Die Definition geht bisher bis Feld 61 und da gibt es nun Daten mit höheren Feldnummern!
Da braucht es noch ein paar unknownXX.Edit.
In dem einen sind die Energiedaten drin und siehe da, nicht nur die bekannten watth1..7, sondern auch "watth16":729,"watth17":866,"watth18":866
Da muß man noch rausfinden, was die bedeuten könnten. -
Hallo, ich weiß nicht genau ob das Script mir bei meinem Vorhaben hilft, daher stelle ich mal meine Frage hier. Wenn das Falsch ist, mach ich gern auch ein neues Thema dazu auf.
Ich habe eine PV Anlage mit Speicher und möchte den Speicher ohne Elektriker erweitern. Ich habe mir eine Ecoflow Delta Pro + Powerstream 800 + Smart Plug bestellt.
Ich möchte bei Überschuss oder günstigem Tibber Preis folgende Werte anpassen oder Zustände erreichen.
Alle Werte wie Überschuss, Tibber Preise etc habe ich heute schon im IOBroker.
Wenn der primäre Speicher voll ist, soll der Überschuss in den Ecoflow gehen. Dazu muss ich die Beladung starten/stoppen und ggf die Ladeleistung anpassen können.
Nach bestimmten Uhrzeiten bzw wenn der primäre Speicher leer ist, will ich mit einem festen Wert (Grundlast) entladen.
Sehe ich das Richtig, das Beladen kann ganz einfach zb mit einem Shelly Plug (AN/AUS) gesteuert werden? Oder hilft mir da das Script. Ich habe auch einen MQTT Adapter gesehen. Kann der mir da helfen?? Ich habe auch in einem YT Video gesehen, dass jemand genau das gemacht hat mit einem Shelly am Delta Pro und einem am Powerstream.Kann mir da jemand etwas Orientierung geben? Wir würdet ihr das machen? Danke und Gruß Mike
@mikerow ich habe hinter meiner Delta Pro mit ZA einen Shelly 1 PM plus sitzen. Diesen habe ich dem Skript bekannt gemacht in der Sektion Überschussladung. Wenn überschussladung auf TRUE ist, dann schaltet das Skript den Shelly automatisch an und aus und reguliert die AC Ladeleistung in Abhängigkeit vom Hausstrom verbrauch.
Du müsstest jetzt eigentlich nur noch irgendwie einen Datenpunkt haben, der deinen PV Batteriespeicher misst. Und kannst ja dann eine Bedingung basteln. WENN PV Speciher voll DANN schalte Überschussladung auf TRUE.
Weiter oben hier im Thread gibs ein Codeschnipsel wie man den Überschussladeparameter umsetzt.
-
@mikerow ich habe hinter meiner Delta Pro mit ZA einen Shelly 1 PM plus sitzen. Diesen habe ich dem Skript bekannt gemacht in der Sektion Überschussladung. Wenn überschussladung auf TRUE ist, dann schaltet das Skript den Shelly automatisch an und aus und reguliert die AC Ladeleistung in Abhängigkeit vom Hausstrom verbrauch.
Du müsstest jetzt eigentlich nur noch irgendwie einen Datenpunkt haben, der deinen PV Batteriespeicher misst. Und kannst ja dann eine Bedingung basteln. WENN PV Speciher voll DANN schalte Überschussladung auf TRUE.
Weiter oben hier im Thread gibs ein Codeschnipsel wie man den Überschussladeparameter umsetzt.
-
@Waly_de ich hatte jetzt paar mal den Fall dass abends meine PS nicht eingespeist hat. Hatte dann festgestellt dass auf "Stromspeicher Priorisieren" gestellt war. Ich hatte dann per Hand auf "Stromversorgung priorisieren" umgestellt und sofort ging's wieder.
Das Problem scheint aber sporadisch aufzutreten. Bzw. konnte ich noch kein Muster dafür erkennen. Hast Du einen Rat? -
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: timeoutZur Info vielleicht: Ich habe eine PS und nur einen Zusatzakku Delta
-
@Waly_de ich hatte jetzt paar mal den Fall dass abends meine PS nicht eingespeist hat. Hatte dann festgestellt dass auf "Stromspeicher Priorisieren" gestellt war. Ich hatte dann per Hand auf "Stromversorgung priorisieren" umgestellt und sofort ging's wieder.
Das Problem scheint aber sporadisch aufzutreten. Bzw. konnte ich noch kein Muster dafür erkennen. Hast Du einen Rat?@accu Hey kannst du das Verhalten näher beschreiben? Ich habe auch etwas das Gefühl das abends nicht mehr alles so funktioniert wie es soll. Durch meinen Aufbau sollte eigentlich auch bis Mitternacht odr länger quasi über Solar eingespeißt werden. Aber hin und wieder "steht" zwar eine Solarspannung an aber es kommt kein Strom. Dann nach Veränderungen, Warten plötzlich funktionert es dann wieder.
-
@accu Hey kannst du das Verhalten näher beschreiben? Ich habe auch etwas das Gefühl das abends nicht mehr alles so funktioniert wie es soll. Durch meinen Aufbau sollte eigentlich auch bis Mitternacht odr länger quasi über Solar eingespeißt werden. Aber hin und wieder "steht" zwar eine Solarspannung an aber es kommt kein Strom. Dann nach Veränderungen, Warten plötzlich funktionert es dann wieder.
@aherby da gibt es eigentlich nicht viel zu beschreiben. Ich hatte ca. 3mal bisher das Problem dass der PS nach Sonnenuntergang nicht eingespeist hat. Hatte erst ewig gesucht und Geräte abgestöpselt aber dann festgestellt, dass der PS in der Setting Batterie bevorzugen stand. Habs dann manuell umgestellt und alles lief wieder. Keine Ahnung ob das im Skript irgendwo getriggert wurde und der Befehl es dann wieder zurück zu setzen nicht funktioniert hat. Wie gesagt kommt äußerst selten vor. Bei mir bisher 3x seitdem ich das Skript nutze.
-
Hallo,
0_userdata.0.ecoflow.app_1765798xxx_DCEBF8ZFAxxxxx_thing_property_set.writeables.slowChgPower sollte ja auch zum regeln der Ladegeschwindigkeit sein. Auch wenn ich diesen manuell ändere, wird es im der App nicht geändert, da scheint es irgend ein Problem zugeben.
Da wenn ich den gleichen Wert ecoflow-mqtt.0.xxxxx.inv.cfgSlowChgWatts ändere, ist dieser sofort in der App, sichtbar und angepasst.
PS: ich arbeite mit dem Zwischenschalter, ich hatte vorher die Delta Max da, lief alles ohne Probleme.
danke für die hilfe.
@maik-becker Ich kann das bei meiner Delta Pro auch feststellen. Konntest du das Problem lösen?
-
ich meine hier mal was gelesen zu haben, dass jmd die EF outdoor Batterie mit dem PS betreibt. Kann hier jemand mal paar Erfarhungsberichte posten zum Gerät und vorallem in Verbindung mit dem Skript. Erkennt das Skript die neue EF 2KWH Outdoorbatterie? wie läuft das dann wenn man schon eine delta mit PS im einsatz hat. Kann das skript beide PS steuern vorallem dann auch beim Einspeisen?
-
ich meine hier mal was gelesen zu haben, dass jmd die EF outdoor Batterie mit dem PS betreibt. Kann hier jemand mal paar Erfarhungsberichte posten zum Gerät und vorallem in Verbindung mit dem Skript. Erkennt das Skript die neue EF 2KWH Outdoorbatterie? wie läuft das dann wenn man schon eine delta mit PS im einsatz hat. Kann das skript beide PS steuern vorallem dann auch beim Einspeisen?
-
@maik-becker Ich kann das bei meiner Delta Pro auch feststellen. Konntest du das Problem lösen?
@MikeRow ja ich habe die werte noch einmal wo anderes her geholt.
-
Hallo,
ich habe jetzt eine Delta Pro und eine Delta Max mit je einem Powerstream und einer Sellysteckdose zum einschalten der AC Ladung, wie kann ich die Überschussladung für beide Geräte einstellen?