NEWS
Neuer Adapter ecoflow-mqtt
-
@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?
-
Selbst die Lösung gefunden: Man muss das Object ecoflow-mqtt.0.DCEBZXXXX.info.latestQuotas kurz auf true setzen, dann werden die Werte geholt. Kann man hierfür im Adapter nicht nen Timer laufen lassen? Sonst muss ich das extern triggern.
-
@holgerwolf
sehr interessantes Verhalten bei der DeltaPro
Meine DeltaMax sendet permanent Daten (und das nicht zu wenig), ohne eine APP geöffnet zu haben.
Das zyklische Triggern der latestQuotas habe ich für die Plugs und Powerstream drin, weil hier zwar immer wieder Telegramme kommen, aber nur mit ein oder 2 Daten und weil hier wohl auch die meisten Kommunikationsabbrüche sind.
Bei den Deltas kommen immer Telegramme zu einer bestimmten Komponente, also pd oder ems oder so.
Damit dann aber alle Werte der Komponente. latestQuotas holt alle Komponenten ab.Kannst du probeweise den Adapter in debug laufen lassen und das Häckchen bei Powerstation "msgUpdate" um herauszufinden wie lange Daten geliefert werden, nachdem die App keine Anfrage mehr sendet?
Einbauen ist kein Ding.
-
@foxthefox Die Statis kommen jetzt nach 2 Stunden immer noch rein. Liegt vielleicht an dem latestQuotas = true?
Muss ich mir dann morgen nochmal anschauen. -
@holgerwolf
latestQuotas = true ist keine Ursache dafür.
Bei jeder Zustandsänderung wird getriggert. Solange es statisch auf einem Zustand bleibt, wird auch kein Befehl abgesetzt.Nur wenn Änderungen an Werten Auftreten, wird auch etwas am Datenpunkt geändert (sonst ist das ganz schöne Last die die vielen Telegramme verursachen)