Skip to main content

Integración API de EcoFlow

Este script de Python permite interactuar con la API pública de EcoFlow para obtener información sobre los equipos vinculados a tu cuenta. Implementa de forma nativa el flujo de autenticación seguro mediante firmas criptográficas (HMAC-SHA256) requerido por la plataforma.

Características

  • Autenticación segura basada en nonce, timestamp y firma HMAC-SHA256.
  • Gestión de credenciales mediante variables de entorno (.env) para evitar exponer claves sensibles.
  • Manejo estructurado de excepciones de red y timeouts.
  • Validación preventiva de credenciales antes de ejecutar las peticiones.

Requisitos Previos

  • Python 3.7 o superior (probado con Python 3.13).
  • Dependencias: requests, python-dotenv.

Instalación

  1. Clona este repositorio o descarga el script ecoflow.py.

  2. Instala las dependencias necesarias. Puedes hacerlo utilizando pip estándar o uv:

    # Usando pip
    pip install requests python-dotenv
    
    # O usando uv para mayor velocidad
    uv pip install requests python-dotenv
    

Configuración

Para utilizar este script, primero debes registrarte en el portal de desarrolladores de la API de EcoFlow para obtener tus credenciales de acceso (Access Key y Secret Key). También necesitarás tener a la mano el número de serie (SN) de tu equipo.

El script requiere que estas credenciales se pasen como variables de entorno. La forma más sencilla de gestionarlo es creando un archivo .env.

  1. En el directorio raíz donde se encuentra tu script, crea un archivo llamado .env.

  2. Añade tus credenciales siguiendo este formato:

    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 tener .env listado dentro de tu archivo .gitignore para no subir tus credenciales a GitHub por error.

Uso

Una vez que las dependencias estén instaladas y el archivo .env configurado, simplemente ejecuta el script desde la terminal:

python3 ecoflow.py
  • Si la configuración es correcta, recibirás en consola la información de cuota y estado del dispositivo en formato JSON.
  • Si falta alguna credencial o hay un problema de conectividad con la API, el sistema de logging mostrará un mensaje de error detallado indicando qué debes revisar.

Release files for ecoflow-reader 0.1.0

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.0
File Size Uploaded
ecoflow_reader-0.1.0.tar.gz 10.9 kB Details

Built distribution (wheel)

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

Total release size: 22.6 kB

Release files / ecoflow_reader-0.1.0.tar.gz

Download URL ecoflow_reader-0.1.0.tar.gz
Size 10.9 kB
Tags Source
SHA-256 checksum
How to use checksums
8e1d20dffdf0a29a963426a8e3c9b80421c18b6630d4781c6ae509b5142587ad
BLAKE2b-256 checksum
How to use checksums
3663184aa9c52ca3434376e6e572635b0d19685e7ea2dc5890f8d69d9d2c19f5
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.0-py3-none-any.whl

Download URL ecoflow_reader-0.1.0-py3-none-any.whl
Size 11.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
73adc8a9ae6d469c2f4fbac4180abd76e8793f5879703a481f86523c5169571d
BLAKE2b-256 checksum
How to use checksums
db15e6c896611fe60db22403d0451bc3520356b647b320a8d0628706320bb2be
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

0.1.1

2 release files

This release

0.1.0 This release

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