NEWS
Neuer Adapter ecoflow-mqtt
-
neue Version war notwendig, da ich nicht an allen Stellen plug+stream berücksichtigt hatte
0.0.11
- (foxthefox) correction this.pstreamStatesDict to cope with pstream and plug
-
@foxthefox
Hallo foxthefox, ich habe die Version des Adapter installiert.
Powerstream und Deltas werden erkannt und die Werte angezeigt.Die Plugs werden grundsätzlich auch erkannt - zumindest wird der Objektbaum "plus_heartbeat" mit den entsprechenden Unterobjekten angelegt. Leider werden dieser aber nicht mit Daten befüllt. Im Adapter habe ich daraufhin die Protokollstufe auf "silly" gestellt. Die einzige Fehlermeldung die ausgegeben wird, ist folgende:
ecoflow-mqtt.0
2023-12-13 09:14:07.796 warn State "ecoflow-mqtt.0.HW52ZDH4xxxxxxxx2.energy.watth6" has no existing object, this might lead to an error in future versionsWenn ich die Helligkeit des PLUGS über die App ändere, wird folgendes Ergebnis protokolliert:
ecoflow-mqtt.0
2023-12-13 09:13:57.025 debug store payload TypeError: Cannot read properties of undefined (reading 'brightness')Kannst du da bitte mal prüfen? DANKE!
-
@apollosk
Danke für die Rückmeldung, ich habe ja keine Plugs und somit ist die Rückmeldung sehr wichtig.Kommt da wirklich Objektbaum "plus_heartbeat" und nicht "plug_heartbeat" ?
Das wäre zumindest ein Grund, warum dort keine Daten hereinkommen.Es war eigentlich nicht vorgesehen, daß bei Plugs auch Energie ausgelesen wird, da konnte ich bisher zu wenig analysieren.
Wenn ich soweit bin, wird es auch dort den energy Baum geben.brightness sollte eigentlich noch nicht änderbar sein, habe heute erst Daten dazu analysiert, kommt aber im nächsten Update
-
Du könntest den Adapter auch mal in den debug modus schalten, damit ein paar mehr Meldungen herauskommen.
Zusätzlich wäre dann noch ein Häckchen bei msgUpdatePlug und msgUpdateValuePlug notwendig um sich auf den Plug zu konzentrieren -
@foxthefox
Mein Fehler - es wird der Objektbaum "plug_heartbeat" angezeigtBrigthness habe ich in der App nur mal geändert um zu prüfen ob was im Adapter ankommt.
-
@apollosk
OK, dann muß es etwas anderes sein, warum es die Werte nicht schreibt.
Schonmal debug angeschaut? -
Adapter läuft jetzt im Debug-Modus, mit den entsprechenden Häckchen bei den o.g. Punkten:
ecoflow-mqtt.0 2023-12-13 18:17:09.935 warn State "ecoflow-mqtt.0.HW52ZDH4XXXXXXXX.energy.watth6" has no existing object, this might lead to an error in future versions ecoflow-mqtt.0 2023-12-13 18:16:09.746 warn State "ecoflow-mqtt.0.HW52ZDH4XXXXXXXX.energy.watth6" has no existing object, this might lead to an error in future versions ecoflow-mqtt.0 2023-12-13 18:15:30.121 debug store payload TypeError: Cannot read properties of undefined (reading 'volt') ecoflow-mqtt.0 2023-12-13 18:15:28.150 debug store payload TypeError: Cannot read properties of undefined (reading 'volt') ecoflow-mqtt.0 2023-12-13 18:15:09.660 warn State "ecoflow-mqtt.0.HW52ZDH4XXXXXXXX.energy.watth6" has no existing object, this might lead to an error in future versions ecoflow-mqtt.0 2023-12-13 18:14:09.528 warn State "ecoflow-mqtt.0.HW52ZDH4XXXXXXXX.energy.watth6" has no existing object, this might lead to an error in future versions ecoflow-mqtt.0 2023-12-13 18:13:25.023 debug store payload TypeError: Cannot read properties of undefined (reading 'volt') ecoflow-mqtt.0 2023-12-13 18:13:22.999 debug store payload TypeError: Cannot read properties of undefined (reading 'volt') ecoflow-mqtt.0 2023-12-13 18:13:09.294 warn State "ecoflow-mqtt.0.HW52ZDH4XXXXXXXX.energy.watth6" has no existing object, this might lead to an error in future versions ecoflow-mqtt.0 2023-12-13 18:12:48.122 debug store payload TypeError: Cannot read properties of undefined (reading 'volt') ecoflow-mqtt.0 2023-12-13 18:12:46.087 debug store payload TypeError: Cannot read properties of undefined (reading 'volt') ecoflow-mqtt.0 2023-12-13 18:12:09.239 warn State "ecoflow-mqtt.0.HW52ZDH4XXXXXXXX.energy.watth6" has no existing object, this might lead to an error in future versions ecoflow-mqtt.0 2023-12-13 18:12:01.010 debug store payload TypeError: Cannot read properties of undefined (reading 'volt') ecoflow-mqtt.0 2023-12-13 18:11:58.937 debug store payload TypeError: Cannot read properties of undefined (reading 'volt') ecoflow-mqtt.0 2023-12-13 18:11:09.119 warn State "ecoflow-mqtt.0.HW52ZDH4XXXXXXXX.energy.watth6" has no existing object, this might lead to an error in future versions ecoflow-mqtt.0 2023-12-13 18:10:09.107 warn State "ecoflow-mqtt.0.HW52ZDH4XXXXXXXX.energy.watth6" has no existing object, this might lead to an error in future versions ecoflow-mqtt.0 2023-12-13 18:09:08.928 warn State "ecoflow-mqtt.0.HW52ZDH4XXXXXXXX.energy.watth6" has no existing object, this might lead to an error in future versions ecoflow-mqtt.0 2023-12-13 18:08:08.801 warn State "ecoflow-mqtt.0.HW52ZDH4XXXXXXXX.energy.watth6" has no existing object, this might lead to an error in future versions ecoflow-mqtt.0 2023-12-13 18:07:08.674 warn State "ecoflow-mqtt.0.HW52ZDH4XXXXXXXX.energy.watth6" has no existing object, this might lead to an error in future versions ecoflow-mqtt.0 2023-12-13 18:06:33.187 debug store payload TypeError: Cannot read properties of undefined (reading 'brightness') ecoflow-mqtt.0 2023-12-13 18:06:28.327 debug store payload TypeError: Cannot read properties of undefined (reading 'errCode') ecoflow-mqtt.0 2023-12-13 18:06:26.370 debug store payload TypeError: Cannot read properties of undefined (reading 'errCode') ecoflow-mqtt.0 2023-12-13 18:06:08.520 warn State "ecoflow-mqtt.0.HW52ZDH4XXXXXXXX.energy.watth6" has no existing object, this might lead to an error in future versions ecoflow-mqtt.0 2023-12-13 18:05:58.235 debug store payload TypeError: Cannot read properties of undefined (reading 'heartbeatFrequency') ecoflow-mqtt.0 2023-12-13 18:05:56.769 debug subscribed the topics ecoflow-mqtt.0 2023-12-13 18:05:56.674 debug connected
Der Rest betrifft die Powerstations bzw den Powerstream.
-
@apollosk
danke derweil, es gibt ein wenig mehr EinblickEDIT:
Kann es sein, daß noch ein Häckchen bei msgUpdatePlug nicht gesetzt ist? -
@foxthefox
msgUpdatePlug und msgUpdateValuePlug, beide sind aktiviert. -
@apollosk sagte in Neuer Adapter ecoflow-mqtt:
@foxthefox
msgUpdatePlug und msgUpdateValuePlug, beide sind aktiviert.ich hatte es oben schon gelesen, aber eigentlich hätte es damit noch eine andere Meldung geben müssen.
nunja, ich schau weiter. -
Eine neue Version ist auf github verfügbar.
Plug sollte mindestens das watth6 jetzt gehen und das andere vom plug könnte funktionieren.0.0.12
- (foxthefox) new command brightness for plugs
- (foxthefox) correction of factors for plugs
- (foxthefox) powerstream bpType with value as texts
- (foxthefox) DELTA 2 factors corrected (mppt.inVol, mppt.inAmp,mppt.carOutAmp, mppt.carOutVol)
- (foxthefox) naming of watth1...8 (except 5)
-
Ich glaube es braucht eine 0.0.13 damit es mit den geänderten Faktoren für Delta2 funktioniert.
Ist in Arbeit. -
@foxthefox
Ich habe die alte Version komplett deinstalliert und die neue Version 0.0.12 installiert.
Die watth6 werden jetzt befüllt allerdings mit den Werten von einem anderen PLUG (ich habe für die Test nur 1 PLUG eingebunden). Für die restlichen Werte werden zwar die Datenpunkte angelegt aber nicht befüllt. Der LOG sieht auch unauffällig aus:ecoflow-mqtt.0 2023-12-21 09:09:15.143 warn State "ecoflow-mqtt.0.HW52ZDH4XXXXXXXX.energy.watth5" has no existing object, this might lead to an error in future versions ecoflow-mqtt.0 2023-12-21 09:09:07.735 debug store payload TypeError: Cannot read properties of undefined (reading 'heartbeatFrequency') ecoflow-mqtt.0 2023-12-21 09:09:05.243 debug subscribed the topics ecoflow-mqtt.0 2023-12-21 09:09:05.140 debug connected ecoflow-mqtt.0 2023-12-21 09:09:04.902 debug subscription topics ["/app/15109214612XXXXXXXX/HW51ZOH4XXXXXXXX/thing/property/set","/app/15109214612XXXXXXXX/HW51ZOH4XXXXXXXX/thing/property/set_reply","/app/15109214612XXXXXXXX/HW51ZOH4XXXXXXXX/thing/property/get","/app/15109214612XXXXXXXX/HW51ZOH4XXXXXXXX/thing/property/get_reply","/app/device/property/HW51ZOH4XXXXXXXX","/app/15109214612XXXXXXXX/HW52ZDH4XXXXXXXX/thing/property/set","/app/15109214612XXXXXXXX/HW52ZDH4XXXXXXXX/thing/property/set_reply","/app/15109214612XXXXXXXX/HW52ZDH4XXXXXXXX/thing/property/get","/app/15109214612XXXXXXXX/HW52ZDH4XXXXXXXX/thing/property/get_reply","/app/device/property/HW52ZDH4XXXXXXXX","/app/1510921461278973954/R351ZEB4XXXXXXXX/thing/property/set","/app/15109214612XXXXXXXX/R351ZEB4XXXXXXXX/thing/property/set_reply","/app/15109214612XXXXXXXX/R351ZEB4XXXXXXXX/thing/property/get","/app/15109214612XXXXXXXX/R351ZEB4XXXXXXXX/thing/property/get_reply","/app/device/property/R351ZEB4XXXXXXXX"] ecoflow-mqtt.0 2023-12-21 09:09:04.902 error modification or state creation went wrong ->TypeError: Cannot read properties of null (reading 'delta2max') ecoflow-mqtt.0 2023-12-21 09:09:04.902 debug manipulate: pd/chgPowerAC old--new 0.1 -- 0.001 ecoflow-mqtt.0 2023-12-21 09:09:04.902 debug manipulate: pd/dsgPowerAC old--new 0.1 -- 0.001 ecoflow-mqtt.0 2023-12-21 09:09:04.902 debug manipulate: mppt/outVol old--new 0.1 -- 0.001 ecoflow-mqtt.0 2023-12-21 09:09:04.902 debug manipulate: inv/SlowChgWatts old--new 1000 -- 2400 ecoflow-mqtt.0 2023-12-21 09:09:04.901 debug manipulate: inv/SlowChgWatts old--new 200 -- 200 ecoflow-mqtt.0 2023-12-21 09:09:04.901 debug pstation upd {"inv":{"level":{"SlowChgWatts":{"min":200,"max":2400}}},"mppt":{"number":{"outVol":{"mult":0.001}}},"pd":{"number":{"dsgPowerAC":{"mult":0.001},"chgPowerAC":{"mult":0.001}}}} ecoflow-mqtt.0 2023-12-21 09:09:04.901 info plug states created for HW52ZDH4XXXXXXXX / plug / Mikrowelle ecoflow-mqtt.0 2023-12-21 09:09:04.899 info start plug state creation ->plug for Id HW52ZDH4XXXXXXXX ecoflow-mqtt.0 2023-12-21 09:09:04.898 info pstream states created for HW51ZOH4XXXXXXXX / pstream600 / Powerstream ecoflow-mqtt.0 2023-12-21 09:09:04.891 debug not created/mismatch ->inverter_heartbeat bpType string ecoflow-mqtt.0 2023-12-21 09:09:04.876 info start pstream state creation ->pstream600 for Id HW51ZOH4XXXXXXXX ecoflow-mqtt.0 2023-12-21 09:09:04.876 debug manipulate: inverter_heartbeat/permanentWatts old--new 800 -- 600 ecoflow-mqtt.0 2023-12-21 09:09:04.876 debug manipulate: inverter_heartbeat/dynamicWatts old--new 800 -- 600 ecoflow-mqtt.0 2023-12-21 09:09:04.876 debug manipulate: inverter_heartbeat/ratedPower old--new 800 -- 600 ecoflow-mqtt.0 2023-12-21 09:09:04.875 debug pstream upd {"inverter_heartbeat":{"number":{"ratedPower":{"max":600},"dynamicWatts":{"max":600}},"level":{"permanentWatts":{"max":600}}}} ecoflow-mqtt.0 2023-12-21 09:09:04.875 info smartplugs -> [{"plugName":"Mikrowelle","plugId":"HW52ZDH4XXXXXXXX","plugType":"plug"}] ecoflow-mqtt.0 2023-12-21 09:09:04.875 info powerstation -> [{"pstationName":"Delat2Max","pstationId":"R351ZEB4XXXXXXXX","pstationType":"delta2max","pstationsSlave1":false,"pstationsSlave2":false},{"pstationName":"DeltaPro","pstationId":"DCEBZ8ZXXXXXXXX","pstationType":"deltapro","pstationsSlave1":false,"pstationsSlave2":false}] ecoflow-mqtt.0 2023-12-21 09:09:04.875 info powerstream -> [{"pstreamName":"Powerstream","pstreamId":"HW51ZOH4XXXXXXXX","pstreamType":"pstream600"}] ecoflow-mqtt.0 2023-12-21 09:09:04.875 info your configration: ecoflow-mqtt.0 2023-12-21 09:09:04.869 info adapter entered ready ecoflow-mqtt.0 2023-12-21 09:09:04.855 info starting. Version 0.0.12 (non-npm: foxthefox/iobroker.ecoflow-mqtt#492b8476033f587e99b07c15XXXXXXXXXXXXXXXX) in /opt/iobroker/node_modules/iobroker.ecoflow-mqtt, node: v18.17.1, js-controller: 5.0.16
-
Danke für die Rückmeldung.
watth5 bau ich auch noch ein, allerdings müsstest du mir dann auch einmal verraten, was das für werte sind.
Watth5/6 sind beim PowerStream immer 0.
Watth6 sollte die tägliche Energie durch den Stecker sein.Wie kommst du zur Erkenntnis, dass die watth6 von einem anderen Stecker kommt?
Die Strategie nur einen zu konfigurieren ist auf jeden Fall schonmal gut.Hatte schon vermutet, dass die normalen Werte vom Plug noch nicht gehen.
Arbeite an eine 0.0.13, sollte heute Abend kommen.
-
Version 0.0.13 ist auf github verfügbar
hab den Teil der ankommenden Nachrichten mal komplett umgebaut
und auch für erste Tests eine Checkbox für reconnect im AdapterConfig.
Setzt man den Haken, dann sollte nach 5min inaktivität die MQTT Verbindung neue aufgaebaut werden.
Falls es Probleme macht, einfach Häckchen wieder raus nehmen.Bin gespannt ob das mit den plugs jetzt klappt.
0.0.13
- (foxthefox) correction for changing of factors for pstations
- (foxthefox) watth5 for plugs
- (foxthefox) more logging pstream/plug
- (foxthefox) optional detection of no updates from mqtt server -> reconnection
-
Ich habe gerade mal zwischen dem ecoflow-connector-Script und deinem Adapter verglichen. In watth5 wird der tägliche Verbrauch des PLUGS protokolliert. Im Skript wird das noch aufgeteilt auf Stunden ausgegeben, ist m.E. aber nicht notwendig:
in watth6 wird wohl die tägliche Laufzeit des PLUGS überwacht. Auch hier erfolgt die Aufteilung in 24 Intervalle a 60 (vermutlich Minuten). Wobei bei watth5 und watth6 die Zeitumstellung nicht berücksichtigt ist.
Zurück zum Adapter:
Dieser aktualisiert die wichtigsten Daten des PLUGS jetzt korrekt - ist sogar schneller als die App selber :-):
Den Reconnect konnte ich noch nicht testen, da ich es aktuell nicht provozieren kann, dass keine Daten mehr gesendet werden. Ich bleib dran und informiere wenn ich neue Erkenntnisse habe.
-
Ergänzung zu watth6:
-
Danke für die Rückmeldung.
Schön, daß es auch jetzt die Daten der Plugs auswertet. Allerdings wundert mich noch der Wert von Strom bzw. Leistung. Ich habe fast den Verdacht, daß der Stromwert mit Faktor 10 zu hoch ist, wenn es sich mit den 2W um standby handelt.
Die Energiewerte sind immer 24, für jede Stunde, im Adapter rechne ich das zu Tageswerten zusammen.
In der Tat ist hier weder Zeitumstellung noch Zeitzone berücksichtigt.
Ist unschön, aber damit kann man leben, dann ist der Tageswert ein wenig verschoben.
Wüsste auch nicht, wie man das anders über mqtt bekommen kann.
Bei den Aufgaben hatte ich die Problematik auch schon mit der Winterzeitumstellung gehabt, da wurde dann aus 20Uhr auf einmal 19Uhr.watth5 ist nun also die Energie von der Steckdose, das werde ich umbennen (steht derzeitig bei watth6 drin)
Gut, daß du nochmal mit dem script querverglichen hast, aber watth6 ist irgendwie seltsam.
Welchen Sinn ergibt es in einem Energiewert die Einschaltdauer der Steckdose zu hinterlegen?
Du könntest eine Gegenprüfung machen und die Steckdose für eine halbe Stunde ausschalten, dann müsste der Wert in dieser Stund auch kleiner werden.
Gibt es eine solche Anzeige zur Einschaltdauer in der APP?Das mit dem reconnect ist erstmal der erste Wurf, so ganz glücklich bin ich damit noch nicht.
Denn die Geräte sind ja diejenigen, die mit Senden aufhören und nicht der Broker oder die Verbindung dorthin steht nicht mehr.
Ich würde mal in einer nächsten Version die "last Quotas" Anfrage einbauen, die wird nämlich beim Öffnen der APP auch losgeschickt. Evtl. reicht das zum Aufwecken der Gerätekommunikation. -
@foxthefox
Ja, in der App gibt es bei den PLUGS eine Anzeige für die Einschaltdauer:
Weshalb genau dieser Wert angezeigt wird, erschließt sich mir nicht. Eventuell für irgendwelche Schaltautomationen oder Statistik-Gedöns.
Ich habe gerade festgestellt, dass der Adapter bei aktivierten Reconnect sich irgendwann aufhängt. Also er wird mit "gelb" = keine Verbindung mit Gerät oder Dienst gelistet.
Ohne Reconnect läuft der Adapter stabil.Vielen Dank schon mal für deine Uterstützung und die Umsetzung als Adapter!
-
@apollosk
Wer weiß warum man diese Zeit misst, aber somit ist klar, daß watth6 eine Zeit ist und die Einschaltdauer wiedergibt.Es kann auch sein, daß ich nach dem reconnect nicht wieder auf grün gestellt habe.
Zum Prüfen kann man die hochlaufenden Zähler für powerstation und pstream sehen. Und reconnect sollte nicht zu hohe Werte erreichen.
Ich hab es ja extra als Checkbox augeführt, damit man diese neue Funktion auch wieder deaktivieren kann.