New integration: EcoFlow (River 2 / River 2 Max / River 2 Pro)
Note: the block in the bottom left is a smart plug in front of the EcoFlow, which I used before the integration.
An external integration to monitor and control your EcoFlow River 2 series stations directly from Gladys, via the EcoFlow cloud (the same one used by the official app).
What it does
For each detected device, you get:
- Battery level (%)
- AC charging power, total output power, AC output power, incoming solar power
- Switches: AC output, X-Boost, DC output (cigarette lighter), backup reserve
- A « Test connection » action to check if a device is responding
Two ways to connect
- EcoFlow Developer Account (Open Platform) — the official and documented way, with automatic discovery of all devices in the account. Downside: you need to create a developer account and wait for EcoFlow’s approval (~1 week), and some devices already linked to the mobile app may be rejected by EcoFlow (« already assigned ») — a known and recurring limitation of their platform, independent of the integration.
- Simple connection (email/password) — the same credentials as the EcoFlow app, without a developer account or waiting. Unofficial (internal endpoints of the app), so no automatic discovery: the serial number of each device is entered manually. This is the method that unlocks devices rejected by the developer path — tested and functional on a real River 2 Pro (what I use).
Both methods can run at the same time.
Known limitations
- No local/LAN control: even a device that never leaves your WiFi goes through the EcoFlow cloud, like the official app — confirmed by EcoFlow themselves (the only exception in their entire catalog is the EZ1, an irrigation timer unrelated).
- No setting of charge/discharge limits or backup reserve level in percentage (read-only for now).
- The simple method (2) is based on endpoints not documented by EcoFlow: it may break without notice if EcoFlow changes its app.
Installation
Developer mode in Gladys → paste the link GitHub - LM1LC3N7/gladys-ecoflow · GitHub
Security, maintenance, and reuse
- Communication in signed HTTPS/MQTT only — no local access or open port on the device
- Non-root container, read-only file system,
npm installwithout script execution (--ignore-scripts) - Credentials stored encrypted by Gladys, never transmitted anywhere other than to EcoFlow
- CI (lint, tests, build) on every change + automatic dependency updates (Dependabot), image publication on every evolution
- Request signatures and MQTT protocol cross-checked with two implementations already used by the community (
tolwi/hassio-ecoflow-cloud,rustyy/ecoflow-api), validation via the real schemas of@ecoflow-api/schemas
