Saltar al contenido principal

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

Integración Home Connect para Gladys Assistant

Controle y supervise sus electrodomésticos Bosch, Siemens, Neff y Gaggenau mediante Home Connect.

Esta integración conecta Gladys con Home Connect, la plataforma en la nube que hay detrás de los electrodomésticos Bosch, Siemens, Neff, Gaggenau, Balay, Constructa, Profilo y Thermador.

Todo electrodoméstico que aparece en la aplicación Home Connect aparece en Gladys: lavavajillas, lavadoras, secadoras, lavadoras-secadoras, hornos, microondas, cajones calientaplatos, placas, campanas, frigoríficos, congeladores, vinotecas, cafeteras, robots de limpieza y robots de cocina.

No existe modo local. Los electrodomésticos Home Connect hablan con la nube de BSH, y solo con ella. Si su conexión a internet cae, esta integración cae. Es una propiedad de los electrodomésticos, no de la integración.

1. Crear una aplicación de desarrollador de Home Connect​

La API de Home Connect es gratuita, pero cada instancia de Gladys necesita sus propias credenciales de aplicación: BSH las concede por desarrollador, no por producto.

  1. Cree una cuenta gratuita en el portal para desarrolladores de Home Connect e inicie sesión. Use la misma dirección de correo electrónico que la de su cuenta de la aplicación Home Connect: el portal vincula ambas, y solo entonces podrá ver sus propios electrodomésticos.
  2. Vaya a Applications → Register Application y rellene:
    • Application ID: lo que quiera, p. ej. gladys.
    • OAuth Flow: Authorization Code Grant Flow.
    • Home Connect User Account for Testing: la dirección de correo de su cuenta de la aplicación Home Connect.
    • Redirect URI: consulte el paso 2 más abajo; primero Gladys tiene que indicársela.
    • Success Redirect URI: déjelo vacío.
  3. Una vez registrada, el portal muestra su Client ID y su Client Secret.

2. Configurar la integración en Gladys​

  1. Instale la integración y abra su pestaña Configuración.
  2. Pegue el Client ID y el Client Secret.
  3. Pulse Guardar configuración y después Conectar en el campo Cuenta de Home Connect. Gladys abre la página de inicio de sesión de Home Connect.

Si Home Connect responde «redirect_uri mismatch», la URI que usa Gladys no es la registrada en el portal. Tras un primer clic en Conectar, el botón Probar la conexión muestra la URI de redirección exacta que ha usado Gladys; también aparece en los logs de la integración. Péguela en el campo Redirect URI de su aplicación de desarrollador, guarde en el portal y pulse Conectar de nuevo.

  1. Inicie sesión con su cuenta de Home Connect y conceda los permisos solicitados.
  2. De vuelta en Gladys, abra la pestaña Descubrir: sus electrodomésticos aparecen en la lista, listos para añadirse.

3. Lo que obtiene por electrodoméstico​

Las funciones se construyen a partir de lo que cada electrodoméstico informa realmente, así que no hay dos electrodomésticos con la misma lista. Lo habitual:

FunciónTipoElectrodomésticos
Encendidosí/nola mayoría
Programa en cursosí/nolos que ejecutan programas
Programa activo / Programa seleccionadotextolos que ejecutan programas
Estado de funcionamiento (Run, Ready, Finished…)textotodos
Tiempo restante, tiempo transcurrido, progresosensorlos que ejecutan programas
Puertaaperturala mayoría
Inicio remoto permitido, control remoto, uso en el aparatosensorla mayoría
Consigna del frigorífico / congeladortermostatofrigoríficos, congeladores
Superrefrigeración, modo eco, modo vacacionessí/norefrigeración
Temperatura del hornotemperaturahornos
Iluminación, iluminación ambiental, brilloluzcampanas, hornos, frigoríficos
Bloqueo infantilbloqueolos que lo admiten
Contadores de bebidascontadorcafeteras
Alertas (poca sal, depósito de agua vacío, filtro…)binariosegún la familia de electrodoméstico
Conectadobinariotodos

