I run my whole EcoFlow setup on Home Assistant — a Smart Home Panel 3, plus a DELTA Pro Ultra and a DELTA Pro Ultra X, each with a two-battery stack (~24 kWh total) — entirely over local Bluetooth, with the EcoFlow cloud turned off. It handles my Dominion Rate 7 time-of-use scheduling automatically, and it does a few things the app can't.
Fair warning up front: this is an advanced, do-it-yourself setup. You don't need any of it to get value from an EcoFlow — the app and a Smart Home Panel do the core job. But if you're the type who likes local control and exact automation, here's how mine works.
The setup: local, no cloud
- Integration:
ha-ef-ble(rabits/ha-ef-ble, installed through HACS) — an unofficial, 100% local Bluetooth integration. No cloud, no MQTT, no Modbus. I keep EcoFlow's cloud integration switched off entirely; everything runs over BLE. (I currently run a community fork that adds per-channel battery sensors for the SHP3; those changes are merging upstream, so it's temporary. Credit to the maintainers — this is their work, I just test and file issues.) - What it reads and controls: the Smart Home Panel 3 (operating mode, charge limits, per-channel force-charge, EPS) and the DELTA Pro Ultra / Ultra X units.
- Where Home Assistant runs: Home Assistant OS as a VM on ESXi, on a Dell PowerEdge T130 in my rack.
- The Bluetooth proxy (don't skip this): none of the EcoFlow gear sits next to my server — the Smart Home Panel is in the laundry room, and the smart inlet box, inverters, and batteries are in the garage, all out of clean BLE range of the rack. To bridge that, I run a Waveshare ESP32-S3-ETH flashed with ESPHome's
bluetooth_proxy, wired over Ethernet so it isn't also fighting Wi-Fi. That one change fixed my connection drops — it's the single biggest gotcha if your equipment isn't sitting next to your Home Assistant box.
That dashboard is a big part of the appeal. I built the whole thing in Home Assistant — the home graphic, the per-circuit bars, the live power flows — to mirror EcoFlow's own PowerInsight, the $399–$499 touchscreen display they sell for exactly this kind of monitoring. Mine cost nothing beyond hardware I already had, it runs locally (the PowerInsight leans on EcoFlow's cloud), and it's entirely mine to change — any sensor, any layout, and it can pull in anything else in the house. If you're the tinkering type, you can take it well past what the off-the-shelf display does.
What I automate: Rate 7, to the minute
The flagship is a time-of-use scheduler tied to Dominion Rate 7, fully automated:
- Charge during super-off-peak overnight, with a force-charge top-up to fill the batteries before the cheap window closes.
- Flip to Self-Powered — run the house off the batteries — through the summer on-peak window (4–8 pm), when grid power is most expensive.
- Return to Backup mode afterward with a ~50% overnight reserve, so there's always a cushion if the grid drops.
It's all local and minute-precise — it hits the exact rate-boundary times, not a rough schedule. When Dominion shifted the Rate 7 windows in July 2026, I updated the automation and it adapted; the app's built-in scheduler wouldn't have.
Underneath it is a reliability layer (more on why in a second), plus an EPS "drift guard" that keeps backup power armed outside the discharge window, and a startup sync that puts the panel back in the right mode after a Home Assistant reboot.
Why this beats the app
- It works with no internet. This is a backup system — leaning on the cloud is a weakness exactly when you need it, because an outage often takes your internet with it. Local Bluetooth keeps running.
- Minute-precise scheduling. The app's scheduling is coarse; Home Assistant hits exact rate boundaries and adapts when the utility changes the windows.
- Long-term history and dashboards. Graphs of charge and discharge, per-circuit load, and state-of-charge over time — not just a live gauge.
- Whole-home context. Home Assistant can tie the battery's behavior to everything else in the house. The app is an island.
Two firmware quirks — and how I work around them
Every product has rough edges. These are two I hit, each with the fix I built — and the point isn't to knock EcoFlow (I run their hardware daily and recommend it). It's that local control lets you paper over the rough edges yourself.
- AC input channels dropping on their own. The Smart Home Panel would occasionally disable an individual AC input channel by itself — with AC power still present, so not a grid event. I confirmed it from the panel's own two-second telemetry: about two events every ten days, no correlation with load. My fix is a Home Assistant automation that catches the drop and re-enables the channel in about 15 seconds — it's still needed, so the automation runs to this day.
- Commands that silently don't apply. While building the scheduler I found the panel would accept a command over Bluetooth, report no error, and then not actually do it — invisible to normal connection monitoring. So every automation now writes, waits for the panel to echo the new state back, and retries up to three times before it alerts me. Nothing gets assumed.
(I confirmed the channel-drop quirk by decoding the panel's own telemetry stream — which is well past what most people should attempt, so I'm not walking through that part here.)
The bottom line
You don't need Home Assistant to get value out of an EcoFlow — the app plus a Smart Home Panel covers the essentials. But if you want local control, exact time-of-use scheduling, and a reliability layer that checks its own work, this is what the hardware can do once you take it off the cloud. It's also a big reason I favor systems you can run locally in the first place: they're insulated from cloud outages, internet-down moments, and long-term vendor risk.
If you're weighing a battery for your own home, run your Dominion bill through the analyzer — it shows what one would actually do for your bill at today's rates. The automation is a bonus on top of that.
I may earn a commission from links on this page, at no extra cost to you — it never changes the numbers or the recommendation. The ha-ef-ble integration is a community project; I'm not affiliated with its maintainers. This describes my own setup and isn't installation advice — changing how a battery system operates is at your own risk.