Externe Integration - EcoFlow

:battery: Neue Integration: EcoFlow (River 2 / River 2 Max / River 2 Pro)

Hinweis: Der Block unten links ist eine Steckdose vor dem EcoFlow, die ich vor der Integration verwendet habe.

Eine externe Integration, um Ihre EcoFlow-Stationen der River-2-Serie direkt von Gladys aus zu überwachen und zu steuern, über die EcoFlow-Cloud (dasselbe wie die offizielle App).

Was sie kann

Für jedes erfasste Gerät erhalten Sie:

  • Batteriestand (%)
  • Ladeleistung AC, Gesamtausgangsleistung, AC-Ausgangsleistung, eingehende Solarleistung
  • Schalter: AC-Ausgang, X-Boost, DC-Ausgang (Zigarettenanzünder), Notreserve
  • Eine Aktion „Verbindung testen“, um zu überprüfen, ob ein Gerät antwortet

Zwei Verbindungsmethoden

  1. EcoFlow-Entwicklerkonto (Open Platform) — der offizielle und dokumentierte Weg mit automatischer Erkennung aller Geräte des Kontos. Nachteil: Sie müssen ein Entwicklerkonto erstellen und die Genehmigung von EcoFlow abwarten (ca. 1 Woche), und einige Geräte, die bereits mit der mobilen App verknüpft sind, können von EcoFlow abgelehnt werden („bereits zugewiesen“) — eine bekannte und wiederkehrende Einschränkung ihrer Plattform, unabhängig von der Integration.
  2. Einfache Verbindung (E-Mail/Kennwort) — dieselben Anmeldedaten wie die EcoFlow-App, ohne Entwicklerkonto oder Wartezeit. Inoffiziell (interne Endpunkte der App), daher keine automatische Erkennung: Die Seriennummer jedes Geräts wird manuell eingegeben. Dies ist die Methode, die Geräte freischaltet, die über den Entwicklerweg abgelehnt wurden — getestet und funktionierend an einem echten River 2 Pro (das, was ich verwende).

Beide Methoden können gleichzeitig laufen.

Bekannte Grenzen

  • Keine lokale/LAN-Steuerung: Selbst ein Gerät, das nie Ihr WLAN verlässt, geht über die EcoFlow-Cloud, wie die offizielle App — bestätigt von EcoFlow selbst (die einzige Ausnahme in ihrem gesamten Katalog: der EZ1, ein Bewässerungszeitschalter ohne Bezug).
  • Noch keine Einstellung der Lade-/Entladegrenzen oder des Notreservestands in Prozent (derzeit nur lesbar).
  • Die einfache Methode (2) basiert auf nicht dokumentierten Endpunkten von EcoFlow: Sie kann ohne Vorwarnung ausfallen, wenn EcoFlow seine App ändert.

Installation

Entwicklermodus in Gladys → Link einfügen GitHub - LM1LC3N7/gladys-ecoflow: Integration of EcoFlow River 2 family (River 2 Pro / Max) to Gladys Assistant · GitHub

:locked: Sicherheit, Wartung und Wiederverwendung

  • Kommunikation nur über HTTPS/MQTT signiert — kein lokaler Zugriff oder offener Port am Gerät
  • Nicht-Root-Container, schreibgeschütztes Dateisystem, npm install ohne Skriptausführung (--ignore-scripts)
  • Anmeldedaten von Gladys verschlüsselt gespeichert, nie an Dritte außer EcoFlow übertragen
  • CI (Lint, Tests, Build) bei jeder Änderung + automatische Abhängigkeitsaktualisierungen (Dependabot), Image-Publikation bei jeder Änderung
  • Anforderungssignaturen und MQTT-Protokoll mit zwei bereits von der Community genutzten Implementierungen abgeglichen (tolwi/hassio-ecoflow-cloud, rustyy/ecoflow-api), Validierung über die echten Schemata von @ecoflow-api/schemas

Hallo @lmilcent :slight_smile:

Super Integration!

Kleiner Hinweis, dieser Integration fehlt ein Miniaturbild:

Frag deinen Claude, dass er eins hinzufügt :wink:

Danke, das habe ich total vergessen!

EcoFlow-Integration für Gladys – Version 0.3.0

Vorstellung

Neue Version der EcoFlow-Integration für die River 2-Stationen (River 2, River 2 Max, River 2 Pro). Sie profitiert von den neuen Möglichkeiten, die Gladys 5.1 für externe Integrationen bietet: ein dediziertes Widget auf dem Dashboard und Auslöser und Aktionen im Szenen-Editor. Die Steuerung erfolgt weiterhin über die EcoFlow-Cloud (diese Stationen haben keine lokale Steuerung), entweder mit der offiziellen Open Platform API oder mit der einfachen E-Mail/Passwort-Verbindung der App.

