Skip to content

Python library for communicating with Ecoflow power stations over BLE

License

Notifications You must be signed in to change notification settings

anton-ptashnik/ecoflow-api-py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ecoflow Python API

PyPI version Test

Python library for communicating with Ecoflow power stations over BLE, based on bleak.

Supported features

Delta 2 device is the only supported for now. Extending support is planned

Feature \ Device Delta 2 River 2
Output circuit control - AC + pending
Output circuit control - DC + pending
Output circuit control - USB + pending
Reading output circuits state + pending
Reading charge level + pending
Reading configured charging speed + pending
Reading configured min/max charging speed thresholds + pending
Reading realtime charging speed - AC input + pending
Reading realtime charging speed - Solar input - pending

Usage

import asyncio
import bleak
from ecoflow import Delta2, OutputCircuit

async def main():
    mac = "00:00:00:00:00:01"
    ble_client = bleak.BleakClient(mac, timeout=15)
    async with Delta2(ble_client) as dev:
        await dev.turn_on_circuit(OutputCircuit.USB)
        await dev.turn_off_circuit(OutputCircuit.AC)

        await dev.start_state_stream(print_state)
        await asyncio.sleep(40)
        await dev.stop_state_stream()

async def print_state(data):
    print("state update...")
    for k, v in data.items():
        print(f"{k} = {v}")
    print("-"*20)

asyncio.run(main())

Note to understand the example completely one may need to refer to:

About

Python library for communicating with Ecoflow power stations over BLE

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages