NEWS
Neuer Adapter ecoflow-mqtt
-
Ich würde über den Adapter auch gerne die Werte in der Powerstream setzen. Das Script schießt bei mir übers Ziel hinaus.
Allerdings werden die Werte nach der Änderung im Object (hier ecoflow-mqtt.0.xxxx.inverter_heartbeat.permanentWatts) nicht im Powerstream übernommen. Nach kurzer Zeit stehen wieder die alten Werte aus der App drin.
Muss ich beim Setzen der Werte nochwas beachten?
-
@holgerwolf
eigentlich sollte das schon funktionieren.
lediglich bei kleinen Werten 0...20W war schon Problem berichtet, das will ich aber morgen noch austesten, bevor ich die 0.0.19 finalisiere.kann es selbst grad nicht testen, da schon selbstabschaltung für heute passiert ist.
falls es bei größeren Werten nicht gehen sollte, dann bitte:
- adapter in debug modus versetzen
- häckchen für Pstream bei msgSetGet und msgCmd setzen
- Befehl aus iobroker setzen
- log posten oder schicken und berichten was geht/nicht geht
- den gleichen Befehl nochmal aus der App
- den Teil des logs auch posten
-
@holgerwolf
beim Setzen von Werten ist es wichtig, dies mit ACK=false bzw. im Objektbaum direkt ohne Häckchen bei Bestätigt zu tun.
Wenn ACK=true dann ist es ein Update für den Wertalso im log sollte bei 110W folgendes stehen (adapter kann in info-modus bleiben)
ecoflow-mqtt.0 2024-01-16 11:01:19.413 info (ack=false) ->cmd : channel inverter_heartbeat state permanentWatts ecoflow-mqtt.0 2024-01-16 11:01:19.413 info state ecoflow-mqtt.0.HW51ZOHxxxxxx.inverter_heartbeat.permanentWatts changed: 110 (ack = false)
-
@foxthefox OK, es lag nur an den kleinen Werten. Das hatte ich nicht auf dem Plan.
Mit 100 Watt gehts es.
Aber jetzt gleich die Nachfrage. Wie schalte ich den "Haushaltstrom" ab, wenn ich den Wert nicht auf "0" setzen kann? Habe nix anderes gefunden.
-
@holgerwolf
Das Setzen auf "0" habe ich schon überprüft und für 0.0.19 verbessert.
Das scheint eine Eigenheit im Protokoll zu sein, daß bei 0 alsw Wert bzw '0'=false keine Nutzdaten gesendet werden. Das hatte ich bisher nur für binäre Zustände, aber nun auch für Zahlen.
Demnächst veröffentliche ich die 0.0.19, dann braucht es kein "Abschalten" mehr. -
@heinz527
Das mit der Helligkeit hat sich glaube ich aufgeklärt. Die Helligkeit kommt im Bereich 0...1023 an und ich skaliere auf 0..100.
Da es scheinbar Rundungsdifferenzen gibt, wird auch der Wert immer wieder aktualisiert.
Habe es jetzt auf Ganzzahl und damit dürfte es weg sein. -
habe die Version 0.0.19 auf github und npm veröffentlicht.
Ich habe einiges umgebaut und code zusammengeführt, Fehler sind nicht ausgeschlossen, aber in meinem Tests sah alles gut aus.Durch die Zusammenlegung von code müssen leider die Geräte nochmals konfiguriert werden (Seriennummer, Type, Name)!
Falls der Adapter nicht gelöscht wurde, so ist die Zeile für das Gerät noch vorhanden.0.0.19
- (foxthefox) better error handling of incomplete messages from pstream
- (foxthefox) added indication of time tasks
- (foxthefox) cleanup pstream/plugs creation (both are protobuf)
- (foxthefox) further refactoring of code -> devices must be again defined !
- (foxthefox) differentiation between actual energy values and historical
- (foxthefox) getAllTaskCfg for powerstations in structure info
- (foxthefox) initial lastQuotas after adapter start for powerstream and plug
- (foxthefox) interpreted unknown values have now clear names
- (foxthefox) cyclic latestQuotas call instead of forced disconnect and reconnect (reconnects value only for checking, if stays with 0/null adapter has still mqtt telegrams)
- (foxthefox) new data points for deltamax
- (foxthefox) corrected pstream value changes to 0 (numbers), pdata must be omitted
-
Wert = 0 für Haushaltsstrom geht mit der 0.0.19.
Danke für die prompte Umsetzung
-
Ich habe diverse UnknownXX Datenpunkte umbenannt.
- wenn weiterhin am Ende noch ein "_xx" steht, braucht es Beobachtung und Bestätigung ob es so richtig interpretiert ist
- bei Umbenennung ohne der Endung sollte der Wert zur Bezeichnung passen.
Da ich mittlerweile auch einen Smart Plug habe, konnte ich ein paar Annahmen treffen:
- InverterHeartbeat2 - plugsConn_44 -> zeigt an, ob Plugs mit der PS kommunizieren
- plug_heartbeat - streamConn_31 -> zeigt an, ob PS für Kommunikation erreichbar ist
- plug_heartbeat - cntDevices -> Anzahl der Smart Plugs
- plug_heartbeat - dynWattEnable_39 -> Zu/Abschaltung der Leistung dieses Steckers für die Summe der dynWatt (demnächst als Schalter ?!)
Es gibt noch andere Umbenennungen, aber zu wenig Details. Diverse Datenpunkte sehen nach Status aus und sind auch so benannnt.
Wenn sich die Datenpunkte mit euren Beobachtungen decken, dann werde ich sie Umbenennen (ohne die Endung).
-
@foxthefox ist es möglich dass z.B. die Delta 2 Max dann erstmal nicht angelegt wird? Ok hat gerade keinen Saft mehr aber durch das Löschen der Objekte ist die bei mir weg. Der Powerstream obwohl auch offline wurde angelegt.
-
@aherby
Datenpunkte müssen immer angelegt sein. Das passiert beim starten automatisch. Wenn datenpunkt schon da, dann keine Übernahme von geänderten settings.
Wird ggf. bei abgeschalteten Geräten erstmal nicht befüllt.Nochmal bitte die config anschauen, ob auch der Typ gesetzt ist, Mit der Änderung habe ich die Geräteeigenschaften zusammengeführt und deswegen wird da nichts von der noch vorhandenen Installation übernommen. Wenn gelöscht, dann ist eh alles neu einzutragen.
-
@aherby
Baue grad erweiterte Tests für den github workflow und es scheint in der Tat etwas bei Delta2Max schiefzulaufen,
Bin dran.Edit:
Kommando zurück, liegt glaube ich an meinem TestEdit2:
war ggf. doch ein Schreibfehler in nem Datenpunkt drin. -
habe auf github und npm die Version 0.0.20 eingestellt
falls 0.0.19 nicht voher schon installiert war, gilt weiterhin die nochmalige Konfiguration -> 0.0.19
0.0.20
- (foxthefox) first additional integration tests
- (foxthefox) corrections in data model
- (foxthefox) new datapoints for glacier
- (foxthefox) new button in config for 'debug quotas' (retrieving data for all JSON-devices and displaying it)
-
UPDATE: alles inkl adapter gelöscht und neu aufgesetzt, geht jetzt.
scheinbar werden die Objekte der Devices (Powerstream, DeltaPro) nicht mehr angelegt. Lediglich das Device (root) selbst wird erzeugt z.B. DCEB oder HW51. Darunter ist alles leer.
Das Log füllt sich mit:
ecoflow-mqtt.0
2024-01-23 18:53:55.701 warn State "ecoflow-mqtt.0.DCEBxxxxxxxxxxx.bmsMaster.f32ShowSoc" has no existing object, this might lead to an error in future versionsWie stell ich diese Objekte jetzt wieder her, sollte das nicht automatisch geschehen?
Bitte um Hilfe.
Danke & schönen Abend,
IbrokeO -
@foxthefox danke, powerstream auf 0W setzten geht jetzt! Spitze!
-
@ibrokeo
Wenn man denn endlich weiß wie es funktioniert, kann man es auch reinbauen. -
folgender Maximalwert wäre anzupassen:
ecoflow-mqtt.0
2024-01-23 20:47:45.247 warn State value to set for "ecoflow-mqtt.0.DCEBZxxxxxxxxxx.pd.invUsedTime" has value "460798.7028" greater than max "143999"DeltaPro
LG
IbrokeO -
-
eine neue Version ist verfügbar (github + npm).
dynWattEnable_39 ist nun der Schalter "dynWattEnable" um den Stecker für die dynamische Leistung einzubeziehen
ansonsten eher kostmetische Dinge.
0.0.21 (npm)
- (foxthefox) more debug on connection
- (foxthefox) new datapoints for wave2
- (foxthefox) deleted max on duration values
- (foxthefox) moved several datapoints from number/string to arrays (mainly wave2/glacier)
- (foxthefox) moved datapoints from string to arrays (bms*.hwVersion, bms*.hwEdition, bms*.cellVol, bms*.cellTemp, pd.bmsKitState)
- (foxthefox) plug switch "dynWattEnable" which includes plug for dynamic watts of powerstream
-
Ich habe das Problem, dass die Werte in der Ecoflow Cloud nur aktualisiert werden, wenn die Ecoflow App (aufm Handy/Tablet) läuft. Der Adapter verbindet sich schon in die EF Cloud, aber die Werte sind halt alt. Sobald ich die App dann wieder öffne werden die aktualisierten Werte übertragen. Ist das systembedingt oder kann man da was ein/umstellen?