Was sie heute kann

  • Widget „EcoFlow-Station“: Was die Station macht („Auf Batterie · 3 h 10 übrig“, „Am Laden · 300 W eingehend“…), Batterieanzeige und Echtzeit-Leistungen von Netz, Solar und Ausgang, Zustand der Ausgänge, Reserve, Lade- und Entladegrenzen und Schalter zum Ein-/Ausschalten der AC- und DC-Ausgänge.
  • Szenenauslöser:
    • Netzausfall und Rückkehr des Netzanschlusses (praktisch, wenn die Station als USV dient);
    • Station antwortet nicht mehr oder antwortet wieder;
    • Erreichen der Ladegrenze.
  • Szenenaktionen:
    • Einstellen der Lade- und Entladegrenze;
    • Einstellen der Notfallreserve;
    • Einstellen der Netzladeleistung oder Pausenmodus (z. B. nur in Niedertarifzeiten laden);
    • Abfrage der Station auf Anfrage, um den Batteriestand und die Autonomie in der weiteren Szene zu nutzen.
  • Neue Sensoren: Verbleibende Autonomie und „Am Laden“, zusätzlich zum Batteriestand, den Leistungen und den Schaltern AC / X-Boost / DC / Reserve.
  • Sofortige Rückmeldung: Ein in Gladys betätigter Schalter ändert sofort seine Position, dann wird die Station einige Sekunden später erneut ausgelesen, um dies zu bestätigen.
  • Verbindungsstatus pro Gerät: Cloud, degradierte Cloud (letzte Abfrage fehlgeschlagen) oder nicht erreichbar.
  • Klarer Status in der Konfiguration: Jede Methode wird tatsächlich getestet und das Ergebnis angezeigt („Offizielle API: 2 Geräte · Einfache Verbindung fehlgeschlagen: falsches Passwort“).
  • Diagnoseaktion: Listet die von der Station übermittelten Daten auf, ohne Seriennummer oder Netzwerkinfos, für Bugberichte oder zum Hinzufügen anderer Modelle.
  • Zuverlässigkeit:
    • Eine Änderung der Anmeldedaten wird ohne Neustart angewendet, und das Löschen trennt wirklich die Verbindung zu EcoFlow;
    • Robustere MQTT-Sitzung;
    • Keine Befehle mit erfundenen Werten werden gesendet.
  • Docker-Image: Node 24, nicht-root-Benutzer, read-only-Dateisystem, Multi-Architektur (amd64 / arm64, also Raspberry Pi).

Aktuelle Grenzen

  • Gladys 5.1 mindestens: Ältere Versionen bleiben bei der 0.2.x.
  • Getestet unter realen Bedingungen an einem einzigen Modell (River 2 Pro, einfache Verbindungsmethode). Die Szenenaktionen, die Netzausfallerkennung und die verbleibende Autonomie müssen an anderen Geräten bestätigt werden.
  • Update von der 0.2.x: Ein „Update“-Button erscheint auf dem Gerät im Entdeckungs-Tab, um die beiden neuen Sensoren hinzuzufügen. Der Verlauf wird beibehalten.
  • Nur River 2-Reihe im Moment (kein Delta oder River 3).
  • Kein Echtzeitbetrieb: Die Station wird periodisch, standardmäßig alle 30 Sekunden, ausgelesen.
  • Die einfache Verbindung verwendet die internen Zugriffe der EcoFlow-App und kann ohne Vorwarnung ausfallen, wenn EcoFlow diese ändert.

Wenn Sie eine andere EcoFlow-Station haben, würde mir das Ergebnis der Diagnose-Aktion, die hier gepostet wird, sehr helfen, um sie hinzuzufügen.

Hinweis: Das scheint sehr ausführlich mit dem Polling alle 30 Sekunden, Sie entscheiden, ob Sie jeden Zustand beibehalten möchten.

EcoFlow-Integration – Version 0.3.1 (ja, schon wieder)

Vorstellung

Kleine Aktualisierung nach den ersten Rückmeldungen zur Version 0.3.0. Die Netzausfallerkennung wurde unter realen Bedingungen an einem River 2 Pro getestet und funktioniert perfekt. Es fehlte jedoch ein Auslöser für den niedrigen Batteriestand: Hier ist er.

Was sich ändert

  • Neuer Szenenauslöser „EcoFlow: Batterie schwach“ : Er wird ausgelöst, wenn die Batterie auf 50, 30, 20, 10 oder 5 % sinkt. Wählen Sie den Pegel im Filter „Erreichter Pegel“ aus; wenn er leer ist, löst jeder Pegel die Szene aus.
  • Verwendbare Variablen in Aktionen : Neben dem Batteriestand und der Ausgangsleistung überträgt dieser Auslöser den erreichten Pegel und die verbleibende Laufzeit. Zum Beispiel:
    🔋 EcoFlow bei {{triggerEvent.data.battery_level}} %, es bleiben {{triggerEvent.data.remaining_minutes}} min
  • Keine Nachrichten in Serie : Jeder Pegel wird nur einmal ausgelöst und startet erst wieder, wenn die Batterie um 5 Punkte über den aktuellen Pegel steigt. Eine Batterie, die um 20 % schwankt, sendet Ihnen also keine Benachrichtigung bei jeder Messung.
  • Ausführlichere Protokolle : Jedes an Gladys gesendete Ereignis wird jetzt mit seinen Daten protokolliert, sodass überprüft werden kann, was eine Szene tatsächlich erhalten hat.

Tipp

Für einen anderen Schwellenwert (25 %, Restlaufzeit unter 30 min…) funktioniert auch der Standardauslöser von Gladys:

  1. „Zustandsänderung eines Geräts“;
  2. die Funktion „Batteriestand“ oder „Verbleibende Laufzeit“ der Station;
  3. < und Ihr Wert;
  4. die Option aktivieren, um nur beim Überschreiten des Schwellenwerts auszulösen, sonst wird die Szene bei jeder Messung gestartet.

Kleiner Hinweis: Die Variablen {{triggerEvent.data.…}} bleiben leer, wenn Sie die Szene manuell aus dem Editor starten. Sie werden nur gefüllt, wenn das Ereignis tatsächlich eintritt.

Aktuelle Grenzen

Unverändert im Vergleich zu Version 0.3.0. Gladys 5.1 mindestens, nur River 2-Serie, periodische Abfrage (Standard: 30 s). Die Szenenaktionen (Lade- und Entladegrenzen, Reserve, Netzladung) müssen noch an anderen Geräten als meinem bestätigt werden.