Integración domótica Miele, gratuita y de código abierto

Electrodomésticos Miele@home: estado, programa, tiempo restante, temperaturas y escenas.
Siga sus electrodomésticos Miele@home en Gladys: lavadoras, secadoras, lavavajillas, hornos, campanas, placas de cocción, frigoríficos, congeladores, vinotecas, cafeteras y robots aspiradores. La integración usa la API oficial «Miele 3rd Party API», la misma que usa Home Assistant.
Desarrollada sin los aparatos ni una cuenta Miele: sus comentarios son bienvenidos. El código se ha comprobado con respuestas reales de la API publicadas por el proyecto Home Assistant, todavía no con un aparato real.
Integración comunitaria, sin relación con Miele. Miele y Miele@home son marcas de Miele & Cie. KG.
Presentación
- Un dispositivo Gladys por aparato Miele: estado (en marcha, en pausa, terminado, avería…), programa y fase en curso, tiempo restante, tiempo transcurrido, fin previsto, puerta, temperaturas, energía y agua del ciclo.
- Tiempo real: la integración escucha el flujo de eventos de Miele. Una colada terminada se conoce en pocos segundos.
- Órdenes seguras: encendido/apagado de una lavadora, lavavajillas, campana o cafetera, luces, consigna y SuperCool/SuperFrost de un frigorífico o congelador, inicio de un programa preparado en el aparato. Nunca se enciende un horno ni una placa a distancia.
- Disparadores de escena: «Programa Miele terminado» y «Avería de un aparato Miele».
- Widget «Aparatos Miele»: lo que está en marcha, y por cuánto tiempo.
Requisitos
- Gladys Assistant 5.1.0 o posterior.
- Aparatos Miele@home ya vinculados en la aplicación Miele (smartphone), con la cuenta Miele que usará aquí.
- Acceso a Internet para Gladys: todo pasa por la nube de Miele, no existe API local.
- Credenciales de desarrollador Miele (Client ID y Client Secret), gratuitas: vea el paso 1 más abajo.
- No hace falta Gladys Plus.
Configuración
Paso 1 — Solicitar las credenciales a Miele. Abra
el formulario de Miele y
rellénelo (nombre de la aplicación: por ejemplo «Gladys»). Miele le envía por correo
un Client ID y un Client Secret. Si el formulario pide una «Redirect URI»,
indique la que Gladys muestra en el paso 3 (por defecto
https://my.gladysassistant.com/redirect/oauth).
Paso 2 — Instalar la integración. En Gladys: Integraciones → Miele (tienda)
o Integraciones → Instalar desde GitHub con la dirección
https://github.com/guim31/gladys-miele.
Paso 3 — Rellenar y conectar. En la pantalla Configuración de la integración:
- pegue el Client ID y el Client Secret, elija el idioma y haga clic en Guardar;
- bajo «Cuenta Miele», copie si hace falta la URI de redirección mostrada y haga clic en Conectar;
- se abre una ventana de Miele: inicie sesión con su cuenta Miele (la de la aplicación), elija su país si se lo pide y autorice el acceso;
- la ventana se cierra y el indicador de conexión se pone verde.
Paso 4 — Añadir los aparatos. Abra la pestaña Descubrir de la integración: ahí aparece cada aparato Miele de la cuenta. Haga clic en Añadir a Gladys en los que quiera seguir. Sus estados llegan enseguida.
El botón Probar la conexión de la pantalla Configuración lista los aparatos que devuelve Miele: útil para comprobar que todo está en orden.
El idioma elegido sirve para los nombres de las funciones de los nuevos aparatos, los estados y el widget. Los nombres de programas y fases vienen de Miele, que solo los da en inglés o alemán (alemán si elige alemán, inglés en los demás casos).
Qué ofrece cada aparato
| Aparato | Funciones |
|---|---|
| Lavadora, lavasecadora | Estado, programa, fase, tiempo restante, tiempo transcurrido, fin previsto, puerta, encendido/apagado, energía y agua del ciclo |
| Secadora | Lo mismo, sin el agua |
| Lavavajillas | Estado, programa, fase, tiempo restante, tiempo transcurrido, fin previsto, puerta, encendido/apagado, energía y agua del ciclo |
| Horno, horno de vapor, microondas, cajón calientaplatos | Estado, programa, fase, tiempo restante, tiempo transcurrido, fin previsto, puerta, temperatura, temperatura de consigna y temperatura interior (solo lectura), luz (según el modelo) |
| Placa de cocción | Estado (solo lectura) |
| Campana extractora | Estado, encendido/apagado, luz |
| Frigorífico, congelador, vinoteca | Estado, puerta, temperatura y consigna de cada zona, SuperCool y/o SuperFrost, luz (vinotecas) |
| Cafetera | Estado, programa, fase, puerta, encendido/apagado, luz |
| Robot aspirador | Estado, programa, fase, batería |
Algunos detalles:
- Fin previsto: hora de fin calculada a partir del tiempo restante (y del inicio diferido si lo hay), en la zona horaria de Gladys. «—» cuando nada está en marcha o el programa está en pausa.
- Puerta: un sensor de apertura, abierto o cerrado.
- Energía y agua del ciclo: lo que Miele indica para el ciclo en curso o el último, cuando el aparato lo mide («EcoFeedback»). El valor del último ciclo se mantiene mientras el aparato está apagado.
- Consigna de un frigorífico: un grado por paso, dentro del rango que acepta el aparato (normalmente de 1 a 9 °C en el frigorífico, de −28 a −14 °C en el congelador).
- Un aparato que ya no está conectado a la nube de Miele muestra «No conectado» y el indicador «inaccesible».
Órdenes y seguridad
- Lo que se puede controlar: encendido/apagado (lavadora, secadora, lavavajillas, campana, cafetera), luces (campana, hornos, cafetera, vinotecas), consigna y SuperCool/SuperFrost (frío), y la acción de escena «Controlar un aparato Miele» (iniciar, pausar, detener).
- Lo que nunca: encender un horno, una placa, un microondas o un cajón calientaplatos, cambiar su temperatura, iniciar un programa en él. Aunque la API de Miele lo permitiera, la integración lo rechaza. Detener un programa de horno sigue siendo posible.
- Iniciar un programa a distancia requiere que el aparato lo acepte: un programa elegido en el aparato, la puerta cerrada y Remote Start (o MobileStart, según el modelo) activado en el aparato. Si no, la integración responde «El aparato no acepta esta orden ahora».
- Inicio diferido: ajuste el programa en el aparato con Remote Start y deje que una escena programada de Gladys lo inicie a la hora deseada (horas valle). Un inicio diferido ajustado en el propio aparato (SmartStart incluido) aparece como estado «Inicio diferido» y en el fin previsto.
Actualización y cuotas
- La integración mantiene un flujo de eventos abierto con Miele: cada cambio llega en pocos segundos, sin peticiones adicionales.
- Además, lee toda la cuenta cada 30 minutos (una petición, más una por aparato controlable). Si el flujo se corta, lee cada 2 minutos hasta que vuelve.
- No depende del sondeo de Gladys (poco fiable para las integraciones externas): se actualiza sola.
- Miele no publica ninguna cifra de cuota para su API; este ritmo queda muy por debajo del de Home Assistant (una lectura cada 2 minutos, siempre). Las condiciones de uso de Miele se aplican a sus credenciales.
- Solo se envían a Gladys los cambios, más un recordatorio cada 6 horas de un valor que no cambia (si no, Gladys lo consideraría antiguo).
Widget
El widget Aparatos Miele (Panel → Editar → añadir un widget → Miele) lista los aparatos añadidos a Gladys que están en marcha, en pausa, esperando un inicio diferido, terminados o con avería, los más urgentes primero: programa, fase, hora de fin y una etiqueta con el tiempo restante o el estado. Los frigoríficos, siempre «en marcha», no aparecen. Se actualiza cada minuto y en cuanto un aparato arranca o se para. No tiene ajustes.
Disparadores y acciones de escena
Disparador «Programa Miele terminado»: un aparato pasa de «En marcha» (o «En pausa») a «Terminado». Filtro opcional: el aparato. Variables para las acciones siguientes: nombre del aparato, programa, energía consumida (kWh) y agua consumida (litros) cuando Miele las da. Se dispara una vez por fin de programa, nunca al reiniciar Gladys.
Disparador «Avería de un aparato Miele»: un aparato pasa al estado «Avería» o indica un fallo. Filtro opcional: el aparato. Variable: nombre del aparato.
Acción «Controlar un aparato Miele»: iniciar, pausar o detener el programa de un aparato. Iniciar y pausar: solo lavadoras, secadoras y lavavajillas. Detener: también hornos, campana y cafetera. Salida: «Orden enviada». Si se rechaza, la acción falla con el motivo y la escena continúa.
No hay disparador «puerta abierta demasiado tiempo»: el disparador estándar de Gladys sobre la puerta (sensor de apertura) con la opción «durante» ya lo hace, en cualquier aparato.
Ejemplos de escenas
- Colada terminada: disparador «Programa Miele terminado» (aparato: la lavadora) → enviar un mensaje «La colada ha terminado ({{triggerEvent.data.program}}, {{triggerEvent.data.energy_kwh}} kWh)».
- Lavavajillas en horas valle: prepare el programa por la noche con Remote Start activado; una escena programada a la 1:30 ejecuta «Controlar un aparato Miele → Iniciar».
- Congelador abierto: disparador «Puerta del congelador = abierta durante 3 minutos» → notificación.
- Avería: disparador «Avería de un aparato Miele» → mensaje con
{{triggerEvent.data.device_name}}.
Solución de problemas
- «Introduzca el Client ID y el Client Secret…»: los campos están vacíos o sin guardar.
- La ventana de Miele rechaza el inicio de sesión o la URI de redirección: compruebe el Client ID; si su aplicación Miele tiene una URI de redirección registrada, debe ser exactamente la que aparece bajo «Cuenta Miele».
- «Este inicio de sesión ha caducado…»: más de 15 minutos entre el clic en Conectar y el final del inicio de sesión, o un inicio de sesión empezado desde otro Gladys. Haga clic de nuevo en Conectar.
- «Miele ha rechazado la autorización guardada»: el acceso se ha revocado, la contraseña de Miele ha cambiado o se ha modificado el Client ID: haga clic en Conectar.
- Ningún aparato en Descubrir: el botón Probar la conexión indica lo que devuelve Miele. Una cuenta vacía significa que los aparatos están vinculados a otra cuenta Miele.
- «El aparato no acepta esta orden ahora»: puerta abierta, ningún programa elegido, Remote Start/MobileStart desactivado, o el aparato ya está en el estado pedido.
- Registros: en funcionamiento normal no se escribe nada. Para verlo todo, pase
la variable
LOG_LEVEL=debugal contenedor. Nunca se registra ningún token ni secreto.
Limitaciones
- No se elige el programa a distancia (no hay lista de programas en Gladys): se inicia el preparado en el aparato.
- Nombres de programas y fases en inglés o alemán (límite de la API de Miele).
- Sin control de hornos, placas y microondas (decisión de seguridad), ni del robot aspirador, ni de la velocidad de la campana.
- Los niveles de TwinDos/PowerDisk, las zonas de una placa y el inicio diferido ajustado a distancia no están incluidos.
- Depende de la nube de Miele: sin Internet o durante una avería de Miele, no hay actualizaciones (los aparatos funcionan con normalidad).
- Los nombres de las funciones se fijan al añadir el aparato: cambiar el idioma solo renombra los aparatos nuevos (los estados sí cambian de idioma).
Datos y privacidad
- Los tokens de acceso de Miele se guardan en el volumen
/datade la integración (un archivo que solo ella puede leer), nunca en la configuración de Gladys ni en los registros. - El Client Secret es un campo secreto de Gladys: no se vuelve a mostrar.
- El inicio de sesión se hace en la página de Miele: la integración nunca ve su
contraseña. La página de redirección de Gladys (
my.gladysassistant.com) solo devuelve su navegador a su Gladys; el código que ve pasar es inútil sin el Client Secret. - La integración solo se comunica con
api.mcs3.miele.com.
Parámetros de configuración
Estos son los parámetros que Miele te pide en su pantalla de configuración en Gladys.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Antes de empezar | section | No | Miele no tiene API local: todo pasa por la nube de Miele, con la cuenta de la aplicación Miele. Solicite a Miele credenciales de desarrollador gratuitas (Client ID y Client Secret, enviadas por correo), péguelas abajo y guarde. Si Miele pide una URI de redirección, copie la que aparece bajo el botón Conectar. Después haga clic en Conectar e inicie sesión con su cuenta Miele. |
| Client ID | string | Sí | Client ID enviado por Miele. |
| Client Secret | secret | Sí | Client Secret enviado por Miele, no se vuelve a mostrar. |
| Cuenta Miele | oauth2 | No | Inicie sesión con la cuenta Miele a la que sus aparatos están vinculados en la aplicación Miele. |
| Idioma | select | No | Nombres de las funciones de los nuevos aparatos, estados y widget. Los programas vienen de Miele, en inglés o alemán. |
Cómo instalar Miele en Gladys
- En Gladys, abre Integraciones: Miele 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-miele: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-miele.
Miele 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
Miele 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 externas
- Descubrir las integraciones nativas incluidas en Gladys
- Crear y publicar tu propia integración externa
- Código fuente en GitHub — fuente de esta documentación