Integración externa - EcoFlow

:battery: Nueva integración: EcoFlow (River 2 / River 2 Max / River 2 Pro)

Nota: el bloque en la esquina inferior izquierda es un enchufe inteligente frente al EcoFlow, que usaba antes de la integración.

Una integración externa para monitorear y controlar tus estaciones EcoFlow de la gama River 2 directamente desde Gladys, a través de la nube de EcoFlow (la misma que usa la aplicación oficial).

Qué hace

Para cada dispositivo detectado, obtienes:

  • Nivel de batería (%)
  • Potencia de carga AC, potencia de salida total, potencia de salida AC, potencia solar entrante
  • Interruptores: salida AC, X-Boost, salida DC (encendedor de cigarrillos), reserva de emergencia
  • Una acción «Probar la conexión» para verificar si un dispositivo responde

Dos formas de conectarse

  1. Cuenta de desarrollador de EcoFlow (Open Platform) — la vía oficial y documentada, con descubrimiento automático de todos los dispositivos de la cuenta. Desventaja: hay que crear una cuenta de desarrollador y esperar la aprobación de EcoFlow (~1 semana), y algunos dispositivos ya vinculados a la aplicación móvil pueden ser rechazados por parte de EcoFlow («ya asignado») — una limitación conocida y recurrente de su plataforma, independiente de la integración.
  2. Conexión simple (correo electrónico/contraseña) — las mismas credenciales que la aplicación EcoFlow, sin cuenta de desarrollador ni espera. No oficial (puntos de acceso internos de la aplicación), por lo que no hay descubrimiento automático: el número de serie de cada dispositivo se ingresa manualmente. Es el método que desbloquea los dispositivos rechazados por la vía de desarrollador — probado y funcional en un River 2 Pro real (lo que uso).

Ambos métodos pueden funcionar al mismo tiempo.

Límites conocidos

  • Sin control local/LAN: incluso un dispositivo que nunca sale de tu WiFi pasa por la nube de EcoFlow, como la aplicación oficial — confirmado por EcoFlow ellos mismos (la única excepción en todo su catálogo: el EZ1, un temporizador de riego sin relación).
  • No hay ajuste de los límites de carga/descarga ni del nivel de reserva de emergencia en porcentaje (solo lectura por ahora).
  • El método simple (2) se basa en puntos de acceso no documentados por EcoFlow: puede romperse sin previo aviso si EcoFlow cambia su aplicación.

Instalación

Modo desarrollador en Gladys → pegar el enlace GitHub - LM1LC3N7/gladys-ecoflow: Integration of EcoFlow River 2 family (River 2 Pro / Max) to Gladys Assistant · GitHub

:locked: Seguridad, mantenimiento y reutilización

  • Comunicación solo en HTTPS/MQTT firmado — sin acceso local ni puerto abierto en el dispositivo
  • Contenedor sin root, sistema de archivos de solo lectura, npm install sin ejecución de scripts (--ignore-scripts)
  • Credenciales almacenadas cifradas por Gladys, nunca transmitidas a ningún otro lugar que no sea EcoFlow
  • CI (lint, pruebas, compilación) en cada cambio + actualizaciones automáticas de dependencias (Dependabot), publicación de imagen en cada evolución
  • Firma de solicitudes y protocolo MQTT cruzados con dos implementaciones ya utilizadas por la comunidad (tolwi/hassio-ecoflow-cloud, rustyy/ecoflow-api), validación a través de los esquemas reales de @ecoflow-api/schemas

Hola @lmilcent :slight_smile:

¡Esta integración es genial!

Un pequeño comentario, falta una miniatura en esta integración:

Pídele a tu Claude que añada una :wink:

¡Gracias, lo había olvidado por completo!

Integración EcoFlow para Gladys – versión 0.3.0

Presentación

Nueva versión de la integración EcoFlow para las estaciones River 2 (River 2, River 2 Max, River 2 Pro). Aprovecha lo que Gladys 5.1 ofrece a las integraciones externas: un widget dedicado en el tablero de control, y disparadores y acciones en el editor de escenas. El control sigue siendo a través de la nube EcoFlow (estas estaciones no tienen control local), ya sea con la API oficial Open Platform o con la conexión simple de correo electrónico/contraseña de la aplicación.

Qué hace hoy

  • Widget « Estación EcoFlow »: lo que hace la estación (« En batería · 3 h 10 restantes », « Cargando · 300 W entrantes »…), indicador de batería y potencias de entrada de red / solar / salida en tiempo real, estado de las salidas, reserva, límites de carga y descarga, y botones para activar/cortar las salidas AC y DC.
  • Disparadores de escena:
    • corte y retorno de la entrada de red (útil cuando la estación actúa como un inversor);
    • estación que no responde o responde nuevamente;
    • límite de carga alcanzado.
  • Acciones de escena:
    • ajustar el límite de carga y el límite de descarga;
    • ajustar la reserva de emergencia;
    • ajustar la potencia de carga de red, o ponerla en pausa (por ejemplo, para cargar solo en horas valle);
    • releer la estación a demanda, para reutilizar el nivel de batería y la autonomía en el resto de la escena.
  • Nuevos sensores: autonomía restante y « en carga », además del nivel de batería, las potencias y los interruptores AC / X-Boost / DC / reserva.
  • Retorno inmediato: un interruptor accionado en Gladys cambia de posición de inmediato, luego la estación se relee unos segundos más tarde para confirmar.
  • Insignia de conexión por dispositivo: nube, nube degradada (última lectura fallida) o inalcanzable.
  • Estado claro en la configuración: cada método se prueba realmente y su resultado se muestra (« API oficial: 2 dispositivos · Fallo de conexión simple: contraseña incorrecta »).
  • Acción Diagnóstico: lista los datos enviados por la estación, sin número de serie ni información de red, para informes de errores o para agregar otros modelos.
  • Fiabilidad:
    • un cambio de credenciales se aplica sin reinicio, y borrarlas corta realmente el acceso a EcoFlow;
    • sesión MQTT más robusta;
    • ninguna orden enviada con valores inventados.
  • Imagen Docker: Node 24, usuario no root, sistema de archivos de solo lectura, multi-arquitectura (amd64 / arm64, por lo tanto Raspberry Pi).

Límites actuales

  • Gladys 5.1 mínimo: las versiones más antiguas se quedan en la 0.2.x.
  • Probado en condiciones reales en un solo modelo (River 2 Pro, método de conexión simple). Las acciones de escena, la detección de corte de red y la autonomía restante aún deben confirmarse en otros dispositivos.
  • Actualización desde la 0.2.x: un botón « Actualizar » aparece en el dispositivo en la pestaña Descubrimiento, para agregar los dos nuevos sensores. El historial se conserva.
  • Solo gama River 2 por ahora (no Delta ni River 3).
  • No hay tiempo real: la estación se relee periódicamente, cada 30 segundos por defecto.
  • La conexión simple utiliza los accesos internos de la aplicación EcoFlow y puede fallar sin previo aviso si EcoFlow los modifica.

Si tienes otra estación EcoFlow, el resultado de la acción Diagnóstico publicado aquí me ayudaría mucho para agregarla.

Nota: Parece muy verboso con el pooling cada 30 segundos, depende de ti si quieres mantener cada estado.