Integración domótica Electrolux / AEG, gratuita y de código abierto

Electrodomésticos Electrolux y AEG: ciclos, tiempo restante, frigorífico, climatizadores.
Siga y controle en Gladys sus electrodomésticos conectados del grupo Electrolux — Electrolux, AEG, Zanussi, Frigidaire: lavadoras, lavadoras-secadoras, secadoras, lavavajillas, hornos, frigoríficos, climatizadores portátiles y de ventana, purificadores de aire, deshumidificadores y robots aspiradores Pure i9. La integración usa la API oficial Electrolux Group Developer (developer.electrolux.one), con la cuenta de su aplicación Electrolux o AEG.
Desarrollada sin el hardware ni una cuenta Electrolux: sus comentarios son bienvenidos. El código se comprueba con respuestas reales de la API publicadas con el SDK oficial de Electrolux, todavía no con un aparato real.
Integración comunitaria, no afiliada a Electrolux Group. Electrolux, AEG, Zanussi y Frigidaire son marcas de sus propietarios.
Presentación
Cada aparato de la cuenta se convierte en un dispositivo de Gladys. Sus funciones se construyen a partir de lo que el aparato declara a Electrolux (sus «capacidades»), no de una lista de modelos: una lavadora sin sensor de puerta no tiene puerta, un frigorífico con tres compartimentos tiene sus tres consignas.
- Lavadoras, lavadoras-secadoras, secadoras, lavavajillas: estado (apagado, preparado, inicio diferido, en marcha, en pausa, terminado, alarma), programa, fase del ciclo, tiempo restante, fin previsto, tiempo hasta un inicio diferido, puerta, «inicio remoto activado», alertas.
- Hornos (una o dos cavidades): estado, programa, temperatura de la cavidad, consigna (solo lectura), sonda, tiempo restante, fin previsto, puerta, luz.
- Frigoríficos: consigna de cada compartimento (frigorífico, congelador, compartimento adicional), puerta de cada compartimento, modo rápido, humedad, filtros de agua y de aire, alertas (puerta abierta demasiado tiempo, alarma de temperatura).
- Climatizadores (clásicos y los nuevos modelos portátiles «DAM»): encendido, modo, consigna, velocidad del ventilador, temperatura de la habitación, filtro.
- Purificadores de aire: encendido, modo, velocidad, PM2.5, PM10, compuestos orgánicos volátiles, CO2, humedad, temperatura, vida útil del filtro, según el modelo.
- Deshumidificadores: encendido, humedad, filtro. Robots aspiradores: estado y batería. Placas de cocción y campanas: estado y alertas.
Se añaden un widget de los ciclos en curso, dos disparadores de escena («ciclo terminado», «alerta de un aparato») y una acción de escena para pausar, reanudar, detener — y, si usted lo permite, iniciar — un ciclo.
Requisitos
- Gladys 5.1.0 o posterior.
- Sus aparatos vinculados en la aplicación Electrolux o AEG (My Electrolux, My AEG, Electrolux Kitchen…), con una contraseña en la cuenta (una cuenta creada solo con Google o Apple no puede iniciar sesión en el portal: añada antes una contraseña desde la aplicación).
- Una conexión a internet: Electrolux no tiene API local, todo pasa por la nube de Electrolux.
Configuración
- Vaya al portal de desarrolladores de Electrolux (developer.electrolux.one) e inicie sesión con la cuenta de su aplicación.
- En el panel, cree una clave de API. Cópiela.
- En el mismo panel, genere un par de tokens (token de acceso y token de actualización). Copie el token de actualización: el token de acceso no hace falta.
- En Gladys, abra Integraciones → Electrolux / AEG → Configuración, pegue la clave de API y el token de actualización, elija el idioma de los nombres de las funciones y guarde.
- Haga clic en Probar la conexión: el mensaje enumera sus aparatos y las llamadas a la API de las últimas 24 horas.
- Abra la pestaña Descubrir y añada los aparatos que desee.
El token de actualización solo sirve una vez. En cada renovación del acceso
(cada 12 horas), Electrolux entrega un nuevo token de actualización y el
anterior deja de funcionar. La integración conserva el actual en su propio
almacenamiento (/data): usted pega un token una sola vez. Si más tarde
pega otro, sustituye al almacenado. No reutilice en otra herramienta el token
pegado en Gladys: una de las dos perdería su acceso.
El inicio remoto de lavadoras está desactivado por defecto. Active «Permitir el inicio remoto de lavadoras» solo si quiere que una escena inicie una lavadora (vea «Órdenes y seguridad»).
Qué hace cada aparato
| Función | Aparatos | Valores |
|---|---|---|
| Estado | todos | Apagado, Preparado, Inicio diferido, En marcha, En pausa, Terminado, Alarma, No conectado… |
| Alertas | cuando el aparato las indica | Las alertas activas en claro («Falta sal», «Puerta abierta demasiado tiempo»), si no «—» |
| Programa, fase del ciclo | ropa, vajilla, hornos | Nombre del programa tal como lo llama Electrolux (inglés), fase en su idioma |
| Tiempo restante, inicio diferido en | ropa, vajilla, hornos | Minutos |
| Fin previsto | ropa, vajilla, hornos | Hora («14:35»), «—» cuando nada funciona |
| Puerta | ropa, vajilla, hornos, compartimentos del frigorífico | Abierta / cerrada |
| Inicio remoto activado | ropa, vajilla | Activo cuando el inicio remoto está activado en el aparato |
| Temperatura, consigna, sonda | hornos | °C, solo lectura |
| Luz | hornos | Encendida / apagada (controlable) |
| Consigna, modo rápido | compartimentos del frigorífico | °C dentro del rango del aparato / encendido-apagado (controlables) |
| Encendido, modo, consigna, ventilador | climatizadores | Controlables |
| Encendido, modo, velocidad | purificadores | Controlables (velocidad solo en modo Manual) |
| PM2.5, PM10, COV, CO2, humedad, temperatura, filtro | purificadores | Cuando el modelo los mide |
| Humedad, filtro | frigoríficos, deshumidificadores | % / Bueno, Compre uno pronto, Cámbielo ya, Límpielo |
| Batería | robots aspiradores | % (seis niveles) |
Cada aparato muestra además una insignia nube, o inaccesible cuando no está conectado a la nube de Electrolux; sus demás valores se quedan entonces en los últimos conocidos.
Órdenes y seguridad
La regla es la de la integración Miele: nada que caliente se inicia a distancia.
- Hornos y placas: solo lectura, salvo la luz del horno. Un horno puede detenerse con la acción de escena (el sentido seguro), nunca iniciarse ni ajustarse.
- Secadoras y lavadoras-secadoras: solo pausa y parada. Ni inicio ni reanudación (volvería a calentar).
- Lavavajillas: pausa, reanudación, parada. Sin inicio remoto.
- Lavadoras: pausa, reanudación, parada, e inicio solo si se cumplen las tres condiciones: «Permitir el inicio remoto de lavadoras» está activado en Gladys, el inicio remoto está activado en la máquina (usted la cargó, eligió el programa y pulsó el botón de inicio remoto) y la máquina está preparada para iniciar.
- Frigoríficos, climatizadores, purificadores, deshumidificadores: las funciones son controlables (consignas, modos, encendido).
Antes de enviar nada, la integración comprueba que el aparato está conectado, que su control remoto está activado y que acepta la orden en su estado actual (Electrolux lo describe en las capacidades). Si no, la orden se rechaza con un mensaje claro en lugar de un error de Electrolux.
Actualización y cuotas
La API de Electrolux permite 5000 llamadas al día por clave de API, 10 por segundo y 5 simultáneas. La integración se queda muy por debajo:
- escucha el flujo en directo de Electrolux: un cambio (fin de ciclo, puerta abierta) llega en segundos, por una llamada por conexión;
- relee toda la cuenta cada 30 minutos, por seguridad;
- cuando el flujo en directo no está disponible, relee tan a menudo como lo permiten 2000 llamadas al día: aproximadamente cada 2 minutos con uno o dos aparatos, cada 12 minutos con quince;
- las lecturas se detienen solas al 80 % de la cuota diaria (las órdenes conservan un margen), y tras una respuesta «demasiadas solicitudes» de Electrolux, durante el plazo indicado.
Una lectura completa cuesta una llamada más una por aparato; las capacidades de un aparato se leen una vez, y luego solo tras una actualización de su firmware. La consulta de los dispositivos por Gladys (una vez por minuto) es solo un respaldo: se omite cuando la integración acaba de leer.
Widget
Añada el widget Aparatos Electrolux a un panel: enumera las lavadoras, secadoras, lavavajillas y hornos en marcha, a la espera de un inicio diferido, en pausa, en alarma, terminados o preparados — los que están en marcha primero, con el tiempo restante como insignia, el programa, la fase y el fin previsto. Cuando nada funciona, una línea lo indica. Sigue el idioma de su interfaz de Gladys.
Disparadores y acciones de escena
- Disparador «Ciclo Electrolux terminado»: una lavadora, secadora, lavavajillas u horno ha terminado su programa. Filtre por un aparato, o deje vacío para todos. Variables: nombre del aparato, programa.
- Disparador «Alerta de un aparato Electrolux»: un aparato emite una nueva alerta (puerta abierta demasiado tiempo, fuga de agua, falta sal, filtro por cambiar, alarma…). Un evento por alerta nueva. Variables: nombre del aparato, alerta en claro, código de la alerta.
- Acción «Controlar un ciclo Electrolux»: inicia (lavadora, si se permite), pausa, reanuda o detiene el programa de un aparato. Salida: «orden enviada».
Ejemplos de escenas
- Colada lista: disparador «Ciclo Electrolux terminado» en la lavadora → enviar «La colada ha terminado ({{triggerEvent.data.program}})» a la familia.
- Lavar en horas valle: por la noche, cargue la máquina, elija el programa y pulse el inicio remoto. Una escena a las 22:30 (horas valle) ejecuta la acción «Controlar un ciclo Electrolux» → iniciar.
- Puerta del frigorífico: disparador «Alerta de un aparato Electrolux» en el frigorífico → enviar «{{triggerEvent.data.device_name}}: {{triggerEvent.data.alert}}».
- Refrescar el dormitorio: cuando la temperatura del dormitorio supera 26 °C, encender el climatizador en modo refrigeración a 24 °C.
Solución de problemas
- «Electrolux rechazó la clave de API o los tokens»: el token de actualización se usó en otro lugar o fue revocado. Genere un nuevo par de tokens en el portal y pegue el nuevo token de actualización en la configuración.
- «Cuota de la API de Electrolux alcanzada»: otra herramienta usa la misma clave de API, o hubo muchos reinicios. Las lecturas se reanudan solas; cree una clave de API distinta para cada herramienta.
- Ningún aparato: compruebe que los aparatos están vinculados en la aplicación Electrolux o AEG con la misma cuenta y haga clic en Probar la conexión.
- Una orden se rechaza: el mensaje indica el motivo — control remoto desactivado en el aparato, aparato no conectado, orden no aceptada en su estado actual (pause antes de detener) o inicio remoto no permitido.
- Los valores cambian con retraso: puede que el flujo en directo no esté disponible para su clave; la integración relee entonces cada pocos minutos (vea «Actualización y cuotas»).
- Registros: son discretos a propósito. Ponga
LOG_LEVEL=debugpara ver cada lectura y cada estado enviado.
Limitaciones
- Desarrollada sin el hardware ni una cuenta: el comportamiento con aparatos reales está por confirmar. Sus comentarios son bienvenidos.
- Los nombres de programa vienen de Electrolux, en inglés.
- Los modos de climatizador que Gladys no conoce (Eco, por ejemplo) no se ofrecen; la función de modo no muestra entonces ningún valor.
- Los frigoríficos indican sus consignas; pocos indican la temperatura medida, que solo se muestra cuando el aparato la facilita.
- Los robots aspiradores son de solo lectura (estado y batería); campanas y placas muestran su estado y sus alertas.
- Los programas se eligen en el aparato: la integración no elige programa ni opciones.
- Las cifras de la cuota proceden del portal de desarrolladores, según las indican otros proyectos; Electrolux puede cambiarlas.
Datos y privacidad
La clave de API y el token de actualización pegados se quedan en la
configuración de Gladys; los tokens actuales se guardan en el almacenamiento
propio de la integración (/data, legible solo por ella). Ninguno aparece
nunca en los registros. La integración solo habla con
api.developer.electrolux.one y con la dirección del flujo en directo que
indica Electrolux.
Parámetros de configuración
Estos son los parámetros que Electrolux / AEG te pide en su pantalla de configuración en Gladys.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Antes de empezar | section | No | Electrolux no tiene API local: todo pasa por la nube de Electrolux, con la cuenta de la aplicación Electrolux o AEG. Inicie sesión con esa cuenta en el portal de desarrolladores de Electrolux, cree una clave de API y genere un par de tokens (token de acceso y token de actualización). Pegue abajo la clave de API y el token de actualización y guarde. El token de actualización cambia en cada uso: la integración conserva el actual, así que péguelo una sola vez. |
| Clave de API | secret | Sí | Clave de API creada en el portal de desarrolladores de Electrolux. |
| Token de actualización | secret | Sí | Token de actualización generado con la clave. Pegue uno nuevo solo si Electrolux rechaza el actual. |
| Permitir el inicio remoto de lavadoras | boolean | No | Desactivado por defecto. Activado, una escena puede iniciar una lavadora cuyo inicio remoto está activado en la máquina. Nunca un horno, una secadora ni una lavadora-secadora. |
| Idioma | select | No | Nombres de las funciones de los nuevos aparatos, estados y widget. Los programas vienen de Electrolux, en inglés. |
Cómo instalar Electrolux / AEG en Gladys
- En Gladys, abre Integraciones: Electrolux / AEG aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
- Haz clic en Instalar. Gladys descarga la imagen Docker (
ghcr.io/guim31/gladys-electrolux:1.0.1), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración). - Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
- También puedes instalarla directamente desde la URL de su repositorio: https://github.com/guim31/gladys-electrolux.
Electrolux / AEG requiere Gladys >=5.1.0. El catálogo de Gladys se actualiza cada hora, así que una nueva versión está disponible como máximo una hora después de publicarse.
¿Todavía no usas Gladys? Es gratuito y de código abierto: sigue la guía de instalación para empezar.
Sobre las integraciones externas
Electrolux / AEG es una integración externa: una integración comunitaria empaquetada como contenedor Docker y publicada en GitHub. Gladys la instala con un clic y la ejecuta en un entorno aislado del núcleo. La publica y mantiene guim31, no el equipo principal de Gladys.
- Explorar todas las integraciones, nativas y de la comunidad
- Crear y publicar tu propia integración externa
- Código fuente en GitHub — fuente de esta documentación