Puerta sigue la convención de Gladys para los sensores de apertura: la función indica Cerrada cuando la puerta está cerrada y Abierta cuando no lo está; una puerta bloqueada cuenta como cerrada. Las alertas indican Apagado hasta que Home Connect las activa realmente, de modo que un lavavajillas que nunca se quedó sin sal muestra una alerta desactivada en lugar de un valor vacío.

Iniciar un programa​

Programa en curso inicia el programa seleccionado en ese momento en el electrodoméstico (o en la aplicación Home Connect): no elige uno por usted. Refleja lo que permiten los electrodomésticos: un inicio remoto es un disparador, no un selector de programas.

Para que funcione, el electrodoméstico debe tener el inicio remoto activado: en la mayoría de los modelos se mantiene pulsado el botón Inicio remoto hasta que la pantalla lo confirma. Sin él, Home Connect rechaza la orden y Gladys muestra el mensaje de rechazo.

Desactivar Programa en curso interrumpe el programa en curso.

4. Panel, escenas y activadores​

Desde Gladys 5.1, una integración puede añadir sus propias tarjetas al panel y ampliar el editor de escenas. Home Connect usa las tres posibilidades.

Las tarjetas del panel​

Panel → Editar → Nuevo widget, categoría integraciones:

  • Home Connect: todos los electrodomésticos en una tarjeta, una fila por cada uno, con lo que está haciendo («En marcha · Auto2 · 30 min»). Lo que está funcionando aparece primero. Deje vacío el ajuste Electrodomésticos para mostrarlos todos, o marque los que le interesen.
  • Electrodoméstico: un único electrodoméstico: estado, programa, puerta, tiempo restante, progreso y los botones Iniciar / Pausar / Detener. Los botones siguen al electrodoméstico: uno inactivo ofrece Iniciar, uno en marcha Pausar y Detener. Pausar solo aparece si el electrodoméstico acepta esa orden: la mayoría de los lavavajillas no la aceptan. Desmarque Mostrar los botones iniciar / detener para una tarjeta de solo lectura.

El tiempo restante y el progreso están vinculados a las funciones del propio electrodoméstico: se actualizan en tiempo real, sin recargar.

Los activadores de escena​

En una escena, Añadir activador → Integraciones:

ActivadorSe dispara cuando
Se ha iniciado un programaun electrodoméstico inicia un ciclo (o programa un inicio diferido)
Ha terminado un programaun ciclo termina con normalidad
Se ha interrumpido un programaun ciclo se detiene antes del final
Un electrodoméstico ha avisadopoca sal, depósito de agua vacío, filtro saturado, alarma de puerta…

Deje vacío el campo Electrodoméstico para reaccionar a cualquiera de ellos. En las acciones de la escena, el activador expone {{triggerEvent.data.appliance_name}}, {{triggerEvent.data.program}} y, para las notificaciones, {{triggerEvent.data.notification_name}}: suficiente para escribir «El lavavajillas ha terminado el programa Auto2» en una notificación.

Una alerta que se desactiva no dispara nada: solo el momento en que se activa es un evento.

Las acciones de escena​

En una escena, Nueva acción → Integraciones:

AcciónEfecto
Iniciar el programa seleccionadoejecuta el programa ya elegido en el electrodoméstico
Detener el programa en cursointerrumpe el ciclo
Pausar el programaelectrodomésticos que aceptan la orden de pausa
Reanudar el programareanuda un ciclo en pausa
Leer el estado del electrodomésticono controla nada: devuelve el estado, el programa y el tiempo restante

Leer el estado del electrodoméstico está pensada para las acciones que la siguen en la escena: devuelve state, program, running, remaining_seconds, remaining_label, progress, door, connected y summary (una frase lista para enviar). Lee lo que la integración ya tiene en memoria: ninguna petición a Home Connect, por lo tanto ninguna cuota gastada.

Se aplican los mismos límites que a la función Programa en curso: el inicio ejecuta el programa seleccionado en el electrodoméstico, y el inicio remoto debe estar activado en él.

5. Cómo se mantiene al día​

