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

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

Vorheriges Thema - Nächstes Thema

MasterRay

ZitatJa schade, dann beerdigen wir die River Max.

In der DeviceList wird bei mir auch das nicht-unterstützte Gerät gelistet, allerdings ohne "productName" ("Modell). Die Sache hat also offenbar Methode: 1006 geht eben (noch) nicht.

DS_Starter

#256
Feature Request abgesendet ... mal schauen.  :)

Wen es interessiert, kann man machen unter:  https://developer-eu.ecoflow.com/us/document/community -> Support
Proxmox+Debian+MariaDB, PV: SMA, Victron+Pylontech
Maintainer:SSCam,SSChatBot,SSCal,SSFile,DbLog,DbRep,Log2Syslog,SolarForecast,Watches,Dashboard,PylonLowVoltage,MemSaver
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Amok

Mir ist heute die Solaranlage ausgestiegen ... wegen Überhitzung  ::)

Leider habe ich das nicht gemerkt (hätte gedacht bei Fehlern Push-ed die App was aufs Handy?!?)

Jedenfalls ... als ich einfach mal nachsehen wollte, was da gerade so passiert, hat mich folgendes Bild begrüßt:

Du darfst diesen Dateianhang nicht ansehen.

Den Fehler "11" habe ich per MQTT-Client auch in "quota_devErrcodeList_devErrcode_1" gesehen.

Wäre das eventuell etwas für das Modul, so dass man sich mit einem Notify an die Fehlermeldung hängen und benachrichtigen lassen kann?

Was anderes noch ... mittlerweile funktioniert die Anlage wieder, aber der Fehlercode bleibt im Reading ?!?

Gibt es ggf. irgendwo eine Liste mit weiteren Fehlercodes? Dann könnte man die Nachricht ja direkt in Text ausgeben ...


Gruß
Thomas

dergolem

Zitat von: KölnSolar am 18 Juni 2026, 12:39:31Da hatte Denis mal was zu gesagt, nur Anzeigeproblem (?) und ansonsten hat er eigentlich eine wirksame Korrektur gemacht.
@Denis: was meinst Du ?
Hi, einfach den Quelltext der LogSeite anzeigen lassen, dann wisst ihr sofort ob es "nur" ein fehler in der Anzeige ist

Gruß Denis

PS: ich habe gerade das Problem, dass meine alte 600W Anlage mit Deye sun 600 Welchselrichter rumspinnt, die stellt immer wieder mal für einen Tag die Arbeit ein...

KölnSolar

Danke Dir.

ZitatWäre das eventuell etwas für das Modul, so dass man sich mit einem Notify an die Fehlermeldung hängen und benachrichtigen lassen kann?

Was anderes noch ... mittlerweile funktioniert die Anlage wieder, aber der Fehlercode bleibt im Reading ?!?
Nein. Das Modul liefert alles, was die API zu bieten hat. Wundert mich aber, dass es das reading im Modul-device nicht gibt.
Bei der Delta2 sind API u. MQTT fast identisch.
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

Amok

Zitat von: dergolem am 19 Juni 2026, 03:28:14ich habe gerade das Problem, dass meine alte 600W Anlage mit Deye sun 600 Welchselrichter rumspinnt, die stellt immer wieder mal für einen Tag die Arbeit ein...

Vielleicht ist der auch zu warm?  ;D

Zitat von: KölnSolar am 19 Juni 2026, 06:34:11Das Modul liefert alles, was die API zu bieten hat. Wundert mich aber, dass es das reading im Modul-device nicht gibt.
Bei der Delta2 sind API u. MQTT fast identisch.

Also meine Readings vom Modul sind recht überschaubar:

Du darfst diesen Dateianhang nicht ansehen.

Aber ich musste ja auch das Modell manuell setzen, das hat es nicht automatisch erkannt (ach ja... und ich habe eine EcoFlow STREAM Ultra).

Der MQTT-Client liefert mir 464 Readings  :o

KölnSolar

ZitatDer MQTT-Client liefert mir 464 Readings
Ich hatte mich schon gewundert, dass die Delta so extrem viel mehr readings als eine Ultra hat.

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

Amok

#262
Gibt es denn eine Chance, das über das Modul auch zu erreichen?

Aktuell bastel ich an einem "StateFormat" für das MQTT-Device, da ich dort so viele Daten habe ...

Du darfst diesen Dateianhang nicht ansehen.

