NEWS
Adapter für Ecoflow Einbindung
-
Ich habe mir eine Ecoflow River gekauft, die ich gerne in mein iobroker-Installation mit einbinden möchte. Ich habe vom Hersteller einen Link zur API bekommen.
Damit kann ich Ladezustand und Restzeit einsehen (das würde mir als Information tatsächlich auch ausreichen) . Aber welche Instrumente benötige ich, um diese Daten im iobroker zu verarbeiten?
https://iot1.ecoflow.com/api/v1/devices/queryDeviceData?sn=R7EBZ7XD8261387&appkey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
zeigt
{"code":0,"message":"success","data":{"sn":"xxxxxxxxxxxxx","data":{"remainTime":188,"socSum":87}}}
Hat das jemand schon einmal versucht? -
@boesemani sagte: {"code":0,"message":"success","data":{"sn":"xxxxxxxxxxxxx","data":{"remainTime":188,"socSum":87}}}
Blockly:
Die Variable
result
muss genau so geschrieben werden. -
@paul53 Wow mit seiner schnellen Antwort habe ich nicht gerechnet. Wo richte am Besten die Geräte für die ObjektID ein?
-
@boesemani sagte: Wo richte am Besten die Geräte für die ObjektID ein?
Unter "0_userdata.0.ecoflow".
-
@paul53 Vielen lieben Dank. Das hat auch funktioniert. Da wäre ich in diesen Form im Lebtag nicht darauf gekommen. Nur ist der Server von ecoflow wohl umgezogen (Supportanfrage läuft).
-
@paul53
Hallo Paul53,leide hat mir heute das Support-Team von EcoFlow mitgeteilt, dass sich die API seit dem letzten Update vor wenigen Tagen verändert hat.
Nun haben ich folgenden Link von EcoFlow bekommen:
curl -X GET \ https://api.ecoflow.com/iot-service/open/api/device/queryDeviceQuota?sn=DCEBxxxxxxxxx \ -H 'Content-Type: application/json' \ -H 'appKey: xxxxxxxxxxxxxxxxxxxx' -H 'secrteKey: xxxxxxxxxxxxxx'Kannst du mir bitte sagen, wie ich aus diesem Pfad die Werte auslesen kann?
Vielen Dank für deine Hilfe.
lg -
@smartdidi
Mit request() und URLs kenne ich mich nicht wirklich aus. An request() übergibt man i.d.R. den Teil ab https:
Wie allerdings die Hochkommata zu handhaben sind, weiß ich nicht. Ich würde versuchen, sie durch Anführungszeichen oder\'
zu ersetzen.EDIT: Kann man die URL im Browser aufrufen und erhält ein Ergebnis?
Alternativ sollte sich das gesamte Linux-Kommando mit exec(Kommando) ausführen lassen. -
@paul53
Ich bin hier gelandet, obwohl ich nicht IOBroker nutze (sondern Openhab)Curl ist ein Kommandozeilenbefehl von Linux. So abgesetzt bekommt man über die API einen Json-String zurück.
-H bedeutet, dass der Header entsprechend abgesendet wird.
Der String, der zurückgegeben wird, müsste entsprechen geparst werden. Bei Openhab gibt es dazu ein JsonPath Binding. Bestimmt auch bei IOBroker.
Oder habe ich das Problem nicht verstanden? -
@gisy
Danke für deinen Tipp.
Leider kenne ich mich hier nicht so gut aus.
Habe JsonPath Binding in zusammenhang mit IoBroker gegoogelt und nicht wirklich was gefunden.
Kannst du mir vielleicht trotzdem irgendwie weiterhelfen? -
@smartdidi said in Adapter für Ecoflow Einbindung:
@gisy
Danke für deinen Tipp.
Leider kenne ich mich hier nicht so gut aus.
Habe JsonPath Binding in zusammenhang mit IoBroker gegoogelt und nicht wirklich was gefunden.
Kannst du mir vielleicht trotzdem irgendwie weiterhelfen?Hi alle,
gibt es hier schon neue Erkenntnisse bzw. Lösung ?
Habe ebenfalls die Ecoflow mitsamt API
viele Grüße
MZ
-
Adapter findet ihr unter:
-
@newan GENIAL, vielen Dank
-
@newan Wie kann man den Adpater installieren im IOBroker Repository finde ich ihn nicht. http://download.iobroker.net/sources-dist-latest.json
-
@btrompetter Geht derzeit nur über Benutzerdefiniert im Expertenmodus direkt mit dem Link aus github.
Bin gerade dabei es aufnehmen zu lassen, sid aber noch 1-2 Fehler die behoben werden müssen dafür
-
@newan ich habs über den Direkt Link probiert und es gab folgenden Fehler
$ iobroker url https://github.com/Newan/ioBroker.ecoflow --host iobroker --debug install Newan/ioBroker.ecoflow#4967f4e90cfb67febbddab6c0a2d2c39631b2ff8 NPM version: 8.15.0 Installing Newan/ioBroker.ecoflow#4967f4e90cfb67febbddab6c0a2d2c39631b2ff8... (System call) npm ERR! code ENOTEMPTY npm ERR! ENOTEMPTY: directory not empty, rename '/opt/iobroker/node_modules/acorn' -> '/opt/iobroker/node_modules/.acorn-zHERliMH' npm ERR! A complete log of this run can be found in: npm ERR! /opt/iobroker/.npm/_logs/2022-09-20T09_08_31_299Z-debug-0.log host.iobroker Cannot install Newan/ioBroker.ecoflow#4967f4e90cfb67febbddab6c0a2d2c39631b2ff8: 217 ERROR: Process exited with code 25
-
Versuchs mal so auf der Console:
npm i iobroker.ecoflow
So hat es bei mir geklappt. Ich konnte danach den Adapter über die GUI finden und installieren.
-
@freevalley
Es kommt noch der gleiche Fehler
pm ERR! code ENOTEMPTY
npm ERR! syscall rename
npm ERR! path /opt/iobroker/node_modules/clone-response
npm ERR! dest /opt/iobroker/node_modules/.clone-response-nxmcopeq
npm ERR! errno -39
npm ERR! ENOTEMPTY: directory not empty, rename '/opt/iobroker/node_modules/clone-response' -> '/opt/iobroker/node_modules/.clone-response-nxmcopeq'npm ERR! A complete log of this run can be found in:
npm ERR! /opt/iobroker/.npm/_logs/2022-09-28T07_02_09_875Z-debug-0.logwürde es was bringen das Verzeichnis acorn zu verschieben so wie es in der Meldung steht? Oder macht man dann die ioBroker installation kaputt?
-
Die Frage kann ich Dir leider nicht beantworten. Dein Fehler sieht mir ähnlich aus wie dieser:
https://forum.iobroker.net/topic/57337/fehler-25-bei-adapter-install-update-mit-npm8
Vielleicht kannst du etwas davon ableiten...
-
@freevalley Danke das hat geholfen, Kennst Du schon den Adapter von HomeAssistant? Der greift direkt auf die Ecoflow im lokalen Netz zu und liest sämtliche Daten aus die man auch in der App sehen kann. Man kann auch sämtliche Schalter damit betätigen. Ist mehr als über die API Schnittstelle.
-
@btrompetter Ich habe ihn mir angesehen, aber ich verstehe den python code nicht.
Gibt es da mehr Infos oder woher stammen die Informationen vom Adapterhersteller zu der API?