NEWS
ecoflow-connector-Script zur dynamischen Leistungsanpassung
-
@dadue-max
Also ich kann das bei mir so nicht beobachten. Aus meiner Sicht läuft es super stabil. Ich hab einmal node-red was PowerStream und powerstation zuverlässig abholt und meinen Adapter der auch die gleichen Dinge holt. In beiden Implementierungen hab ich einen Zähler drin. Getrennt für beide Geräte und der läuft munter hoch. Ich hab jetzt keine Auswertung ob mal weniger Telegramme kommen, aber gefühlt gibt’s da keine Aussetzer oder Verlangsamung. PowerStream schickt nur Daten die sich auch aus ihrer Sicht geändert haben und es wert sind auf die Reise zu gehen. Die Station schickt immer alles von einem der Teilgeräte (bms, mppt,…) und das quasi im Sekundentakt.Das einzige was auffällig bei mir ist:
- es kommen früh morgens völlig falsche Werte für die Frequenz zb 70Hz
- und falsche Spannung 320V
- und extrem hoher Werte für heartbeat, so oft schickt der stream nie etwas
Kann sein das das ein bug in der Version 1.0.0.73 ist. Die Version bekam ich von EF direkt, da ich aus dem Fehler 1 (3 Fehler Stromnetz - warten bis es sich erholt) nicht mehr raus kam.
-
@dadue-max Meine Powerstream hat auch Schrott WIFI. Manchmal denk ich, wenn viel Strom fliesst (oder hohe Temperatur? Hängt ja auch zusammen) bricht WIFI weg. Merk es aber auch nicht immer, da es, wenn viel Strom rein fliesst meist nichts zu kontrollieren gibt (Einspeisung ist dann 0 weil andere Solaranlagen genug liefern).
-
Ich vergaß auf die Wärme einzugehen. Mein System hat nicht zu viel Last und wenn es mal hoch ist, dann sind das 400w max 1/4 vs 3/4 a den Eingängen. Könnte also sein das es nicht so heiß läuft.
-
@foxthefox richtig, Hohe Temperatur ist ein Thema am Powermax. Wifi Disconnect bei über 42-43 Grad war üblich. Ich habe dann einen alten CPU Kühler montiert, der ab 40 grad anspringt und ich drossel dann auch irgendwann die Leistung. Das hat viel geholfen.
-
@waly_de ich habe alles hinbekommen, doch leider wird mir kein Feld "Power" angezeigt, nur "Power_L1", "Power_L2" und "Power_L3". Was nehm ich da jetzt?
Kannst Du irgendwie noch die PriceLevel Abfrage in Dein Tibber Script einbauen, damit man das nicht über die Instanz "Tibber Link" abrufen muss. Ich bekomme da immer Fehler....
-
Hallo zusammen,
frohe Weihnachten
Ich habe das Script seit einiger Zeit am Laufen - vielen Dank an alle, die hier an der Entwicklung beteiligt waren.
Ich habe ein River 2 Pro und würde gern die Watt-Zahl mit der AC geladen wird einstellen.
Da ich kein Delta 2 habe, kommt:
0_userdata.0.ecoflow.app_17XXXXXXXXXXXXXXXXX_R6XXXXXXXXXXXXXX_thing_property_set.writeables.acChgCfg_D2
wohl nicht in Frage (funktioniert auch nicht - bereits getestet)Meiner Meinung nach, wäre der Parameter:
0_userdata.0.ecoflow.app_device_property_R6XXXXXXXXXXXXXX.data.params.mppt.cfgChgWatts
korrekt oder?
Leider auch ohne Erfolg - auch hier ändert sich nichts.Im Script gibt es keine Auswahl vom River 2 Pro, daher habe ich auf NA gestellt.
Wie bekomme ich die AC Ladeleistung geregelt?Danke fürs helfen.
Grüße
Der Tom -
@karo2204 Jetzt ist Power plötzlich in den Objekten drin gewesen... Aber funktionieren tut es trotzdem noch nicht.
-
Ich bekomme jetzt in den Logs folgende Fehler angezeigt:
script.js.ecoflow-connector_v12__04_12_2023: getLowestValue-error: timeout
script.js.ecoflow-connector_v12__04_12_2023: Fehler beim Abrufen des niedrigsten Werts: timeout
Was kann das sein?
Grüße, Karo
-
@der-tom
Mit der Implementierung weiterer Geräte ist das immer so eine Sache, da gehört leider ein wenig Recherche und Probiererei dazu.Ich werde demnächst ein update für den ecoflow-mqtt Adapter rausbringen, der auch die River Serie enthält.
Den könnte man zum Ausprobieren und Festhalten der exakten Befehle und Daten hernehmen.
Wenn das dann eine korrekte Kommunikation mit River2Pro ergibt, dann kann man ggf. die Essenz in das Script einfließen lassen. -
@foxthefox said in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
ecoflow-mqtt Adapter
Hi,
ich habe mir mal eben fix den Adapter installiert.
Aktuell schein keine Verbindung möglich zu sein, mag mit Sicherheit an der fehlenden Auswahl der Powerstation zusammenhängen.Ich helfe Dir gern bei der Implementierung der River-Serie - zumindest was das Testen angeht.
Lass mich wissen, wenn der Adapter soweit ist, dann teste ich und liefere gern einige Debug-Logs dazu.Grüße
Der Tom -
@der-tom
ja super, am besten dann im anderen thread
https://forum.iobroker.net/topic/69819/neuer-adapter-ecoflow-mqttich habe es etwas unglücklich geschrieben, River Serie kommt mit 0.0.14 und ist noch in Arbeit.
Aber heute Abend könnte es mit dem Veröffentlichen soweit sein -
Falls das schon gefragt und beantwortet wurde:
Sorry!
Aber: Könnten wir das Script bitte auf Git/GitHub bringen?
Das Script ist genial, ich habe meinen Dank schon zum Ausdruck gebracht.
Git würde aber den Vorteil bringen dass wir alle unseren Beitrag zum Script anbieten können. Ich selber habe ein paar Zusätze die ich jedesmal wieder mühsam mergen muss wenn eine neue Version des Grundscripts kommt.
Coole Sidefeatures könnten über PullRequests in den Code einfließen, wobei dem Scriptersteller volle Kontrolle erhalten bleibt was ins Script kommt und was nicht. Außerdem stünde ein schönes changelog zur Verfügung - mir Versionskontrolle und Vergleich unter jedem Commit - top!
Ich unterstütze auch gerne beim Aufbau des Repository - falls gewünscht.
Danke dass ich meine Meinung kundtun durfte,
Mane
äh ich mein Joppe. -
Was ich auch noch erzählen wollte: Auch ich hatte zig Ausfälle des WLans am Powerstream.
Nach einigen Tests fiel auf dass die Software nicht mit dem MeshNetzwerk auskam, auch zu viele Geräte im Netzwerk führten zu Problemen.
Ich hab mir jetzt für 15 € einen eigenen Router gekauft, ein Sub-Netzwerk erstellt (Netzwerkkabel des Hauptnetzes an den WAN Port des neuen Routers...damit hab ich ein eigenes kleines WLAN nur für die ecoflow Geräte...seitdem kein einziges Mal mehr die Verbindung verloren...
Wenn jemand mehr Infos braucht...PM.
Schöne Grüße,
Joppe -
@foxthefox ,@der-tom
Matthias Klein hat vor einiger Zeit eine Ecoflow River als UVS und Batteriespeicher gebaut.
Über offizielle Api und iobroker-Forum wohl viele Infos bekommen.
Der Bloglink ist hier:
Haus-Automatisierung Ecoflow River 2 Batteriespeicherhaus-automatisierung.com/hardware/2023/02/13/ecoflow-river-2-usv-batteriespeicher.html
vielleicht hilft es.
-
@aherby
Danke, den Beitrag kenn ich, steht auch in der Readme vom Adapter -
@foxthefox Stimmt dann auch gesehen, sorry.
-
@aherby sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
@foxthefox Schau mal ob hier die Helligkeit drin ist:
Nachricht: {"header":[{"pdata":"08a307","src":32,"dest":53,"dSrc":1,"dDest":1,"checkType":3,"cmdFunc":2, "cmdId":130,"dataLen":3,"needAck":1,"seq":1683706391,"version":19,"payloadVer":1,"from":"ios","deviceSn":"HW52ZDH4SF66xxxx"}]}
Max Power / Überlastschutz hier ?:
script.js.Ecoflow_Dynamische_Leistung_V1_2: Nachricht: {"header":[{"pdata":"08880e","src":32,"dest":53,"dSrc":1,"dDest":1,"checkType":3,"cmdFunc":2,"cmdId":137,"dataLen":3,"needAck":1,"seq":1683834767,"version":19,"payloadVer":1,"from":"ios","deviceSn":"HW52ZDH4SF66xxxx"}]}
Dank Dir. Die Writeables sind in der nächsten Script-Version drin.
-
@waly_de @foxthefox Ich habe gerade mal etwas getestet oder gespielt.
feed_priortiy
ist die Einspeisekontrolle, auch schon als Schreibwert unter den Objekten vorhanden.
Einspeisekontrolle
Ist die Batterie voll geladen,, liefert das System Strom nach dem voreingestellten Strombedaf des Haushalts um die Einspeisund des überschüssigen Stroms ins Netz zu verhindern. Wenn sie den Solarertrag maximieren möchten, sollten Sie diese Funktion am besten deaktivieren.Ah ok ist ja unter Version 1.1.6.2 beschrieben das der PArameter aufgenommen wurde.
Gibt es eigentlich irgendwo eine Doku was hinter allen Parametern steckt?
-
@foxthefox sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Ja gerne, ich bräuchte auch mal ein HEX String von den normalen update Daten die zyklisch kommen, da müsste eigentlich dieses Bit für "Berücksichtigung im Powerstream"neu drin sein.
Ich hab im Script jetzt eine Möglichkeit zum Loggen aller hereinkommenden Nachrichten einer Bestimmten Serialnummer eingebaut.
const SERIAL_TO_LOG = "DAEBXXXXXXXXXXXXX" const LogAllOfSerial = false //false= nur Set-Anweisungen, true = alles von der Seriennummer
Könnte vielleicht hilfreich sein.
Die Datei sieht dann so aus:27.12.2023, 10:47:35 Topic:/app/device/property/DAEBXXXXXXXXXXXXX Data:{"addr":0,"cmdFunc":0,"cmdId":0,"id":1622934611910209800,"version":"1.0","timestamp":1703670455502,"params":{"bmsMaster.f32ShowSoc":6.7590156,"bmsMaster.designCap":40000,"bmsMaster.remainCap":1630,"bmsMaster.temp":24,"bmsMaster.bmsFault":0,"bmsMaster.maxCellTemp":24,"bmsMaster.vol":49806,"bmsMaster.soh":98,"bmsMaster.sysVer":16778263,"bmsMaster.bqSysStatReg":128,"bmsMaster.amp":0,"bmsMaster.outputWatts":0,"bmsMaster.soc":7,"bmsMaster.num":0,"bmsMaster.openBmsIdx":1,"bmsMaster.type":1,"bmsMaster.minCellTemp":24,"bmsMaster.errCode":0,"latestTimeStamp":1703670455502,"bmsMaster.maxMosTemp":27,"bmsMaster.tagChgAmp":32000,"bmsMaster.maxCellVol":3573,"bmsMaster.inputWatts":0,"bmsMaster.minMosTemp":27,"bmsMaster.remainTime":0,"bmsMaster.minCellVol":3453,"bmsMaster.fullCap":24120,"bmsMaster.cellId":1,"bmsMaster.cycles":168}} 27.12.2023, 10:47:35 Topic:/app/device/property/DAEBXXXXXXXXXXXXX Data:{"addr":0,"cmdFunc":0,"cmdId":0,"id":1622934611910213000,"version":"1.0","timestamp":1703670455632,"params":{"latestTimeStamp":1703670455632,"kit.maxKitNum":2,"kit.availableDataLen":83,"kit.productInfoDetails":[{"procedureState":1,"appVersion":83886777,"productDetail":1,"soc":0,"curPower":-10,"f32Soc":0,"protocolAvaiFlag":1,"sn":"HW51ZOH4SF5U0255","loaderVersion":83886338,"productType":75},{"procedureState":0,"appVersion":0,"productDetail":0,"soc":0,"curPower":0,"f32Soc":0,"protocolAvaiFlag":0,"sn":"","loaderVersion":0,"productType":0}],"kit.protocolVersion":1}} 27.12.2023, 10:47:36 Topic:/app/device/property/DAEBXXXXXXXXXXXXX Data:{"addr":0,"cmdFunc":0,"cmdId":0,"id":1622934620500132900,"version":"1.0","timestamp":1703670456037,"params":{"latestTimeStamp":1703670456037,"kit.maxKitNum":2,"kit.availableDataLen":83,"kit.productInfoDetails":[{"procedureState":1,"appVersion":83886777,"productDetail":1,"soc":0,"curPower":-9,"f32Soc":0,"protocolAvaiFlag":1,"sn":"HW51ZOH4SF5U0255","loaderVersion":83886338,"productType":75},{"procedureState":0,"appVersion":0,"productDetail":0,"soc":0,"curPower":0,"f32Soc":0,"protocolAvaiFlag":0,"sn":"","loaderVersion":0,"productType":0}],"kit.protocolVersion":1}} 27.12.2023, 10:47:36 Topic:/app/device/property/DAEBXXXXXXXXXXXXX Data:{"addr":0,"cmdFunc":0,"cmdId":0,"id":1622934620500139300,"version":"1.0","timestamp":1703670456294,"params":{"ems.chgCmd":2,"ems.bmsWarningState":0,"ems.minDsgSoc":7,"ems.paraVolMax":50805,"ems.f32LcdShowSoc":6.7578773,"ems.lcdShowSoc":7,"ems.emsIsNormalFlag":1,"ems.bms0Online":3,"ems.minOpenOilEbSoc":0,"ems.maxChargeSoc":99,"ems.chgRemainTime":5999,"ems.paraVolMin":48805,"ems.openBmsIdx":1,"ems.dsgRemainTime":489,"ems.maxAvailableNum":1,"latestTimeStamp":1703670456294,"ems.bms1Online":3,"ems.chgVol":50806,"ems.bmsModel":2,"ems.dsgCmd":2,"ems.openUpsFlag":1,"ems.maxCloseOilEbSoc":100,"ems.chgState":1,"ems.fanLevel":0,"ems.chgAmp":0,"ems.bms2Online":0}} 27.12.2023, 10:47:36 Topic:/app/device/property/DAEBXXXXXXXXXXXXX Data:{"addr":0,"cmdFunc":0,"cmdId":0,"id":1622934620500140500,"version":"1.0","timestamp":1703670456336,"params":{"bmsMaster.f32ShowSoc":6.7590156,"bmsMaster.designCap":40000,"bmsMaster.remainCap":1630,"bmsMaster.temp":24,"bmsMaster.bmsFault":0,"bmsMaster.maxCellTemp":24,"bmsMaster.vol":49806,"bmsMaster.soh":98,"bmsMaster.sysVer":16778263,"bmsMaster.bqSysStatReg":128,"bmsMaster.amp":0,"bmsMaster.outputWatts":0,"bmsMaster.soc":7,"bmsMaster.num":0,"bmsMaster.openBmsIdx":1,"bmsMaster.type":1,"bmsMaster.minCellTemp":24,"bmsMaster.errCode":0,"latestTimeStamp":1703670456336,"bmsMaster.maxMosTemp":27,"bmsMaster.tagChgAmp":32000,"bmsMaster.maxCellVol":3573,"bmsMaster.inputWatts":0,"bmsMaster.minMosTemp":27,"bmsMaster.remainTime":0,"bmsMaster.minCellVol":3453,"bmsMaster.fullCap":24120,"bmsMaster.cellId":1,"bmsMaster.cycles":168}} 27.12.2023, 10:47:36 Topic:/app/device/property/DAEBXXXXXXXXXXXXX Data:{"addr":0,"cmdFunc":0,"cmdId":0,"id":1622934620500143900,"version":"1.0","timestamp":1703670456485,"params":{"latestTimeStamp":1703670456485,"kit.maxKitNum":2,"kit.availableDataLen":83,"kit.productInfoDetails":[{"procedureState":1,"appVersion":83886777,"productDetail":1,"soc":0,"curPower":-10,"f32Soc":0,"protocolAvaiFlag":1,"sn":"HW51ZOH4SF5U0255","loaderVersion":83886338,"productType":75},{"procedureState":0,"appVersion":0,"productDetail":0,"soc":0,"curPower":0,"f32Soc":0,"protocolAvaiFlag":0,"sn":"","loaderVersion":0,"productType":0}],"kit.protocolVersion":1}}
bei den PS oder Plugs kommen die Hexstrings uninterpretiert.
Ist das für Dich so zu gebrauchen?
Kommt mit der nächsten Version -
@der-tom sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Hallo zusammen,
frohe Weihnachten
Ich habe das Script seit einiger Zeit am Laufen - vielen Dank an alle, die hier an der Entwicklung beteiligt waren.
Ich habe ein River 2 Pro und würde gern die Watt-Zahl mit der AC geladen wird einstellen.
Da ich kein Delta 2 habe, kommt:
0_userdata.0.ecoflow.app_17XXXXXXXXXXXXXXXXX_R6XXXXXXXXXXXXXX_thing_property_set.writeables.acChgCfg_D2
wohl nicht in Frage (funktioniert auch nicht - bereits getestet)Meiner Meinung nach, wäre der Parameter:
0_userdata.0.ecoflow.app_device_property_R6XXXXXXXXXXXXXX.data.params.mppt.cfgChgWatts
korrekt oder?
Leider auch ohne Erfolg - auch hier ändert sich nichts.Im Script gibt es keine Auswahl vom River 2 Pro, daher habe ich auf NA gestellt.
Wie bekomme ich die AC Ladeleistung geregelt?Danke fürs helfen.
Grüße
Der Tomich würde Dir gern helfen und den " River 2 Pro" als neuen Typen anlegen.
Damit das möglichst schnell geht, kannst du mir helfen.
Bitte mach folgendes:- Suche im Script nach:
const SERIAL_TO_LOG = "DAEBXXXXXXXXXXXXX" - Trage da die Seriennummer von Deinem River 2 Pro ein.
- Starte das Script
- Ändere in der App alles was man verändern kann einmal und stell es dann wieder auf den Urzustand
- ändere dann wieder:
const SERIAL_TO_LOG = "DAEBXXXXXXXXXXXXX"
Damit das Logfile nicht zu groß wird.
Dann schick mir bitte das File. Du findest es unter: 'Protokolle / Log Herunterladen'
- Suche im Script nach: