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 Hardy,
ZitatWelche könntest Du mit noch empfehlen?
Nimm die, einen Post vor deinem Ersten.  ;)
Zitat230V AC Ausgangs-Seite, die USB Ausgänge und den 12 V DC  Ausgang ein und ausschalten können
Ich gucke mal am WE.
ZitatAC Ladeleistung
Geht bereits problemlos: data_mppt.cfgChgWatts
Zitatper WLAN und und MQTT direkt und ohne EcoFlow-Cloud auf die EcoFlow
Für MQTT gibt es 2 Möglichkeiten. Leider aber auch nicht ohne Cloud. Ohne Cloud geht nur über Bt und die Äpp, nicht mit FHEM.
Grüße Markus
RPi5/3/2 Trixie-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)-ecovacs(mqtt2)-zigbee2mqtt

KölnSolar

Hi Hardy,
anbei eine Version mit geänderten sets für Delta2:
         "data_pd.acOutCfg" AC-Ausgang
         "data_pd.dcOutCfg" USB-Ausgang.

Bitte vorsichtig(ohne angeschlossene Geräte; readings u. Äpp prüfen) testen, da ich nur die Syntax und "on" testen konnte, da meine gesamten produktiven Netzwerk-/FHEM-Geräte angeschlossen sind.

Zu 12V/Car habe ich nichts gefunden. Bitte selber mal on/off schalten und mir mitteilen welche readings sich verändert haben.

Grüße Markus
RPi5/3/2 Trixie-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)-ecovacs(mqtt2)-zigbee2mqtt

Hardy62

Hallo Markus,
oh - das freut mich sehr - vielen Dank! Ich schau es mir an und melde mich.
Viele Grüße Hardy

DS_Starter

Hallo Markus,

ich möchte das Modul mal mit meiner River Max ausprobieren.
Wo finde ich die aktuellste Version, in deinem letzten Post oder sollte ich die vom Threadstart für den Einstueg verwenden?

Grüße,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

KölnSolar

#229
Hi Heiko,
nimm die Letzte.
Aber: Eine River ist scheinbar noch gar nicht implementiert. Vielleicht funktioniert das zyklische Lesen trotzdem.

Für sets finde ich in der API Doku nur eine River 2 Pro. :(

Versuch macht kluch.

Have fun
Markus
Edit: Andere Ecoflow hast Du vermutlich nicht ? Poste, wenn erfolgreich, mal die anonymisierte Device list aus den Internals.
RPi5/3/2 Trixie-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)-ecovacs(mqtt2)-zigbee2mqtt

Hardy62

#230
Hallo Markus,
bin jetzt endlich zum Testen gekommen!
Es funktioniert hervorragend die LadeLeistung zu verändern!
Man kann allerdings mit dem Slider jetzt krumme Werte für die Ladeleistung eingeben!
Die App macht nur Ladeleistung in 100-er Schritten. Könnte das ein Problem werden ?

Auch den 230 V AC Ausgang kann ich ein und ausschalten.
 
Das nachfolgende schaltet bei mir (EcoFlow-Delta2) den USB-Anschluss ein !
set data_pd.dcOutCfg 1

nur das nachfolgende macht leider nicht die inverse Operation!
set data_pd.dcOutCfg 0   

In meiner MQTT-Variante der EcoFlow-Einbindung mache ich das USB-EIN/AUS mit "dcOutCfg"  ohne data_pd am Anfang!
sowie die 12 V DC EIN/AUS mit "mpptCar" ohne data_pd am Anfang!

unter  "data_pd...."  erscheinen bei mir (MQTT-Variante)  die Abgabeleistungen der einzelnen Anschlüsse:
Sum_Watt:  <b>[$name:data_pd.wattsOutSum] W</b><br>
USB-C:        <b>[$name:data_pd.usb1Watts] W</b><br>
USB-A:        <b>[$name:data_pd.usb2Watts] W</b><br>
12V:            <b>[$name:data_pd.carWatts] W</b><br>
Ich danke Dir für das Einpflegen der interessanten Parameter !
viele sonnige Grüße Hardy

KölnSolar

#231
Hi Hardy,

Zitatnur das nachfolgende macht leider nicht die inverse Operation!
CodeAuswählen
set data_pd.dcOutCfg 0
Das kann eigentlich nicht sein, da lediglich der Unterschied in 0 u. 1 besteht.

Doku:
ZitatSet DC(USB) switch(0: off, 1: on)

           

{
    "id": 123456789,
    "version": "1.0",
    "sn": "R331ZEB4ZEAL0528",
    "moduleType": 1,
    "operateType": "dcOutCfg",
    "params": {
        "enabled": 0
    }
}   
und müsste in "data_pd.dcOutState" sichtbar sein. Ansonsten mal das Log bei verbose=5 posten.
Zitat12 V DC EIN/AUS mit "mpptCar"
baue ich mal in der beigefügten Version ein.
Vermutlich ist das charger dann ein Doku- oder mein Interpretationsfehler
ZitatSet car charger switch (1: On; 0: Off)
{
    "id": 123456789,
    "version": "1.0",
    "sn": "R331ZEB4ZEAL0528",
    "moduleType": 5,
    "operateType": "mpptCar",
    "params": {
        "enabled": 1
    }
Sollte dann in data_mppt.carState sichtbar sein.

Wie gesagt, vorsichtig testen, weil ich es selber nicht kann.

Grüße Markus

Edit:
ZitatDie App macht nur Ladeleistung in 100-er Schritten. Könnte das ein Problem werden ?
Sehe ich unkritisch.
RPi5/3/2 Trixie-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)-ecovacs(mqtt2)-zigbee2mqtt

DS_Starter

Vorige Woche Montag habe ich den API Zugang bzw. Developer Status bei EcoFlow beantragt damit ich das Modul nutzen kann. Bis jetzt kam keine Antwort.
Wie lange dauert das im Allgemeinen? Ggf. hat dabei etwas nicht geklappt.

LG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

KölnSolar

Hallo Heiko,
es dauert leider immer die ein oder andere Woche.
ZitatGgf. hat dabei etwas nicht geklappt.
Falsch geht eigentlich nicht. Musst es nur mit der Mailadresse machen, mit der Du in der Äpp devices registriert hattest.
Anmelden auf der Developer-Seite geht, aber Du siehst dort noch keinen key ? Ich meine mich schwach zu erinnern, dass ich keine Nachricht bekam und plötzlich war der key dort sichtbar.

Grüße Markus

RPi5/3/2 Trixie-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)-ecovacs(mqtt2)-zigbee2mqtt

DS_Starter

Hallo Markus,

tatsächlich ... da hätte ich lange auf eine Mail warten können.
Danke für den Tipp  :)

Grüße,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Amok

Hallo zusammen,

Ich habe gerade dieses Modul entdeckt und wollte damit mein EcoFlow STREAM Ultra und den EcoFlow Smartmeter in FHEM einbinden.

Dazu habe ich folgendes define verwendet:
defmod EcoFlow Ecoflow xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx yyyyyyyyyyyyyyyy
attr EcoFlow ecInterval 10
attr EcoFlow icon solar

Danach habe ich den SecretKey gesetzt und auf "set connect" gedrückt.
Das Modul konnte scheinbar auch eine Verbindung aufbauen, "get devices" gibt mir auch beide Geräte zurück.

Allerdings war es das auch schon ?!?

Sollten nicht (im 10 Sekunden Intervall) irgendwelche Werte in den Readings auftauchen?
Leider passiert da bei mir noch nichts. Habe ich etwas übersehen zu konfigurieren?

Ich habe den Thread nur überflogen, aber ich meine auch andere STREAM Ultra Nutzer gelesen zu haben, oder wird dieses Gerät noch nicht vom Modul unterstützt?

Das EcoFlow System ist für mich noch Neuland, darum habe ich auch mal probiert den Weg über den MQTT-Client zu gehen - da kommt schon wesentlich mehr zurück, allerdings ist die Datenflut auch etwas erschlagend ... von daher finde ich es gut, dass es dieses Modul gibt und hoffe, dass es noch kräftig erweitert wird  ;D

Gruß
Thomas

DS_Starter

MIt meiner RIVER MAX habe ich das Modul nun auch getestet.
Aber das Model scheint nicht unterstützt zu werden. Es kommt die Meldung:

message    current device is not allowed to get device info

Naja, das Model steht ja auch nicht in der API-Liste. Es war ein Versuch ... vllt. kommt da ja noch etwas seitens EcoFlow.

Grüße,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

KölnSolar

Das
Zitatattr EcoFlow ecInterval 10
zeigt mir, dass Du entweder eine alte Version nutzt oder mit meiner Version ein falsches Attribut setzt.
Zitatoder wird dieses Gerät noch nicht vom Modul unterstützt?
nicht von der alten Version.  ;)

ZitatNaja, das Model steht ja auch nicht in der API-Liste. Es war ein Versuch ... vllt. kommt da ja noch etwas seitens EcoFlow.
Vielleicht geht's ja trotzdem. Habe bei HA gesehen, dass die es wohl drin haben. Stell doch mal mit verbose=5 was hier ein. Ein defmod, connect, get devices...

Grüße Markus

RPi5/3/2 Trixie-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)-ecovacs(mqtt2)-zigbee2mqtt

DS_Starter

#238
Hallo Markus,

ja, generell geht der Abruf:

....
2026.06.17 22:58:57.004 5: Ecoflow(Ecoflow 0.0.0.2): Ecoflow_Response() device list: $data = {"code":"0","message":"Success","data":[{"sn":"M3EBF7ZXXXXX","deviceName":"","online":1,"productName":"RIVER Max"}],"eagleEyeTraceId":"","tid":""}
2026.06.17 22:58:57.007 5: Ecoflow(Ecoflow 0.0.0.2): Ecoflow_Response(): code = 0
2026.06.17 22:58:57.008 5: Ecoflow(Ecoflow 0.0.0.2): Ecoflow_Response(): data_1_deviceName =
2026.06.17 22:58:57.010 5: Ecoflow(Ecoflow 0.0.0.2): Ecoflow_Response(): data_1_online = 1
2026.06.17 22:58:57.012 5: Ecoflow(Ecoflow 0.0.0.2): Ecoflow_Response(): data_1_productName = RIVER Max
2026.06.17 22:58:57.014 5: Ecoflow(Ecoflow 0.0.0.2): Ecoflow_Response(): data_1_sn = M3EBF7ZXXXXX
2026.06.17 22:58:57.016 4: Ecoflow(Ecoflow 0.0.0.2): Ecoflow_Response(): data_1_sn : Comparing SerialNo M3EBF7ZXXXXX
2026.06.17 22:58:57.017 5: Ecoflow(Ecoflow 0.0.0.2): Ecoflow_Response(): $base = data_1
2026.06.17 22:58:57.019 5: Ecoflow(Ecoflow 0.0.0.2): Ecoflow_Response(): eagleEyeTraceId =
2026.06.17 22:58:57.021 5: Ecoflow(Ecoflow 0.0.0.2): Ecoflow_Response(): message = Success
2026.06.17 22:58:57.023 5: Ecoflow(Ecoflow 0.0.0.2): Ecoflow_Response(): tid =

Offensichtlich fehlt aber noch etwas (eagleEyeTraceId ? , tid ?, data_1_deviceName ?), denn Readings bleiben weiterhin

setstate Ecoflow 2026-06-17 22:56:24 code 1006
setstate Ecoflow 2026-06-17 22:56:24 message current device is not allowed to get device info

Oder muß man in der App noch etwas "freigeben"? Habe aber nichts gesehen.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

KölnSolar

ZitatOder muß man in der App noch etwas "freigeben"? Habe aber nicht gesehen.
No.
ZitatOffensichtlich fehlt aber noch etwas
Jein.
Zitatdata_1_productName = RIVER Max
Ist erstmal der "Schluessel" den ich brauche, um den Device type zu erkennen. Der wird dann für die Programmsteuerung genutzt. Ich bastle morgen mal... ;)

RPi5/3/2 Trixie-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)-ecovacs(mqtt2)-zigbee2mqtt