Modul für Ecoflow-Komponenten (über HTTP-REST)

Begonnen von Neolux, 17 Februar 2025, 13:10:08

Vorheriges Thema - Nächstes Thema

KölnSolar

Hi Knut,
so gar nicht mehr aktiv ?
ZitatVersuche für gets scheitern mit 405=Method not allowed. dasselbe bekomme ich bei gets mit meinem Powerstream. Evtl. Probleme durch restriktiven Internetzugang konnte ich auch ausschließen. Die MQTT-Variante funktioniert problemlos.
Konnte ich nun lösen. gets bentötigen bei MEINEM powerstream u. Delta2 die Methode "POST". Dass bei "anderen" powerstreams "GET" funktioniert, liegt vielleicht am firmware-Stand ? ::)

Daran
ZitatHabe ich Deine gets richtig verstanden, dass Du nur das Reading ausliest und anzeigst ?
Das würde keinen Sinn machen. Ein get bezieht sich auf das physische Device(in dem Fall die Cloud), also z.B. get update/request, um sofort Daten vom device zu holen, weil man nicht auf den Ablauf des Intervalls warten möchte. Oder um Daten zu ermitteln, die nicht mit dem Standardzyklus übertragen werden.
und dem Thema Events bzw. event-on.... sollten wir uns widmen. Fällt mir immer wieder beim set auf die Füße, weil mir das Modul sagt, es hätte was gemacht und dann stelle ich später fest, dass in der Cloud u. dem Device doch nur der alte Wert steht.  :'( z.B. wenn die WLAN-Verbindung zum Device instabil ist.

Solltest Du so gar keine Zeit haben, würde ich einen fork machen.

Grüße Markus



RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

MasterRay

ZitatDass bei "anderen" powerstreams "GET" funktioniert, liegt vielleicht am firmware-Stand ?

Mein PowerStream läuft mit der (aktuellen?) Version 1.0.1.228 (Wifi 1.1.4.150) und das mit "PUT".

Schönen Tach auch.

KölnSolar

PUT beim set, oder ? Der Standard im Modul beim get ist GET und nur beim POWEROCEAN ist es POST.
Um so mehr war ich verwundert, dass mein POWERSTREAM auch nur mit POST funktioniert.

Mein Firmwarestand ist 1.1.4.61 und es wird mir die Aktuellste mit 1.1.4.140 angeboten.
Siehst Du die WifiVersion irgendwo in der Äpp oder auch nur in den readings ? Dort ist es bei mir ebenfalls 1.1.4.61  :-\

Grüße
Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

MasterRay

... HTTP-GET zum Lesen von "Ressourcen" (read), HTTP-PUT zum Senden (also ändern) bestehender "Ressourcen" (modify). Ganz klassisch ;-)

HTTP-POST wird ja, so wie ich das kenne, eher zum Hinzufügen (add) verwendet. Wenn z.B. Dateien hochgeladen werden sollen. Daher wundert mich Deine Erfahrung.

Der Wifi-Stand wird in der App beim PowerStream unter Einstellungen/Firmware angezeigt. Bei der Delta3 aber nicht.

Viele Grüße

KölnSolar

#94
Et is wie et is.  8) Schon alleine wieder, dass in Deiner Äpp 2 Firmwareversionen angezeigt werden. Bei mir nur eine unter Einstellungen/Firmware. Und jetzt kann ich nicht noch einmal gucken, weil das Ding keinen Saft mehr hat. :'(

Für die Ungläubigen habe ich es mal mit der Delta2(die hat ja 24/7 ne Verbindung  :-X ) gelogged mit Methode GET:
2025.12.16 16:51:35 3: Delta2_AC(Ecoflow 0.3.9.0): Ecoflow_Response(): redirects: 0, protocol: https, path: /iot-open/sign/device/quota, host: api-e.ecoflow.com, httpheader: HTTP/1.1 405 Method Not Allowed
Date: Tue, 16 Dec 2025 15:51:35 GMT
Content-Type: application/json;charset=UTF-8
Content-Length: 75
Connection: close
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Allow: POST,PUT
x-timestamp: 1765900295683, addr: https://api-e.ecoflow.com:443, host: api-e.ecoflow.com

Wenn die Methode also noch nicht einmal modellabhängig ist, wird man wohl oder übel zur Verallgemeinerung ein Internal beschreiben müssen, in welchem man die Methode hinterlegt, wenn der jeweils 1. Aufruf mit einem Standard(GET) in einem Fehler 405 endet.

Grüße Markus


Edit: Hab dann auch noch einmal schnell ein set mit der Modifizierung des standardmäßigen PUT durch ein GET bei der Delta2 probiert:
405 und Allow: POST,PUT Also mal auf POST geändert, http fehlerfrei, aber leider
2025.12.16 17:49:15 0: Delta2_AC(Ecoflow 0.3.9.0): Ecoflow_Response(): ERROR! {"code":"8524","message":"invalid parameter","eagleEyeTraceId":"","tid":""}
Und wie ich oben bereits schrieb: mit PUT geht das set durch(SUCCESS). Nur leider kommt es in der Delta2 nie an.  :'(
Bisher hatte ich ja immer mein nicht ganz so einfaches Netzwerk im Verdacht, aber beim Powerstream kommt der Befehl bei identischen Netzwerkbedingungen an, bei der Delta2 nicht.  :o
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt