Skip to main content

EcoFlow Reader

Librería en Python para interactuar con la API pública de EcoFlow. Permite obtener información sobre las cuotas y el estado de los equipos vinculados a tu cuenta, implementando de forma nativa el flujo de autenticación seguro requerido por la plataforma mediante firmas criptográficas (HMAC-SHA256).

Instalación

Puedes instalar la librería directamente desde PyPI utilizando pip o uv:

uv pip install ecoflow-reader

Configuración

Para utilizar esta librería necesitas tus credenciales de acceso (Access Key y Secret Key) obtenidas en el portal de desarrolladores de EcoFlow, además del número de serie (SN) de tu equipo.

La librería lee estas credenciales desde variables de entorno. En la raíz de tu proyecto, copia la plantilla proporcionada:

cp env.example .env

Edita el archivo .env con tus credenciales reales:

ECOFLOW_API_KEY="tu_access_key_obtenida_en_ecoflow"
ECOFLOW_API_SECRET="tu_secret_key_obtenida_en_ecoflow"
ECOFLOW_DEVICE_SN="el_numero_de_serie_de_tu_equipo"

Importante: Asegúrate de que el archivo .env esté incluido en tu .gitignore para evitar exponer tus credenciales.

Uso

1. Desde la Terminal (CLI)

Al instalar el paquete, se expone un binario global en tu sistema. Si tienes el archivo .env configurado en el directorio actual, simplemente ejecuta:

ecoflow-cli

Si la configuración es correcta, recibirás en consola la información de cuota y estado del dispositivo en formato JSON. En caso de error, el sistema de logging te indicará qué credencial o problema de red debes revisar.

2. Como Librería en tu Código Python

Puedes importar la clase EcoFlowClient para integrarla en tus propias aplicaciones, contenedores o APIs:

import os
from dotenv import load_dotenv
from ecoflow_reader import EcoFlowClient

# 1. Cargar las variables de entorno
load_dotenv()
API_KEY = os.getenv('ECOFLOW_API_KEY')
API_SECRET = os.getenv('ECOFLOW_API_SECRET')
DEVICE_SN = os.getenv('ECOFLOW_DEVICE_SN')

# 2. Inicializar el cliente
client = EcoFlowClient(api_key=API_KEY, api_secret=API_SECRET)

# 3. Consultar la API
datos = client.get_device_quota(sn=DEVICE_SN)

if datos:
    print(datos)
else:
    print("No se pudo obtener la información del equipo.")

Licencia y Autor

Desarrollado por Jesús Palencia (sinfallas) Distribuido bajo la licencia GPL-2.0. Consulta el archivo LICENSE para más detalles.

Release files for ecoflow-reader 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ecoflow-reader 0.1.1
File Size Uploaded
ecoflow_reader-0.1.1.tar.gz 11.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ecoflow-reader 0.1.1
File Interpreter ABI Platform
ecoflow_reader-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 23.5 kB

Release files / ecoflow_reader-0.1.1.tar.gz

Download URL ecoflow_reader-0.1.1.tar.gz
Size 11.9 kB
Tags Source
SHA-256 checksum
How to use checksums
5c28274980103af4ecd2af019fde0f13a8df19901fceeae4db2af874badc5bf4
BLAKE2b-256 checksum
How to use checksums
65565ffc5fd098a014bd3557870cc1e8fc1ae963acb2db0d3e844a6717ce30de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / ecoflow_reader-0.1.1-py3-none-any.whl

Download URL ecoflow_reader-0.1.1-py3-none-any.whl
Size 11.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cc23f44c33522a3c224d6fa14f4562bfb4345739116acb388b18f05388cd2208
BLAKE2b-256 checksum
How to use checksums
ae74c7da41539f8f51e087558458b6e216f43a5abeaf7effd1e5a8e5be980994
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page