aber ich schaffe es noch nicht daten via MQTT-Set zu senden (und ich müsste z.B. für mein Vorhaben die AC1/CA2 schalten)...

KölnSolar

Nein. Das Modul nutzt die API.

Schalten kannst Du ja mit dem Modul.Wie sieht denn Deine Setlist in MQTT aus ?
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

Amok

#264
Ich habe angefangen mit dem Beispiel aus der Doku:

https://developer-eu.ecoflow.com/us/document/PP3?id=2058828605315256321#set-set-reply

{
    "id": 123,
    "version": "1.0",
    "sn": "BK11ZEBB2H350011",
    "cmdId": 17,
    "cmdFunc": 254,
    "dirDest": 1,
    "dirSrc": 1,
    "dest": 2,
    "needAck": true,
    "params": {
        "cfgRelay2Onoff": true
    }
}

also:

AC1_on:noArg /open/open-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/YYYYYYYYYYYYYYYY/set {"id":123,"version":"1.0","sn":"YYYYYYYYYYYYYYYY","cmdId":17,"cmdFunc":254,"dirDest":1,"dirSrc":1,"dest":2,"needAck":true,"params":{"cfgRelay2Onoff":true}}
AC1_off:noArg /open/open-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/YYYYYYYYYYYYYYYY/set {"id":123,"version":"1.0","sn":"YYYYYYYYYYYYYYYY","cmdId":17,"cmdFunc":254,"dirDest":1,"dirSrc":1,"dest":2,"needAck":true,"params":{"cfgRelay2Onoff":false}}
AC2_on:noArg /open/open-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/YYYYYYYYYYYYYYYY/set {"id":123,"version":"1.0","sn":"YYYYYYYYYYYYYYYY","cmdId":17,"cmdFunc":254,"dirDest":1,"dirSrc":1,"dest":2,"needAck":true,"params":{"cfgRelay3Onoff":true}}
AC2_off:noArg /open/open-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/YYYYYYYYYYYYYYYY/set {"id":123,"version":"1.0","sn":"YYYYYYYYYYYYYYYY","cmdId":17,"cmdFunc":254,"dirDest":1,"dirSrc":1,"dest":2,"needAck":true,"params":{"cfgRelay3Onoff":false}}


nur leider tut sich nix :(


EDIT: OK... funktioniert wohl ... wenn man die korrekte Seriennummer verwendet ... Copy&Paste Fehler ...

Damian

Zitat von: Damian am 21 April 2026, 12:01:45
Zitat von: OliverHH am 21 April 2026, 11:45:24
Zitat von: Damian am 21 April 2026, 11:28:08Der einzige Smartmeter der lokal mit dem Stream funktioniert ist wohl der eigene von ecoflow

Wenn dem so ist, müsste man also den Smartmeter von Ecoflow simulieren. Ich habe hier noch so einen liegen (gab es dazu). Ich könnte damit einmal einen Testaufbau machen.


ja, dass es so ist, bin ich mir ziemlich sicher, siehe: https://www.youtube.com/watch?v=nKEBZ9y_vYI

Ob man das Ding simuliert bekommt - da bin ich mal gespannt, dürfte nicht so einfach sein, da die Einbindung des Smartmeters schon über die App läuft und die kommuniziert ja beim Einbinden eines Smartmeters mit der Cloud von Ecoflow.

Da ich zuletzt Probleme beim Ecoflow Powerstream AC bei der Nulleinspeisung in Kombination mit dem Puls von Tibber hatte. Hatte ich mich auf die Suche nach einer cloudfreien und damit stabileren Lösung gemacht.
Nach einer Stunde Dialog mit der KI, habe ich tatsächlich einen lokalen Emulator für die Ecoflow ans Laufen bekommen ;)

Mein Hauszähler wird bereits vom Puls als auch vom Tasmota per IR ausgelesen. Die aktuelle Leistung wird von Tasmota per MQTT an FHEM übertragen.

Es wird ein lokaler Ecotracker emuliert. Der Datenfluss ist wie folgt:
┌──────────────────────┐
│      Stromzähler    │
│      MT681/POWCT    │
└──────────┬───────────┘
          │
          │ Messwert
          ▼
┌──────────────────────┐
│  ESP8266 / Tasmota  │
│  tasmota_C58DCB    │
└──────────┬───────────┘
          │
          │ MQTT
          │
          │ aktuell normale Telemetrie:
          │ tele/tasmota_C58DCB/SENSOR
          │
          ▼
┌──────────────────────┐
│        FHEM        │
│  MQTT2_DVES_C58DCB  │
│                      │
│ SENSOR_MT681_Power_cur│
│ SENSOR_MT681_Total_in│
│ SENSOR_MT681_Total_out│
└──────────┬───────────┘
          │
          │ HTTP / FHEM API
          │
          ▼
┌────────────────────────────────┐
│      Perl EcoTracker Emulator  │
│                                │
│  192.168.178.64:8080          │
│                                │
│  GET /v1/json                  │
│                                │
│  ┌──────────────────────────┐  │
│  │ power                    │  │
│  │ powerAvg                │  │
│  │ powerPhase1/2/3          │  │
│  │ energyCounterIn          │  │
│  │ energyCounterOut        │  │
│  └──────────────────────────┘  │
└───────────────┬────────────────┘
                │
                │ mDNS
                │ _everhome._tcp
                │
                │ HTTP /v1/json
                ▼
┌────────────────────────────────┐
│      EcoFlow STREAM AC Pro    │
│                                │
│  findet EcoTracker über mDNS  │
│  und liest Messwerte per HTTP  │
└────────────────────────────────┘

Der Emulator wird vom Ecoflow Stream erkannt und die Nulleinspeisung läuft. Das Problem ist noch, dass Tasmota minimal nur alle 10 Sekunden per Mqtt sendet, das muss ich auf 1 Sekunde drücken, damit es auch richtig Spaß macht.

Der Emulator ist in Perl programmiert und läuft auf dem FHEM-Server.

Bei Interesse bitte melden. Da ist bestimmt noch Feintuning nötig.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

KölnSolar

Hi Damian,
Glückwunsch und natürlich ist es von Interesse.
Das ist also ein Codeschnipsel, den man ins Modul einbauen könnte ?
Und 7 Attribute, umpower                    │  │
│  │ powerAvg                │  │
│  │ powerPhase1/2/3          │  │
│  │ energyCounterIn          │  │
│  │ energyCounterOut        │  │
readings aus einem existenten Device(bei mir der IR-Lesekopf und OBIS) zu holen ?
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

Damian

Es ist ein Perl-Script, was man als Daemon laufen lassen kann. Es ist noch auf meine Bedürfnisse programmiert, könnte man aber sicherlich ausbauen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

KölnSolar

#268
Danke !

Vorneweg: Das Skript stellt einen lokalen Server auf Port 8080 bereit, der den Server eines everhome ecotrackers simuliert. Der ecotracker lässt sich dann als Drittanbieter-device(im Gegensatz zum ecoflow smartmeter) in die ecoflow-App einbinden. Soweit korrekt ?

Nach ner halben Stunde Code-Studium: die anzupassenden Konstanten zu FHEM und ServerPort sind klar. Was ist mit den ecotracker-Werten ? Fix für jedermann nutzbar oder muss etwas angepasst werden?

Du verarbeitest nur den power-Wert für L1. Ich vermute, weil Du nur einen Leistungswert hast. Ich habe einzelne Phasenwerte. Ich könnte das Skript entsprechend erweitern/anpassen.

Grüße
Markus

Edit: nur für ein FHEMWEB ohne allowed nutzbar. Korrekt ?
Edit2: Und Anpassung der Einheiten der FHEM-Werte notwendig.
Edit3: angepasst, liegt in /home/pi und mit sudo gestartet, erhalte ichCan't exec "avahi-publish-service": No such file or directory at /home/pi/ecotracker_emulator.pl line 415.
FEHLER: avahi-publish-service konnte nicht gestartet werden: No such file or directory
also hier    if ($pid == 0) {

        exec(@cmd);
Was ist falsch ? Berechtigungen ? Ablageort Skript ?
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

moskito

Zitat von: Damian am 08 Oktober 2026, 17:15:08Das Problem ist noch, dass Tasmota minimal nur alle 10 Sekunden per Mqtt sendet, das muss ich auf 1 Sekunde drücken, damit es auch richtig Spaß macht.

Schau mal hier: https://alkly.de/schnellere-energiemessung-und-update-mit-mqtt-und-tasmota/
Mit einer kleinen Änderung im Script ist nahezu Echtzeit möglich.

Gruß
Danny
FHEM auf Intel NUC/Proxmox & Debian 12 + HM-CFG-USB + zigbee2mqtt + Zwave + Enocean