NEWS
Neuer Adapter ecoflow-mqtt
-
Aktuelle Test Version 1.0.0 Veröffentlichungsdatum 21.08.2024 Github Link https://github.com/foxthefox/iobroker.ecoflow-mqtt Warnung: Die API von Ecoflow ist nicht dokumentiert und die Benutzung des Adapters kann auch Risiken bergen.
Der Adapter basiert auf den folgenden Quellen- meine eigenen Beobachtungen und Auswertungen
- https://github.com/tolwi/hassio-ecoflow-cloud
- https://haus-automatisierung.com/hardware/2023/02/13/ecoflow-river-2-usv-batteriespeicher.html
- https://forum.iobroker.net/topic/66743/ecoflow-connector-script-zur-dynamischen-leistungsanpassung
Installation über Experteneinstellung und dann Octacat-Icon mit folgender URL:
https://github.com/foxthefox/ioBroker.ecoflow-mqtt/Es benötigt zum funktionieren die Daten für den MQTT-Broker, dazu 3 Möglichkeiten
- mit script https://github.com/mmiller7/ecoflow-withoutflow/blob/main/cloud-mqtt/ecoflow_get_mqtt_login.sh
- mit website https://energychain.github.io/site_ecoflow_mqtt_credentials/
- ecoflow Zugangsdaten eingeben und dann den Button "create login data" drücken. Danach werden die 4 Datenfelder für MQTT befüllt.
Die clientID sollte nicht doppelt verwendet werden (z.B. im Leistungsanpassungsscript), da gibt es Wechselwirkung beim Abbonieren der Quellen.
Im 2ten Tab kann man dann die Geräte definieren über neue Zeilen in der jeweiligen Tabelle definieren.
Wichtig ist die korrekte Seriennummer des Gerätes und die passende Auswahl des Typs.
Falls Zusatzakkus angeschlossen sind, dann ein Häckchen für die benutzte Schnittstelle setzen.River Geräte Geräte sind drin, aber bisher nur schwach validiert und getestet.
Wave2, Glacier, Generator, Delta Pro Ultra und Smart Home Panel, Smart Home Panel 2, Power Ocean, PowerKit sind drin , aber völlig ungetestet. Hier brauche ich unbedingt Rückmeldung.
DeltaMax und Powerstream funktionieren, DeltaPro wurde auch schon getestet.
Es werden alle ankommenden Werte in die Datenpunkte geschrieben, dies passiert nur wenn es Änderungen gibt.
Befehle funktionieren auch, hier gibt es allerdings wegen der häufigen Updates bei den Powerstations noch kurz einen alten Zwischenwert im Datenpunkt, bevor der eigentliche realisierte Befehl auch in den Daten ankommt.
Das ist kein Fehler im Adapter, sondern ein Systemverhalten.Folgende Punkte benötigen euer Augenmerk:
- Werte und ihre Sinnhaftigkeit, es kann noch Datenpunkte geben, wo die Multiplikationsfaktoren noch nicht passen
- Datenpunkte mit mehreren Zustandsinformationen, manche sind wegen Unkenntnis der noch mit "?" gekennzeichnet und wenn ein noch nicht bekannter Wert kommt, dann kommt "x - not part of array" den Zahlenwert müsste ich dann noch mit aufnehmen. Gut wäre, wenn man dann noch weiß welcher Zustand damit signalisiert wird.
- Wertegrenzen, falls es Warnungen zu überschrittenen min/max gibt, dann bitte mitteilen
- Funktionsfähigkeit aller Befehle (aus Adapter ausführen und in der APP vergleichen)
- sonstige Auffälligkeiten im Log
Durch Setzen von Häckchen im ersten Tab kann man die debug Ausgaben erweitern/eingrenzen. Diese sind nur wirksam/sichtbar wenn auch der Adapter von info auf debug gesetzt wurde.
Wenn der Adapter gefällt, würde ich mich über ein "Star" im github-rep freuen.
Gruß
Klaus -
Folgende Grenzen sind derzeitig eingestellt:
deltamini:
- cfgFastChgWatts: { min: 200, max: 900 }
- cfgSlowChgWatts: { min: 200, max: 800 }
delta:
- cfgFastChgWatts: { min: 200, max: 1200 }
- cfgSlowChgWatts: { min: 200, max: 700 }
deltamax:
- cfgFastChgWatts: { min: 200, max: 2200 }
- cfgSlowChgWatts: { min: 200, max: 700 }
deltapro:
*cfgFastChgWatts: { min: 200, max: 2900 }- cfgSlowChgWatts: { min: 200, max: 2900 }
delta2:
- cfgChgWatts: { min: 200, max: 1200 }
delta2max:
- SlowChgWatts: { min: 200, max: 2400 }
Hier wäre eine Rückmeldung gut, welche Grenzen in der APP einstellbar sind.
EDIT:
ist nun im Adapter unter doc/devices dokumentiert -
@foxthefox said in Neuer Adapter ecoflow-mqtt:
delta2max:
SlowChgWatts: { min: 200, max: 2400 }
- chgPauseFlag { 0, 1 } bisher nur mit SlowChgWatts und FastChgWatts getestet
- Piepen on / off
- dcChgCfg Autoeingang1 { 4000, 6000, 8000 }
- dcChgCfg2 Autoeingang2 { 4000, 6000, 8000 }
unabhängig steuerbar, es werden beide AddParm benötigt - openOilSoc, closeOilSoc
Ein-Ausschalten des Smart Generators { min: 0, max: 100 } - X-Boost on /off {"enabled":255,"out_freq":255,"out_voltage":4294967295,"xboost":0} , {"enabled":255,"out_freq":255,"out_voltage":4294967295,"xboost":1}
- AC on /off "enabled":0,"out_freq":255,"out_voltage":4294967295,"xboost":255}, "enabled":1,"out_freq":255,"out_voltage":4294967295,"xboost":255}
- Ac immer eingeschaltet on / off
- Backup-Reserve on / off
- Weitere Backupwerte { min: Entladegrenze + 5, max: 100 } wobei die 5 auch indirekt geändert werden kann
-
@aherby sagte in Neuer Adapter ecoflow-mqtt:
Danke für die Rückmeldung, die obige Frage zu den Grenzen war eigentlich nur auf die Leistungen beschränkt.Noch ein paar Fragen/Anmerkungen dazu (immer unterhalb):
chgPauseFlag { 0, 1 } bisher nur mit SlowChgWatts und FastChgWatts getestet
das baue ich noch ein für die Delta2Max
Piepen on / off
das sollte jetzt schon funktionieren, richtig?
dcChgCfg Autoeingang1 { 4000, 6000, 8000 }
die Werte werden auf A umgerechnet (bei Befehl wieder auf mA), der erste Ausgang sollte jetzt schon funktionieren, richtig?
dcChgCfg2 Autoeingang2 { 4000, 6000, 8000 }
dies müsste dann der Datenpunkt mppt.pv2DcChgCurrent bei mir sein, den mache ich dann bedienbar
unabhängig steuerbar, es werden beide AddParm benötigt
wie sieht denn hier der String aus, wenn man in der APP bedient? Dazu debug modus und das Häckchen für msgSetGetPstation setzen
openOilSoc, closeOilSoc
Ein-Ausschalten des Smart Generators { min: 0, max: 100 }das sollte jetzt schon funktionieren, richtig?
X-Boost on /off {"enabled":255,"out_freq":255,"out_voltage":4294967295,"xboost":0} , {"enabled":255,"out_freq":255,"out_voltage":4294967295,"xboost":1}
wenn es derzeitig noch nicht geht, dann baue ich die Zusatzdinge mit ein.
AC on /off "enabled":0,"out_freq":255,"out_voltage":4294967295,"xboost":255}, "enabled":1,"out_freq":255,"out_voltage":4294967295,"xboost":255}
wenn es derzeitig noch nicht geht, dann baue ich die Zusatzdinge mit ein.
Ac immer eingeschaltet on / off
das müsste der Datenpunkt pd.newAcAutoOnCfg sein, also bei APP Bedienung dieser Funktion sollte der sich ändern?
das sollte jetzt schon funktionieren, richtig?Backup-Reserve on / off
Gibt es in der APP einen Schalter dazu? Bei der DeltaPro kann man wohl nichts schalten, das ergibt sich wohl.
Weitere Backupwerte { min: Entladegrenze + 5, max: 100 } wobei die 5 auch indirekt geändert werden kann
das sollte jetzt schon funktionieren, richtig?
-
habe 0.0.2 in github eingestellt
- pv2DcChgCurrent as level in delta2max
- *pv2DcChgCurrent with range 4-8 and step 2
- chgPauseFlag as switch in delta2max
Damit Änderungen an Datenpunkten wirksam werden, sind diese zu löschen.
- Adpter stoppen
- Datenpunkte/struktur von der powerstation/powerstream löschen
- Adapter update
- Adapter start
-
ich krieg nicht mal die installation hin. experten und dann die url bei github als quelle? Installation Icon bleibt grau… hab’s dann mal mit npm -i versucht, da find ich den adapter dann nicht nach der installation
-
-
-
@foxthefox das ging auch nicht… weiss die genaue Fehlermeldung nicht mehr, aber irgendwie ist das Ding plötzlich in der Liste unter github aufgetaucht und ich konnte es von da installieren.
Jetzt kämpfe ich mit dem Einloggen. Methode 3 versteh ich nicht. Nicht möglich ist? Aber doch? Den Knopf Create Login Data kann ich nicht drücken… Krieg auch mit den Daten aus den anderen Möglichkeiten keine Verbindung hin. Im Log steht was von Admin adapter hätte falsche Version, wüsste aber nicht, wo ich eine andere her kriege… es scheint keine neuere zu geben. -
@sirdir
Nach der Installation sollte es so aussehen.Unter 1,2 die Zugangsdaten bei ecoflow eingeben, dann 3 drücken.
Danach erscheint 4, dort die Daten Herauskopieren und bei 5 in die 4 Felder einsetzen.Ursprünglich war es angedacht, daß die 4 Felder sich automatisch befüllen, das geht aber noch nicht.
Deswegen die Kopiererei.Die Webseite oder das script spuckt genau die gleichen Daten für 5 aus.
Gruß
KlausPS. Ich habe die admin 6.12.2 aus npm installiert und nach der fragt er auch ab.
-
@foxthefox ich habe den Login oder Zugang noch nicht hinbekommen oder eingerichtet.
chgPauseFlag { 0, 1 } bisher nur mit SlowChgWatts und FastChgWatts getestet
- {"params":{"slowChgWatts":600,"fastChgWatts":255,"chgPauseFlag":0} Befehl für die D2m
Piepen on / off
- {"enabled":0},"from":"iOS","lang":"de-de","id":"402xx","moduleSn":"R51Zxxx","moduleType":1,"operateType":"quietCfg","version":"1.0"}
-{"enabled":1},"from":"iOS","lang":"de-de","id":"402xx","moduleSn":"R51Zxxx","moduleType":1,"operateType":"quietCfg","version"
dcChgCfg Autoeingang1 { 4000, 6000, 8000 } ja werden in der App umgerechnet aber unter Parameter immer in mA.
Bei der D2M werden immer beide Werte benötigt. Es hatte mal mit Wert "255" im Script funktiont das nur ein Eingang geändert wurde, klappt leider nicht mehr. Ich weiß nicht ob am den Wert der nicht verändert wird zwischenspeichern müsste, den zu änderen auf einen der drei Werte verändert und dann beides komplett hinschicken sollte. Vielleicht eine Idee.- {"params":{"dcChgCfg":6000,"dcChgCfg2":"8000"},"from":"iOS","lang":"de-de","id":"1698xx","moduleSn":"R51Zxxx","moduleType":5,"operateType":"dcChgCfg","version":"1.0"}
hier Wert 6A für Eingang 1 und 8A für Eingang2 - {"params":{"dcChgCfg":4000,"dcChgCfg2":"4000"},"from":"iOS","lang":"de-de","id":"1698837885262","moduleSn":"R51Zxxx","moduleType":5,"operateType":"dcChgCfg","version":"1.0"}
mppt.pv2DcChgCurrent
- ich würde vom Namen auf einen Solareingangswert vom Strom tippen. Aber gerade auch mal in der App den Wert für Autoeingang2 geändert und der mppt.pv2DcChgCurrent wird auch auf den entsprechenden Wert gesetzt.
openOilSoc
- {"params":{"openOilSoc":19},"from":"iOS","lang":"de-de","id":"278xxx","moduleSn":"R51Zxxx","moduleType":2,"operateType":"openOilSoc","version":"1.0"}
( { min: 0, max: 30 } )
closeOilSoc - {"params":{"closeOilSoc":76},"from":"iOS","lang":"de-de","id":"279xx","moduleSn":"R51Zxxx","moduleType":2,"operateType":"closeOilSoc","version":"1.0"}
( { min: 50, max: 1000 } )
pd.newAcAutoOnCfg
- {"params":{"enabled":0,"minAcSoc":10},"from":"iOS","lang":"de-de","id":"317958541","moduleSn":"R51Zxxx","moduleType":1,"operateType":"newAcAutoOnCfg","version":"1.0"}
- {"params":{"enabled":1,"minAcSoc":10},"from":"iOS","lang":"de-de","id":"317958541","moduleSn":"R51Zxxx","moduleType":1,"operateType":"newAcAutoOnCfg","version":"1.0"}
Backup-Reserve on / off
- {"params":{"bpPowerSoc":24,"minChgSoc":0,"isConfig":0,"minDsgSoc":0},"from":"iOS","lang":"de-de","id":"421964987","moduleSn":"R51Zxxx","moduleType":1,"operateType":"watthConfig","version":"1.0"}
-{"params":{"bpPowerSoc":24,"minChgSoc":0,"isConfig":1,"minDsgSoc":0},"from":"iOS","lang":"de-de","id":"421964987","moduleSn":"R51Zxxx","moduleType":1,"operateType":"watthConfig","version"
Backup-Reserve
- bpPowerSoc" der Wert ist beid er App-Änderung immer 5%-Punkte über der eingestellten Entladegrenze
Bin mal auf die neuen Funktionen mit den Firmware-Updates gespannt
-
@foxthefox ich denke es liegt an der admin version. Ich kenn mich mit iobroker wohl zu wenig aus. Hab die 6.12.2 installiert gekriegt und wird mir unter adapter auch angezeigt. laut log wird sie auch geladen, aber unter instances ist immer noch die 6.12.0 aktiv und ich weiss nicht wie ich die ersetze ohne mir den Teppich unter den Füssen weg zu ziehen. Ausserdem wenn ich ne weitere instanz des angeblichen 6.12.2 installieren wollte wird der auch wieder mit 6.12.0 angezeigt…
-
@sirdir
ich stell es mal auf etwas tieferes wie 6.12.0 -
Habe die Version 0.0.3 in github eingestellt
- (foxthefox) requirement for admin 6.12.2 -> 6.12.0
- (foxthefox) iverter_heartbeat pv1InputCur, pv2InputCur factor corrected now 0.1
- (foxthefox) ems.chgAmp factor 0.0001 ( seemed too high by factor 10 )
- (foxthefox) bmsMaster.tagChgAmp factor 0.0001 ( seemed too high by factor 10 )
- (foxthefox) delta2max command for cfgDcChgCurrent/pv2DcChgCurrent changed
- (foxthefox) ensuring that commanded bppowerSoc value is always minimum 5% higher than the ems.minDsgSoc, also putting actual minDsgSoc into the command
Damit Änderungen an Datenpunkten wirksam werden, sind diese zu löschen.
- Adapter stoppen
- Datenpunkte/struktur von der powerstation/powerstream löschen
- Adapter update
- Adapter start
@aherby
den Schalter für Backup-Reserve habe ich noch nicht drin
Wozu dient dieser?
pd.newAcAutoOnCfg hat als Parameter "minAcSoc", wovon hängt dieser ab? minChgSoc scheint es ja nicht zu sein. -
Danke jetzt funktioniert alles wie es soll!
-
@sirdir
superfeedPriority ist auch schon drin
0.0.4
- (foxthefox) new switch inverter_heartbeat.feedPriority (handling the excessive solar energy when battery is full)
-
@foxthefox der klappt aber auch erst lesend, oder? Wenn ich ihn überschreibe wird er gleich wieder zurückgeändert.
-
@sirdir sagte in Neuer Adapter ecoflow-mqtt:
@foxthefox der klappt aber auch erst lesend, oder? Wenn ich ihn überschreibe wird er gleich wieder zurückgeändert.
bei mir bleib es erhalten, ich prüfe nochmal
EDIT:
hab nochmal reingeschaut, beim false habe ich noch pdata drin gehabt, das muss rausEDIT2:
war ein Schreibfehler für die Spezialbehandlung dieses Befehls, kommt mit 0.0.5 -
@foxthefox
@aherby
den Schalter für Backup-Reserve habe ich noch nicht drin
Wozu dient dieser?- Da meine D2M gerade leer ist und ich nicht in der nähe kann ich den Text aus der App für den Schalter Backupresvere nicht nachlesen. Der Schalter erhöht eindach denke ich die untere Ladegrenze. Ob damit noch etwas anderes geändert wird, noch nie getestet.
pd.newAcAutoOnCfg hat als Parameter "minAcSoc", wovon hängt dieser ab? minChgSoc scheint es ja nicht zu sein.
Denke von dem was Ecoflow einstellt oder eingestellt hat. Ändern über die App kann man den nicht.
newAcAutoOnCfg hat ja die Funktion den AC 230V-Ausgang erstmal nicht auszuschalten. Vielleicht ist das noch eine Schutzfunktion für den Akku -
Korrektur ist drin.
Es gibt auch noch die Energiewerte unterhalb vom powerstreamErste interpretation dazu
watth1= zu hauslasten, andere verbraucher
watth2= zu plugs
watth3= zu Akku
watth4= vom akku, vollstaendige entladung
watth5=
watth6=
watth7= von solar PV1
watth8= von solar PV20.0.5
- (foxthefox) cfgDcChgCurrent/pv2DcChgCurrent again with min=0, seems that there comes 0 at a certein telegram and causing warning
- (foxthefox) energy values (yield per day) for powerstream