La integración mantiene abierto un flujo de eventos permanente con Home Connect, de modo que una puerta que se abre o un programa que termina llega a Gladys en aproximadamente un segundo, incluidos los cambios hechos en el propio electrodoméstico.

El sondeo (cada 15 minutos por defecto, entre 15 y 60 minutos) funciona detrás como red de seguridad, porque Home Connect cierra el flujo aproximadamente una vez al día.

Presupuesto de peticiones​

Home Connect permite 1.000 peticiones al día (y 50 por minuto) por aplicación de desarrollador y cuenta. La integración las gasta así, por electrodoméstico:

CuándoPeticiones
Cada sondeo, flujo de eventos en buen estado1 (solo estados)
Cada sondeo, flujo de eventos caído o en silencio durante 3 minutos5 (lectura completa)
Cada sondeo, los estados han cambiado sin evento1 + 5 (comprobación y lectura completa)
Cada reconexión del flujo de eventos (aprox. 1 al día)4, más 1 para la lista de electrodomésticos
Una orden (interruptor, consigna, programa)1 o 2

Con los 15 minutos por defecto y un flujo en buen estado, son unas 100 peticiones al día por electrodoméstico. Si el flujo sigue caído, el sondeo por sí solo cuesta 480 al día por electrodoméstico a 15 minutos: aumente el intervalo si tiene más de uno o dos electrodomésticos y el flujo falla una y otra vez.

Un valor que no cambia se vuelve a enviar a Gladys al menos una vez por hora. Gladys considera un estado obsoleto tras un plazo configurable (48 horas por defecto, en Configuración → Sistema) y entonces muestra «Sin valor reciente» en el panel; un electrodoméstico que permanece días en el mismo estado (conectado, depósito de sal lleno, ningún programa en curso) tiene que seguir diciendo que nada ha cambiado. Esas repeticiones no cuestan ninguna petición a Home Connect.

6. Probar sin electrodoméstico​

Active Usar el simulador de Home Connect en la configuración. La integración habla entonces con simulator.home-connect.com, que ofrece la misma API con los electrodomésticos virtuales de su cuenta de desarrollador. Recuerde desactivarlo después.

7. Solución de problemas​

«Introduzca su Client ID y su Client Secret de Home Connect»: faltan las credenciales o están vacías.

«Pulse «Conectar» para vincular su cuenta de Home Connect»: las credenciales están, pero el flujo OAuth nunca se completó.

La página de Home Connect muestra un error o nunca vuelve a Gladys: la última línea de los logs es «Building the Home Connect authorization URL» y no sigue nada. Home Connect detuvo el inicio de sesión en su propia página, antes de volver a Gladys. Compruebe, en este orden:

  • la URI de redirección registrada en el portal de desarrolladores es exactamente la de esa línea de log (mismo http/https, misma dirección, mismo puerto, sin espacio ni / de más);
  • inicia sesión en Home Connect con la cuenta indicada en Home Connect User Account for Testing: una aplicación no publicada rechaza cualquier otra cuenta;
  • el Client ID pegado en Gladys es el de esta aplicación;
  • una aplicación recién creada o modificada en el portal puede tardar unos minutos en activarse: espere y pulse Conectar de nuevo.

«La integración rechazó la conexión. Vuelva a intentarlo.» en la ventana de retorno de la autorización: ha fallado el intercambio del código de autorización. Abra los registros de la integración: el mensaje que aparece allí contiene el motivo exacto que dio Home Connect (falta el Client Secret, URI de redirección no registrada en el portal para desarrolladores, código ya usado…). Si la integración o la máquina se reiniciaron mientras iniciaba sesión en Home Connect, simplemente pulse Conectar de nuevo: una autorización sigue siendo válida durante quince minutos.

Tras un Conectar correcto, la ventana se cierra enseguida y el estado de la conexión indica «Cuenta conectada, leyendo sus electrodomésticos…»: la cuenta se lee en segundo plano, lo que lleva unos segundos por electrodoméstico.

«Autorización de Home Connect caducada, pulse de nuevo «Conectar»»: el token de actualización ha sido rechazado. Caduca tras unos dos meses sin uso, y también se revoca cuando elimina Gladys de las aplicaciones autorizadas de su cuenta de Home Connect. Pulse Conectar de nuevo.

