# 🔋 EcoFlow BLE **Unofficial Bluetooth LE Integration for Home Assistant** [![HACS](https://img.shields.io/badge/HACS-Default-41BDF5.svg?style=for-the-badge)](https://github.com/hacs/integration) [![hassfest](https://img.shields.io/github/actions/workflow/status/rabits/ha-ef-ble/validate-hassfest.yaml?style=for-the-badge&label=hassfest)](https://github.com/rabits/ha-ef-ble/actions/workflows/validate-hassfest.yaml) [![HACS Validation](https://img.shields.io/github/actions/workflow/status/rabits/ha-ef-ble/validate-hacs.yaml?style=for-the-badge&label=HACS)](https://github.com/rabits/ha-ef-ble/actions/workflows/validate-hacs.yaml) --- **Monitor and control your EcoFlow devices locally via Bluetooth** No internet connection required • Real-time status updates • Full local control [Supported Devices](#supported-devices) • [Installation](#installation) • [Development](#development)
--- ## Overview This integration enables local communication with EcoFlow power stations, EV chargers, and accessories through **Bluetooth LE**, allowing you to: - **Monitor** battery levels, power flow, and device status - **Control** outputs, charging parameters, and device settings - **Integrate** seamlessly with Home Assistant automations - **Operate** independently without cloud connectivity --- ## Supported Devices **IMPORTANT:** According to agreement with Ecoflow we can't add new devices after release v1.3.0. ([details](https://github.com/rabits/ha-ef-ble/discussions/521)) Click on any device below to see available sensors, switches, and controls:
Smart Home Panel 2
| *Sensors* | *Switches* | *Sliders* | *Selects* | |--------------------------------------------|-------------------------------------|----------------------|-------------------| | Battery Level | Channel On/Off (Each Channel) | AC Charge Speed | Smart Backup Mode | | Input Power | Channel Force Charge (Each Channel) | Backup Reserve Level | | | Output Power | Circuit On/Off (Each Circuit) | Max Charge Level | | | Grid Power | | | | | Power In Use | | | | | Power Status (grid, battery, oil, etc.) | | | | | Grid Status (grid outage) | | | | | Storm Made | | | | | Circuit Power (Each Circuit) | | | | | Circuit Power (Each Circuit) | | | | | Circuit Current (Each Circuit) | | | | | Channel Power (Each Channel) | | | | | Channel Battery Level (Each Channel) | | | | | Channel Battery Temperature (Each Channel) | | | | | Channel Connected (Each Channel) | | | | | Channel Control Status (Each Channel) | | | | | Channel Enabled (Each Channel) | | | | | Channel Force Charge (Each Channel) | | | | | Channel Output Power (Each Channel) | | | | | Channel PV HV Input Power (Each Channel) | | | | | Channel PV LV Input Power (Each Channel) | | | | > **📝 Note:** Using an ESPHome bluetooth proxy connection with a Smart Home Panel 2 can result in > slow performance and dropped packets at this time. Please see the > [Issue #221](https://github.com/rabits/ha-ef-ble/issues/221) for tracking.
Smart Home Panel 3
| *Sensors* | *Switches* | *Sliders* | *Selects* | |------------------------------------|-------------------------------------|----------------------|----------------| | Battery Level | Circuit On/Off (Each Circuit) | Charge Limit | Operating Mode | | Battery Power | Channel On/Off (Each Channel) | Discharge Limit | | | System Load | Storm Guard | Backup Reserve Level | | | Load From Grid | EPS Mode | AC Charging Speed | | | PV Power Total | Channel Force Charge (Each Channel) | | | | Grid Connection Status | | | | | Grid Energized | | | | | Charge Time Remaining | | | | | Discharge Time Remaining | | | | | L1 / L2 / L3 Power | | | | | L1 / L2 / L3 Voltage | | | | | L1 / L2 / L3 Current | | | | | Circuit Power (Each Circuit) | | | | | Circuit Current (Each Circuit) | | | | | Circuit Voltage (Each Circuit) | | | | | Circuit Status (Each Circuit) | | | | | Channel Type (Each Channel) | | | | | Channel Signal Line (Each Channel) | | | | > **📝 Note:** Using an ESPHome bluetooth proxy connection with a Smart Home Panel 3 can > result in slow performance and dropped packets at this time. Please see the > [Issue #221](https://github.com/rabits/ha-ef-ble/issues/221) for tracking.
Delta Pro Ultra
| *Sensors* | *Switches* | *Sliders* | *Selects* | *Buttons* | |-----------------------------------|------------|-----------------------|----------------|---------------| | AC 5P8 In Power | AC Ports | AC 5P8 Charging Power | Operating Mode | Unpause Solar | | AC 5P8 Out Power | DC Ports | AC C20 Charging Power | | | | AC C20 In Power | | Backup Reserve Level | | | | AC L1 (1) Out Power | | Charge Limit | | | | AC L1 (2) Out Power | | Discharge Limit | | | | AC L2 (1) Out Power | | | | | | AC L2 (2) Out Power | | | | | | AC L14 Out Power | | | | | | AC TT Out Power | | | | | | Anderson Out Power | | | | | | Battery Level | | | | | | Battery Level (each battery) ¹ | | | | | | Cell Temperature (each battery) ¹ | | | | | | HV Solar Power | | | | | | LV Solar Power | | | | | | Output Power | | | | | | USB-C (1) Out Power | | | | | | USB-C (2) Out Power | | | | | | USB (1) Out Power | | | | | | USB (2) Out Power | | | | | | AC 5P8 In Current | | | | | | AC 5P8 In Voltage | | | | | | AC 5P8 In Type | | | | | | AC 5P8 Out Current | | | | | | AC 5P8 Out Power Factor | | | | | | AC 5P8 Out Type | | | | | | AC 5P8 Out Voltage | | | | | | AC 5P8 Work Mode | | | | | | AC Allowed | | | | | | AC C20 In Current | | | | | | AC C20 In Voltage | | | | | | AC C20 Input Type | | | | | | AC L1 (1) Out Current | | | | | | AC L1 (1) Out Power Factor | | | | | | AC L1 (1) Out Voltage | | | | | | AC L1 (2) Out Current | | | | | | AC L1 (2) Out Power Factor | | | | | | AC L1 (2) Out Voltage | | | | | | AC L2 (1) Out Current | | | | | | AC L2 (1) Out Power Factor | | | | | | AC L2 (1) Out Voltage | | | | | | AC L2 (2) Out Current | | | | | | AC L2 (2) Out Power Factor | | | | | | AC L2 (2) Out Voltage | | | | | | AC L14 Out Current | | | | | | AC L14 Out Power Factor | | | | | | AC L14 Out Voltage | | | | | | AC TT Out Current | | | | | | AC TT Out Power Factor | | | | | | AC TT Out Voltage | | | | | | Anderson Out Current | | | | | | Anderson Out Error Code | | | | | | Anderson Out Voltage | | | | | | Battery Current | | | | | | Battery Input Power | | | | | | Battery Output Power | | | | | | Battery Voltage | | | | | | HV Solar Current | | | | | | HV Solar Error Code | | | | | | HV Solar Temperature | | | | | | HV Solar Voltage | | | | | | HV Solar Voltage Low | | | | | | Is Charging | | | | | | LV Solar Current | | | | | | LV Solar Error Code | | | | | | LV Solar Temperature | | | | | | LV Solar Voltage | | | | | | LV Solar Voltage Low | | | | | | AC Inverter Error Code | | | | | | AC Inverter Temperature | | | | | | DC Inverter Error Code | | | | | | DC Inverter Temperature | | | | | | Slow Charging Switch | | | | | | System Temperature | | | | | | USB-C (1) Out Current | | | | | | USB-C (1) Out Voltage | | | | | | USB-C (2) Out Current | | | | | | USB-C (2) Out Voltage | | | | | | USB (1) Out Current | | | | | | USB (1) Out Voltage | | | | | | USB (2) Out Current | | | | | | USB (2) Out Voltage | | | | | | Weak HV Solar Source | | | | | | Weak LV Solar Source | | | | | ¹ Per extra battery (up to 5) > **📝 Note:** Extra batteries are detected when the integration is set up. If you > connect or disconnect a battery, you can reconfigure the integration to update > the registered devices.
Delta Pro Ultra X
| *Sensors* | |-------------------------------------| | Battery Level | | Input Power Total | | Output Power Total | | AC Input Power | | AC Input Voltage | | AC Input Current | | Solar Input Power | | Solar Input Power 2 | | PV Voltage 1 | | PV Voltage 2 | | PV Current 1 | | PV Current 2 | | AC Plugged In | | Storm Mode | | Cell Temperature (disabled) | | Charge Time Remaining (disabled) | | Discharge Time Remaining (disabled) | | Error Occurred (disabled) ¹ | | Sleep State (disabled) | | WiFi RSSI (disabled) | ¹ Includes error code as an extra attribute > **📝 Note:** Delta Pro Ultra X does not expose energy sensors. To use with the energy > dashboard, you must create them yourself. See the [Home Assistant FAQ](https://www.home-assistant.io/docs/energy/faq/#creating-an-energy-sensor-out-of-a-power-sensor) > for instructions.
River 3 (Plus, UPS, Plus Wireless)
| *Sensors* | *Switches* | *Sliders* | *Selects* | |-------------------------------------|----------------|----------------------|------------------| | AC Input Energy | AC Port | Backup Reserve Level | Led Mode⁺ | | AC Input Power | DC Port | Max Charge Limit | DC Charging Type | | AC Output Energy | Backup Reserve | Min Discharge Limit | | | AC Output Power | | AC Charging Speed | | | Main Battery Level ⁺ | | DC Charging Max Amps | | | Battery Level | | | | | Extra Battery Level ¹ | | | | | Extra Battery Temperature ¹ | | | | | DC 12V Port Output Energy | | | | | DC 12V Port Output Power | | | | | DC Input Energy | | | | | DC Input Power | | | | | Input Energy Total | | | | | Input Power Total | | | | | Output Energy Total | | | | | Output Power Total | | | | | USB A Output Energy | | | | | USB A Output Power | | | | | USB C Output Energy | | | | | USB C Output Power | | | | | Battery Input Power (disabled) | | | | | Battery Output Power (disabled) | | | | | Cell Temperature (disabled) | | | | | Charge Time Remaining (disabled) | | | | | Discharge Time Remaining (disabled) | | | | ⁺ Only available on Plus variant
¹ Per extra battery (up to 2) > **📝 Note:** Extra batteries are detected when the integration is set up. If you > connect or disconnect a battery, you can reconfigure the integration to update > the registered devices. > **📝 Note:** **AC Input Energy sensor** is not working as intended - this is a firmware > bug. If you need this sensor, create an integral helper from AC Input Power instead. See > [issue #73](https://github.com/rabits/ha-ef-ble/issues/73) for details. > **⚠️ Warning:** This integration allows setting Backup Reserve Limit to Min Discharge > Limit, which may cause AC ports to turn off when hitting this limit. The official > application allows the same behavior, but this is most likely a bug. See > [issue #78](https://github.com/rabits/ha-ef-ble/issues/78) for more info.
Delta 3 (Classic, Plus, Max, Max Plus, Ultra, Ultra Plus, Air)
| *Sensors* | *Switches* | *Sliders* | |--------------------------------------|---------------------------------|----------------------------| | Main Battery Level | AC Ports | Backup Reserve Level ² | | Battery Level | AC Ports (2) ³⁴ | Max Charge Limit | | AC Input Power | DC Ports ² | Min Discharge Limit | | AC Output Power | Backup Reserve ² | AC Charging Speed | | AC (1, 2) Power ³ | USB Ports ¹² | DC Charging Max Amps | | AC (1-1, 1-2, 2-1, 2-2, 2-3) Power ⁴ | Disable Grid Bypass ²(disabled) | DC (2) Charging Max Amps ⁺ | | DC 12V Port Output Power ² | | | | DC Port Input Power | | | | DC Port Input State | | | | DC Port (2) Input Power ⁺ | | | | DC Port (2) Input State ⁺ | | | | Solar Power | | | | Solar Power (2) ⁺ | | | | Input Power Total | | | | Output Power Total | | | | USB A Output Power | | | | USB A (2) Output Power | | | | USB C Output Power | | | | USB C (2) Output Power | | | | USB C (3) Output Power ³⁴ | | | | AC Plugged In | | | | Battery Input Power (disabled) | | | | Battery Output Power (disabled) | | | | Cell Temperature (disabled) | | | | Charge Time Remaining (disabled) | | | | Discharge Time Remaining (disabled) | | | ⁺ Only available on Plus variant
¹ Not available on Classic
² Not available on Air
³ Only available on Max Plus
⁴ Only available on Ultra Plus > **📝 Note:** Delta 3 models do not expose energy sensors. To use with the Energy > dashboard, you must create them yourself. See the > [Home Assistant FAQ](https://www.home-assistant.io/docs/energy/faq/#creating-an-energy-sensor-out-of-a-power-sensor) > for instructions.
Delta Pro 3
| *Sensors* | *Switches* | *Sliders* | |-------------------------------------|----------------|----------------------| | Main Battery Level | AC Ports | Backup Reserve Level | | Battery Level | DC Ports | Max Charge Limit | | Extra Battery Level ¹ | USB Ports | Min Discharge Limit | | Extra Battery Temperature ¹ | Backup Reserve | AC Charging Speed | | AC Input Power | | | | AC LV Output Power | | | | AC HV Output Power | | | | DC 12V Output Power | | | | DC LV Input Power | | | | DC LV Input State | | | | DC HV Input Power | | | | DC HV Input State | | | | Solar LV Power | | | | Solar HV Power | | | | Input Power Total | | | | Output Power Total | | | | USB A Output Power | | | | USB A (2) Output Power | | | | USB C Output Power | | | | USB C (2) Output Power | | | | AC Plugged In | | | | Cell Temperature (disabled) | | | | State of Health (disabled) | | | | Battery Input Power (disabled) | | | | Battery Output Power (disabled) | | | | AC 5P8 In Power | | | | AC 5P8 Out Power | | | | AC LV TT-30 Output Power (disabled) | | | | Charge Time Remaining (disabled) | | | | Discharge Time Remaining (disabled) | | | | Error Occurred (disabled) ² | | | | BMS Run State (disabled) | | | | Fan Running (disabled) | | | ¹ Per extra battery (up to 2) ² Includes error code as an extra attribute > **📝 Note:** Extra batteries are detected when the integration is set up. If you > connect or disconnect a battery, you can reconfigure the integration to update > the registered devices. > **📝 Note:** Delta Pro 3 does not expose energy sensors. To use with the Energy > dashboard, you must create them yourself. See the > [Home Assistant FAQ](https://www.home-assistant.io/docs/energy/faq/#creating-an-energy-sensor-out-of-a-power-sensor) > for instructions.
Smart Generator (3000, 4000)
| *Sensors* | *Switches* | *Sliders* | *Selects* | |------------------------|----------------------|------------------|------------------| | Output Power | Engine | Gas Weight | Performance Mode | | AC Output Power | Self Start | DC Output Power⁴ | Gas Unit | | Engine State | LPG Level Monitoring | | | | Fuel Type | AC Ports | | | | Gas Consumption | | | | | Abnormal State | | | | | Internal Battery Power | | | | | Internal Battery State | | | | | XT150 Battery Level ⁴ | | | | | XT150 Charge Type ⁴ | | | | ⁴ Only available on 4000 variant
Alternator Charger
| *Sensors* | *Switches* | *Sliders* | *Selects* | |---------------------|----------------------------|--------------------------|--------------| | Battery Level | Charger | Start Voltage | Charger Mode | | Battery Temperature | Emergency Reverse Charging | Reverse Charging Current | | | DC Power | | Charging Current | | | Battery Voltage | | Power Limit | |
STREAM (AC, AC Pro, Max, Pro, Ultra, Ultra X)
| *Sensors* | *Switches* | *Sliders* | *Selects* | |-------------------------------------|--------------------|---------------------------|-----------------| | Battery Level | Feed Grid | Feed Grid Power Limit | Energy Strategy | | Main Battery Level | AC (1) ᴬᴹᴾᵁ | Backup Reserve Level | | | Battery Power | AC (2) ᴬᴾᵁ | Charge Limit | | | Grid Power | Charging Task ² | Discharge Limit | | | Grid Voltage | Discharging Task ³ | Base Load Power ¹ | | | Grid Frequency | | Grid Input Power Limit | | | Load from Battery | | Charging Power Limit ² | | | Load from Grid | | Charging Target SOC ² | | | Load from PV ᴹᴾᵁ | | Discharging Power Limit ³ | | | AC (1) Power ᴬᴹᴾᵁ | | | | | AC (2) Power ᴬᴾᵁ | | | | | PV (1) Power ᴹᴾᵁ | | | | | PV (2) Power ᴹᴾᵁ | | | | | PV (3) Power ᴾᵁ | | | | | PV (4) Power ᵁ | | | | | PV Power Total ᴹᴾᵁ | | | | | Cell Temperature (disabled) | | | | | Charge Time Remaining (disabled) | | | | | Discharge Time Remaining (disabled) | | | | ᴬ Only available on AC Pro variant
ᴹ Only available on Max variant
ᴾ Only available on Pro variant
ᵁ Only available on Ultra and Ultra X variants
¹ Not available when there's no base load timeframe or more than 1 timeframe configured
² Only available when a charging timer task is configured
³ Only available when a discharging timer task is configured
STREAM Microinverter
| *Sensors* | *Sliders* | |-----------------------------------|----------------------| | Grid Power | Maximum Output Power | | Grid Voltage | | | Grid Current | | | Grid Frequency | | | Grid Connection Status | | | PV (1) Power | | | PV (1) Current | | | PV (1) Voltage | | | PV (2) Power | | | PV (2) Current | | | PV (2) Voltage | | | WiFi RSSI (disabled) | |
STREAM Microinverter (US)
| *Sensors* | *Sliders* | |-----------------------------------|----------------------| | Grid Power | Maximum Output Power | | Grid Voltage | | | Grid Current | | | Grid Frequency | | | Grid Connection Status | | | PV (1) Power | | | PV (1) Current | | | PV (1) Voltage | | | PV (2) Power | | | PV (2) Current | | | PV (2) Voltage | | | PV (3) Power | | | PV (3) Current | | | PV (3) Voltage | | | PV (4) Power | | | PV (4) Current | | | PV (4) Voltage | | | WiFi RSSI (disabled) | |
PowerStream
| *Sensors* | *Sliders* | *Selects* | |----------------------|------------------|-----------------------| | Battery Level | Load Power | Power Supply Priority | | Battery Power | Charge Limit | | | Battery Temperature | Discharge Limit | | | PV (1) Power | | | | PV (1) Voltage | | | | PV (1) Current | | | | PV (1) Temperature | | | | PV (2) Power | | | | PV (2) Voltage | | | | PV (2) Current | | | | PV (2) Temperature | | | | Inverter Power | | | | Inverter Voltage | | | | Inverter Current | | | | Inverter Frequency | | | | Inverter Temperature | | | | LLC Temperature | | |
PowerPulse EV Charger (7-22 kW)
| *Sensors* | |------------------------------| | Output Power | | AC Output Voltage (disabled) | | AC Output Current (disabled) | | AC Plug State |
Rapid Pro 320W Charger
| *Sensors* | *Binary Sensors* | *Switches* | |--------------------------------------------|-----------------------------------------|-----------------| | Battery Level | USB-C 1-4 / USB-A 1 / Pogo Port Enabled | USB-C 1-4 Port | | State of Health (disabled) | Error Occurred (disabled) | USB-A 1 Port | | Cell Temperature (disabled) | | Pogo Port | | Input Power | | | | Output Power | | | | USB-C 1-4 / USB-A 1 / Pogo Power | | | | USB-C 1-4 / USB-A 1 / Pogo Voltage | | | | USB-C 1-4 / USB-A 1 / Pogo Current | | | | Remaining Time Charging (disabled) | | | | Remaining Time Discharging (disabled) | | |
Wave 3
| *Sensors* | *Climate* | *Switches* | *Selects* | |-------------------------------|----------------------------------------|---------------|-------------------| | Battery Level | HVAC (Off, Cool, Heat, Fan, Dry, Auto) | Pet Care Mode | Operating Submode | | Ambient Temperature | Target Temperature | | | | Ambient Humidity | Fan Speed | | | | Condensate Water Level | | | | | Cell Temperature (disabled) | | | | | Sleep State | | | | | In Drainage | | | | | Drainage Mode | | | | | Input Power | | | | | Output Power | | | | | AC Input Power | | | | | Battery Power | | | | | Indoor Supply Air Temperature | | | |
Smart Meter
| *Sensors* | |-----------------------| | Grid Power | | Grid Energy | | L1 Power (disabled) | | L1 Current (disabled) | | L1 Voltage (disabled) | | L1 Energy (disabled) | | L2 Power (disabled) | | L2 Current (disabled) | | L2 Voltage (disabled) | | L2 Energy (disabled) | | L3 Power (disabled) | | L3 Current (disabled) | | L3 Voltage (disabled) | | L3 Energy (disabled) |
Delta Pro
| *Sensors* | *Switches* | *Sliders* | |-----------------------------|-------------|-------------------| | Battery Level | AC Ports | AC Charging Speed | | Input Power | DC 12V Port | Backup Reserve | | Output Power | | Charge Limit | | AC Input Power | | Discharge Limit | | AC Input Voltage | | | | AC Input Current | | | | AC Output Power | | | | DC Output Power | | | | USB C Output Power | | | | USB C (2) Output Power | | | | USB A Output Power | | | | USB A (2) Output Power | | | | USB A QC (1) Power | | | | USB A QC (2) Power | | | | Extra Battery Level ¹ | | | | Extra Battery Temperature ¹ | | | ¹ Per extra battery (up to 2) > **📝 Note:** Extra batteries are detected when the integration is set up. If you > connect or disconnect a battery, you can reconfigure the integration to update > the registered devices.
Delta 2 (Max, Black (E980), Delta 3 1500)
| *Sensors* | *Switches* | *Sliders* | |-------------------------------------|----------------------------------|---------------------| | Battery Level | AC Ports | Max Charge Limit | | Main Battery Level | DC 12V Port | Min Discharge Limit | | Extra Battery Level ³ | USB Ports | Energy Backup | | Extra Battery Temperature ³ | Backup Reserve | AC Charging Speed | | Input Power | Disable Grid Bypass ¹ (disabled) | | | Output Power | | | | AC Input Power | | | | AC Input Voltage (disabled) | | | | AC Input Current (disabled) | | | | AC Output Power | | | | DC Output Power | | | | DC 12V Output Voltage (disabled) | | | | DC 12V Output Current (disabled) | | | | XT60 Input Power ¹ | | | | XT60 (1) Input Power ² | | | | XT60 (2) Input Power ² | | | | DC Input Voltage (disabled) | | | | DC Input Current (disabled) | | | | USB A (1) Output Power | | | | USB A (2) Output Power | | | | USB A QC (1) Output Power | | | | USB A QC (2) Output Power | | | | USB C (1) Output Power | | | | USB C (2) Output Power | | | | Cell Temperature (disabled) | | | | Charge Time Remaining (disabled) | | | | Discharge Time Remaining (disabled) | | | ¹ Only available on Delta 2 and Delta 3 1500
² Only available on Delta 2 Max
³ Per extra battery (up to 2) > **📝 Note:** Extra batteries are detected when the integration is set up. If you > connect or disconnect a battery, you can reconfigure the integration to update > the registered devices.
River 2 (Pro, Max)
| *Sensors* | *Switches* | *Sliders* | *Selects* | |-------------------------------------|----------------|----------------------|-----------| | Battery Level | AC Ports | Max Charge Limit | DC Mode | | Input Power | DC 12V Port | Min Discharge Limit | | | Output Power | USB Ports | AC Charging Speed | | | AC Input Power | Backup Reserve | DC Charging Max Amps | | | AC Output Power | | Backup Reserve Level | | | DC 12V Output Power | | | | | DC Output Power | | | | | USB A Output Power | | | | | USB C Output Power | | | | | Solar Input Power | | | | | Cell Temperature (disabled) | | | | | Charge Time Remaining (disabled) | | | | | Discharge Time Remaining (disabled) | | | |
Wave 2
| *Sensors* | *Switches* | *Sliders* | *Selects* | |--------------------|-----------------|-------------|------------| | Battery Level | Automatic Drain | Temperature | Power Mode | | Battery Power | Ambient Light | | Main Mode | | MPPT Power | | | Sub Mode | | PSDR Power | | | Fan Speed | | Outlet Temperature | | | Drain Mode | | Water Level | | | |

> [!NOTE] > This integration focuses on implementing the **most useful sensors and controls** rather than > achieving 100% completeness. While all sensors and controls available in the EcoFlow app can > technically be implemented, we prioritize commonly used features. If you're missing a sensor > or control that's important for your use case, please > [create an issue](https://github.com/rabits/ha-ef-ble/issues/new) to request it. > [!IMPORTANT] > **Bluetooth LE Limitation**: EcoFlow devices support only **one BLE connection at a > time**. If you want to manage your device via the EcoFlow mobile app, you must > temporarily disable this integration in Home Assistant, then re-enable it afterward to > resume data collection. This is an EcoFlow device limitation. --- ## Support & Warranty > [!CAUTION] > **Limited Support • No Warranty • Use at Your Own Risk** > > - This is an **unofficial integration** with no warranty of any kind > - The author takes **no responsibility** for your actions or device behavior > - EcoFlow products involve **dangerous voltages** and energy storage that can cause > **injury or death** > - **EcoFlow support may not help** if you experience issues after using this integration > - The author is **not affiliated with EcoFlow** in any way > > **Proceed only if you fully understand the risks and know what you are doing.** > [!WARNING] > **Firmware Updates May Break This Integration** > > This integration relies on reverse-engineered Bluetooth protocols. **Future EcoFlow firmware > updates may change these protocols and break compatibility.** If everything is working > correctly, do not update your device firmware unless you're willing to wait for this > integration to be updated to support the new firmware version. --- ## Installation ### Prerequisites - Home Assistant with Bluetooth support - Your device must be **bound to your account** through the EcoFlow app before setup - Your **User ID** from the EcoFlow app (can be retrieved via the config flow login form during setup) - [HACS](https://hacs.xyz/) installed (recommended method) ### Method 1: HACS Installation (Recommended) This integration is available in the default HACS repository. **Quick Install:** Click the badge below to open this repository directly in HACS: [![Open in HACS](https://my.home-assistant.io/badges/hacs_repository.svg)](https://my.home-assistant.io/redirect/hacs_repository/?owner=rabits&repository=ha-ef-ble&category=integration) **Manual steps:** 1. Open **HACS** in your Home Assistant instance 2. Go to **Integrations** 3. Click the **⋮** menu (three dots) in the top right 4. Select **Custom repositories** 5. Add this repository URL: `https://github.com/rabits/ha-ef-ble` 6. Select category: **Integration** 7. Click **Add** 8. Search for **"EcoFlow BLE"** in HACS 9. Click **Download** 10. Restart Home Assistant ### Method 2: Manual Installation 1. Download the latest release from [GitHub Releases](https://github.com/rabits/ha-ef-ble/releases) 2. Extract the `custom_components/ef_ble` folder 3. Copy it to your Home Assistant `config/custom_components/` directory 4. Restart Home Assistant ### Configuration After installation, the integration will automatically discover supported EcoFlow devices via Bluetooth LE. > [!TIP] > For detailed configuration help, FAQ, and troubleshooting common issues (like BLE > disconnections), see the [**Wiki**](https://github.com/rabits/ha-ef-ble/wiki) --- ## Development ### Reverse Engineering Curious about how this integration was created? Check out the reverse engineering process: **[ef-ble-reverse](https://github.com/rabits/ef-ble-reverse)** ### Contributing Contributions are welcome! If you'd like to help improve this integration, please read **[CONTRIBUTING.md](CONTRIBUTING.md)** first - it covers development setup, running tests, code style, and the PR workflow. Short version: 1. **Open an issue first** to discuss non-trivial changes 2. Make sure your changes align with the integration's purpose 3. Submit a pull request with a clear description and, where applicable, tests and README updates ### Requesting Support for New Devices Have an EcoFlow device that isn't listed in [Supported Devices](#supported-devices)? **You can help add support!** Starting from version [v0.6.0](https://github.com/rabits/ha-ef-ble/releases/tag/v0.6.0), this integration can connect to unsupported devices to collect diagnostic data. **👉 See the [Requesting Support for New Devices](https://github.com/rabits/ha-ef-ble/wiki/Requesting-Support-for-New-Devices) wiki page** for step-by-step instructions. The process is straightforward: 1. Add your unsupported device through this integration 2. Let it collect diagnostic data while using different ports/features 3. Download and share the diagnostics file (note: may contain personal info - see wiki for privacy options) > [!IMPORTANT] > **Some devices may not be able to provide diagnostics**. This integration works with > **most 3rd generation and some 2nd generation devices**. If your device cannot connect > for diagnostics collection, please open an issue with your device model and firmware > version - adding support is possible but may require additional reverse engineering work. --- ## Legal > **This repository is not for sale.** ### Purpose & Motivation This integration was created to enable **local device control** in disaster scenarios: - **Internet outages** or **EcoFlow server unavailability** - The official EcoFlow app requires server login, even for Bluetooth connections - **No server access = no control**, which is unacceptable for critical power equipment ### Background - Support requests to EcoFlow are typically ignored or handled inadequately - This motivated independent development using reverse engineering - **Intent:** Enable safe, reliable local control in emergencies - not to cause harm ### Declaration This work is provided for **safety and resilience** in critical situations. There is **no intention to harm** any individual or entity. ---
**Stay charged. Stay connected. Stay in control.** *Because when the cloud goes down, your smart home shouldn't follow.*
Built by the community, for the community