NEWS
Adapter für Ecoflow Einbindung
-
Hi,
ich habe ja nur mein SHP eingestellt mit der Seriennummer, da ich kein PowerStream habe um zu sehen was ich auslesen kann.
Bekomme aber beim starten des Skripts diese Fehlermeldung.
2023-08-08 10:10:13.659 error Script script.js.Tests.Skript_1 is calling setState more than 1000 times per minute! Stopping Script now! Please check your script! 2023-08-08 10:09:00.238 warn at processTimers (node:internal/timers:502:7) javascript.0 2023-08-08 10:09:00.238 warn at listOnTimeout (node:internal/timers:559:17) javascript.0 2023-08-08 10:09:00.238 warn at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:228:7) javascript.0 2023-08-08 10:09:00.238 warn at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:268:28 javascript.0 2023-08-08 10:09:00.238 warn at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Job.js:171:15) javascript.0 2023-08-08 10:09:00.238 warn at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1606:34) javascript.0 2023-08-08 10:09:00.237 warn at Object.<anonymous> (script.js.Tests.Skript_1:218:9) javascript.0 2023-08-08 10:09:00.237 warn at CheckforReconnect (script.js.Tests.Skript_1:435:16) javascript.0 2023-08-08 10:09:00.234 warn getState "0_userdata.0.ecoflow.app_device_property_SP10ZEW5ZE7xxxx.RAW_HEX" not found (3)
Was bedeutet das, wo liegt der Fehler?
viele Grüße
MZ
-
@zariomahn Die Warnungen treten schon mal auf, wenn das script das erste mal gestartet wird und die States alle neu anlegen muss. Das sollte sich später legen.
Der Fehler weisst darauf hin, dass du einen oder mehrere Deltas angelegt hast. Vielleicht sendet aber auch Dein SHP Unmengen Daten. Daher setzte mal das Limit in den Einstellungen des Javascriptadapters hoch. 3000-4000 sollte reichen.
Später würde ich vielleicht die Deltas nicht subscriben, wenn Du die Daten nicht dringend brauchst.
Wenn dieser Fehler auftritt, musst du das Skript neu starten. -
@waly_de sagte in Adapter für Ecoflow Einbindung:
@zariomahn Die Warnungen treten schon mal auf, wenn das script das erste mal gestartet wird und die States alle neu anlegen muss. Das sollte sich später legen.
Der Fehler weisst darauf hin, dass du einen oder mehrere Deltas angelegt hast. Vielleicht sendet aber auch Dein SHP Unmengen Daten. Daher setzte mal das Limit in den Einstellungen des Javascriptadapters hoch. 3000-4000 sollte reichen.
Später würde ich vielleicht die Deltas nicht subscriben, wenn Du die Daten nicht dringend brauchst.
Wenn dieser Fehler auftritt, musst du das Skript neu starten.Hi, danke für die schnelle Antwort, ich habe eigentlich nur mein SHP eingetragen.
seriennummern: [ { seriennummer: "SP10ZEW5ZE7T0198", name: "SHP", isPowerStream: true, subscribe: true }, ],
das Skript stoppt immer nach ca. 2 min
viele Grüße
MZ
-
@zariomahn sagte in Adapter für Ecoflow Einbindung:
Hi, danke für die schnelle Antwort, ich habe eigentlich nur mein SHP eingetragen.
seriennummern: [ { seriennummer: "SP10ZEW5ZE7T0198", name: "SHP", isPowerStream: true, subscribe: true }, ],"isPowerStream: true" solltest du auf: "isPowerStream: false"
ändernSonst kann ich dazu nicht viel sagen, ohne selbst einen SHP zum testen zu haben.
-
@waly_de sagte in Adapter für Ecoflow Einbindung:
"isPowerStream: true" solltest du auf: "isPowerStream: false"
ändernSonst kann ich dazu nicht viel sagen, ohne selbst einen SHP zum testen zu haben.
Hi, alles klar, ich hab jetzt einfach mal den kompletten Objektbaum gelöscht und neu anlegen lassen mit den o.g. Änderungen.
Die Fehler bleiben gleich, was mich etwas wundert...
Denn "getState "0_userdata.0.ecoflow.app_device_property_SP10ZEW5ZE7xxxx.RAW_HEX" not found (3)"
ist definitiv vorhandenAber er aktualisiert die Daten alle paar Sekunden... das is schon mal gut
Muss das "subscribe: true " auch auf false gestellt werden ?
danke
viele Grüße
-
@zariomahn sagte in Adapter für Ecoflow Einbindung:
Muss das "subscribe: true " auch auf false gestellt werden ?
Nein, dann kommen keine Daten mehr.
Zu dem "not found" hab ich einen Verdacht... Ich versuche es beim nächsten Update abzufangen
-
Hallo zusammen,
ich lese über MQTT meinen River 2 MAX aus. Gibt es eine Möglichkeit ein weiteres Gerät von Ecoflow auszulesen? Bisher habe ich es nicht hinbekommen.
Edit:
Hab es jetzt doch hinbekommen Hab bei Subscribe Pattern einen "/" vergessen -
-
@waly_de sehe ich das richtig, dass man mit deinem neuen Script nur die Werte vom Powerstream schreiben kann?
Ich habe ne DELTA Pro. Mit dem alten script (bevor Ecoflow alles umgestellt hat) konnte ich auch die Werte der Delta (MaxChargeSOC, etc.) schreiben.
Mit deinemscript kann ich zwar die Werte aus der Delta auslesen, aber nciht schreiben... -
@johobo sagte in Adapter für Ecoflow Einbindung:
Mit deinemscript kann ich zwar die Werte aus der Delta auslesen, aber nciht schreiben...
hab ich nicht bewusst geändert. Schreibare States stehen unter:
0_userdata.0.ecoflow.app_1584583134200832001_xxxxxxxxxxxxxxxxxxxx_thing_property_set.writeables...und werden angelegt, wenn man entsprechendes Setting in der App verstellt, während das Script läuft.
-
@waly_de
Ich hab das mal getestet und beim Einstellen des Charge speeds gibt das Skript eine Dekodier-Fehlermeldung:16:24:12.283 info javascript.0 (1240) script.js.Ecoflow2: Fehler beim Decodieren:invalid wire type 7 at offset 116 16:24:14.992 info javascript.0 (1240) script.js.Ecoflow2: Fehler beim Decodieren:invalid wire type 4 at offset 182 16:24:19.362 info javascript.0 (1240) script.js.Ecoflow2: Fehler beim Decodieren:invalid wire type 4 at offset 182
Ich hab da in der App ein paar Mal den Wert per Schieberegler verändert und fände das auch interessant
Hier mit "debug" flag:
16:27:05.654 info javascript.0 (1240) script.js.Ecoflow2: Fehler beim Decodieren:index out of range: 183 + 118 > 197 16:27:05.655 info javascript.0 (1240) script.js.Ecoflow2: Decodierte Nachricht:{}
-
@ponti92 gabs ein update für die delta pro?
Bissher haben die Deltas doch ohne Prodbuf-Codierung gearbeitet...Wenn der debug modus an war... gab es ein zugehöriges HEX??
-
@waly_de
Meinst du die Zeile davor mit der "binären Nachricht"?2023-08-11 16:27:05.616 - info: javascript.0 (1240) script.js.Ecoflow2: Binäre Nachricht empfangen:/app/XXXXXXXXXXXXXXXXX/RXXXXXXXXXXXXXXXX/thing/property/set:7b22706172616d73223a7b22736c6f774368675761747473223a3330302c22666173744368675761747473223a3235352c226368675061757365466c6167223a307d2c2266726f6d223a22694f53222c226c616e67223a2264652d6465222c226964223a223235353831393835222c226d6f64756c65536e223a22523335315a4542344846343530343735222c226d6f64756c6554797065223a332c226f70657261746554797065223a226163436867436667222c2276657273696f6e223a22312e30227d
Das ist die Delta2Max und die müsste noch ohne Codierung funktionieren, jedoch habe ich z.b. den Wert
writeables.dcChgCfg_D2
in meinen Objekten gefunden, nachdem ich die meisten Optionen in der App mal verändert habe. -
@waly_de
Zuerst einmal vielen vielen dank für deine mühe
Das Script läuft bei mir einwandfrei, bis auf eine kleinigkeit.
Ich kann AC_set nicht auf 0 stellen, ich schreib es zwar rein aber es wird nich in die App aktualisiert.
Der kleinste Wert den ich setzen kann ist 200 (also 20 Watt).
in der App kann ich aber auf 0 setzen.
Gibt es da einen Workaround wie ich den wert schreiben muss damit es akzeptiert wird?btw:
Wir an den Script noch gearbeitet oder ist es durch das
ecoflow-connector-Script zur dynamischen Leistungsanpassung
abgelöst worden?vielen Dank
Grüße Flo -
@aikonflo ja, es ist abgelöst worden... das alte hat auch wegen Updates seitens ecoflow Probleme. Bitte nutze das neue Script
-
@michael-wahlers said in Adapter für Ecoflow Einbindung:
Bei mir läuft jetzt die Überschussladung in eine Delta 2, da diese aber augenscheinlich
die chgPauseFlag nicht unterstützt, werde ich wohl den Shelly schalten als Workaround.
chgWatts auf 0 setzen lädt weiter mit ~140W, geht also auch nicht.Gab es da bei euch @michael-wahlers oder @firebowl eigentlich noch irgendwelche neuen Erkenntnisse bzgl. AC-Ladung komplett stoppen bei der Delta 2? Also z.B. über eine Schedule als Workaround oder sowas? Oder gibt es das noch immer nur bei der River-Serie?
-
@waly_de
Danke! ich habe jetzt mal in der App die Werte verstellt und nun bekomme ich unter _set.writeables die 2 Parameter angezeigt:.acChgCfg_D2
.writeables.quietMode_D2Das ist schonmal Prima. Allerdings würden mir zu meinem Glück noch
.maxChargeSoc
.minDsgSoc
.mppt.chgPauseFlag
fehlen...Ne Idee, woran es liegen kann?
-
@johobo das ist der Aktuelle Beitrag dazu:
https://forum.iobroker.net/topic/66743/ecoflow-connector-script-zur-dynamischen-leistungsanpassungTeste mal die neuste Version des Scripts.... Damit müsste es funktionieren
-
@waly_de
Habe die Version vom 31.08. schon laufen...Wenn ich über Die App einen der Werte verändere kommt es scheinbar korrekt an:
Delta2 Set Befehl: {"params":{"maxChgSoc":81},"from":"iOS","lang":"de-de","id":"xxxxxxxxx","moduleSn":"xxxxxxxxxx","moduleType":2,"operateType":"upsConfig","version":"1.0"}Darauf sollte er ja dann das Objekt erstellen....
-
@johobo Kommando zurück. Parameter sind jetzt (ausser ChargePasueFlag) alle da.
Ich hatte wohl auch ein Problem mit den Maximalen SetState-Anfragen. nun lief es lange genug und konnte die Parameter erstellen.
Danke an Alle!