A lightweight macOS menu bar app that shows real-time EcoFlow Delta 2 battery status — no phone app needed, no Node.js, no cloud subscriptions.
Running an older version? Compare the number above to the one in About EFStatus (right-click the menu bar icon), then re-download
EFStatus.appfrom this repo if you're behind.
Menu bar: ⚡ 89%
Popup:
- Battery % + remaining Wh + visual bar
- Time to full / time to empty
- Live input watts (green) and output watts (red)
Confirmed working
- EcoFlow Delta 2 ✅ (tested)
- EcoFlow Delta 3 Max ✅ (tested)
- EcoFlow Delta 2 Max
- EcoFlow Delta Pro
- EcoFlow Delta Max
Likely compatible (same API structure, untested)
- Delta 3
- Delta Mini
- River 2 / River 2 Pro / River 2 Max
- River Pro
Not supported
- PowerOcean, PowerStream — different API
- Delta (1st gen), River (1st gen) — different field names
If you test EFStatus on a model not listed here, open an issue and let us know!
- macOS 12 or later
- Xcode Command Line Tools (
xcode-select --install) - An EcoFlow developer account with an API key
- Download
EFStatus.appfrom this repo - Move it to your
/Applicationsfolder - Right-click → Open → Open (required once to bypass Gatekeeper on unsigned apps)
- Enter your EcoFlow API credentials in the setup window
git clone https://github.com/bereto-dev/efstatus.git
cd efstatus
make
open EFStatus.appThe first launch opens a setup window where you enter your EcoFlow API credentials. They're saved in UserDefaults on your Mac — never sent anywhere other than the EcoFlow API.
Because the app isn't notarized (no Apple Developer account needed), macOS will block it the first time. Right-click → Open → Open to bypass Gatekeeper once.
Get your Access Key, Secret Key, and device serial number from developer.ecoflow.com.
To update credentials later: right-click the menu bar icon → Settings…
EFStatus sends a macOS notification when:
- Input power drops to 0 W (running on battery only)
- The device goes offline or comes back online
Built by Roberto Pacheco because the EcoFlow Delta 2 doesn't surface consumption statistics in real time — and as his primary office backup power, he needed that data at a glance without picking up his phone.
If you have an EcoFlow device not listed above and want to help add support for it, run the diagnostic script — it prints only field names and values, no credentials or personal data are included in the output.
curl -O https://raw.githubusercontent.com/bereto-dev/efstatus/main/diag.sh
chmod +x diag.sh
./diag.sh --access-key YOUR_KEY --secret-key YOUR_SECRET --serial YOUR_SERIALThen open a GitHub issue and paste the output. That's all that's needed to add support for your device.
If you find EFStatus useful, you can buy me a coffee ☕
Built with Swift + AppKit. No external dependencies.