«No se ha podido leer Home Connect, nuevo intento automático»: no se ha podido leer la cuenta, normalmente porque la red aún no estaba disponible cuando arrancó la integración. Los eventos en tiempo real ya funcionan; la integración vuelve a leer la cuenta al cabo de 1 minuto, de 5 y después cada 15 minutos, y el mensaje desaparece por sí solo.

«Cuota de Home Connect alcanzada»: demasiadas peticiones. La integración se modera por sí sola; aumente el intervalo de actualización si sigue ocurriendo.

Una tarjeta del panel indica «Leyendo sus electrodomésticos Home Connect…»: la integración aún no ha leído la cuenta (reinicio reciente, cuota alcanzada o Home Connect inaccesible al arrancar). La tarjeta lanza la lectura por sí misma y se rellena en unos segundos; si el mensaje persiste, compruebe el estado de la conexión en la configuración de la integración.

Una tarjeta indica «This appliance no longer exists in Gladys»: el electrodoméstico elegido en los ajustes de la tarjeta se ha eliminado de Gladys o de la cuenta de Home Connect. Vuelva a abrir los ajustes de la tarjeta y elija otro.

Un electrodoméstico muestra una insignia naranja «Inaccesible»: el propio Home Connect no puede alcanzarlo. Compruebe en la aplicación Home Connect que está encendido y conectado a su wifi.

Se rechaza una orden: Gladys muestra el motivo que dio Home Connect. Los más frecuentes son inicio remoto no activado, puerta abierta y electrodoméstico apagado.

La integración registra todo lo que hace. Defina LOG_LEVEL=debug y lea los registros de la integración desde la interfaz de Gladys para ver todos los detalles.

Parámetros de configuración​

Estos son los parámetros que Home Connect te pide en su pantalla de configuración en Gladys.

ParámetroTipoObligatorioDescripción
Antes de empezarsectionNoHome Connect no tiene API local: todo pasa por la nube de BSH. Cree una cuenta de desarrollador gratuita, registre una aplicación de tipo «Home Connect Application» con el flujo Authorization Code Grant y pegue a continuación su Client ID y su Client Secret. La URI de redirección que debe declarar la muestra la acción «Probar la conexión» una vez iniciada la conexión.
Client IDstringSíClient ID de su aplicación Home Connect.
Client SecretsecretNoClient Secret de su aplicación Home Connect. Déjelo vacío solo si registró un cliente público sin secreto.
Cuenta de Home Connectoauth2SíInicie sesión con la cuenta de Home Connect a la que están vinculados sus electrodomésticos y autorice a Gladys.
IdiomaselectNoIdioma de los nombres de las funciones de los dispositivos y de los nombres de programa que devuelve Home Connect.
Intervalo de actualización (s)numberNoRed de seguridad tras el flujo de eventos en tiempo real. Home Connect impone una cuota diaria de peticiones: mantenga un valor alto salvo que tenga un motivo concreto.
Scopes OAuthstringNoScopes de Home Connect solicitados durante la autorización, separados por espacios. Redúzcalos si su aplicación de desarrollador se registró con menos permisos.
Usar el simulador de Home ConnectbooleanNoUsar simulator.home-connect.com en lugar de la API de producción, para probar sin electrodomésticos reales.

Cómo instalar Home Connect en Gladys​

  1. En Gladys, abre Integraciones: Home Connect aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
  2. Haz clic en Instalar. Gladys descarga la imagen Docker (ghcr.io/prohand/gladys-homeconnect:2.4.3), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración).
  3. Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
  4. También puedes instalarla directamente desde la URL de su repositorio: https://github.com/prohand/gladys-homeconnect.

Home Connect 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​

Home Connect 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 prohand, no el equipo principal de Gladys.

Suscríbete a la newsletter de Gladys Assistant

Unos pocos correos al mes sobre nuevas versiones y novedades del proyecto. Enviados por Pierre-Gilles Leymarie, fundador del proyecto. Puedes darte de baja cuando quieras 🙂