Skip to main content

Python API for managing Ecoflow power stations

Project description

Ecoflow Python API

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:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ecoflow-0.2.tar.gz (5.7 kB view hashes)

Uploaded Source

Built Distribution

ecoflow-0.2-py3-none-any.whl (5.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page