El hub, dentro de Home Assistant
La lista de la compra, las tareas, el calendario, los gastos y el menú del hub ya se pueden usar desde Home Assistant y con la voz. Cómo funciona la integración y cómo se conecta sin claves que copiar.
Un amigo que usa Home Assistant nos preguntó si el hub podía funcionar con él. Ahora sí: hay una integración que se instala con HACS y lleva a Home Assistant la lista de la compra, las tareas, los recordatorios, los gastos y el menú del día. Este artículo cuenta qué hace y cómo está hecha. El paso a paso para instalarla está en la guía.
Qué se puede hacer
Cada persona conecta su cuenta del hub y ve lo mismo que en la app, lo personal y lo de sus grupos:
- La lista de la compra y las tareas, como listas de tareas de Home Assistant. Se pueden tachar desde el panel, añadir cosas con la voz o usarlas en automatizaciones.
- Los recordatorios del calendario, como calendarios.
- Sensores con lo gastado en el mes, el saldo en cada grupo y lo que toca comer y cenar hoy.
Algunos detalles se portan igual que en la app. «Eliminar completados» no borra los productos fijos (la leche de siempre): los desmarca para la próxima compra, como «Vaciar comprados». Y si alguien te mete en un grupo nuevo, sus listas aparecen solas en Home Assistant.
Iniciar sesión sin copiar claves
Muchas integraciones piden crear una «aplicación» en la web del servicio y copiar un identificador y un secreto. Aquí no. La integración usa el mismo inicio de sesión que la app, con OAuth2 y PKCE. Home Assistant abre la página de entrada del hub, entras con tu contraseña de siempre y vuelves con un permiso que solo sirve para tu cuenta.
Ese permiso es de los que no caducan con la sesión del navegador. Home Assistant lo renueva cada pocos minutos y solo caducaría tras 30 días sin usarse. En la práctica, no hay que volver a entrar nunca. Si cierras la sesión o eliminas la cuenta, el permiso deja de valer.
Por parte del hub, el cambio es pequeño. Hasta ahora, la puerta de entrada solo reconocía la cookie de sesión del navegador. Ahora también acepta un token firmado por nuestro servidor de inicio de sesión, siempre que vaya dirigido al hub. Las apps y sus datos no han cambiado: reciben a Home Assistant exactamente igual que a tu navegador.
Pensada para la voz
Home Assistant tiene un asistente de voz, Assist, que entiende frases como «añade leche a la lista compra». Para que funcione, los nombres importan: Assist busca la lista por su nombre completo, y Home Assistant pone delante el del dispositivo. Por eso cada app es un dispositivo con nombre corto. La lista personal se llama solo Compra; la de un grupo, Compra Casa; las tareas, Tareas.
Hay una frase que no podemos usar: «a la lista de la compra». Home Assistant trae su propia lista de la compra y esa frase la tiene reservada. Quien no la use puede quitarla y entonces la frase llega a la del hub.
Dónde está y qué guarda
El código es público en GitHub. La integración solo habla con compra.raspimc.org y con su servidor de inicio de sesión. Sondea cada minuto, unas pocas peticiones por grupo, y no envía nada a terceros. El permiso se guarda en tu Home Assistant como el de cualquier otra integración.
Para probarla montamos un Home Assistant en el mismo servidor de casa, solo accesible desde la red de casa y la VPN. Allí pasamos el recorrido completo varias veces, desde el primer inicio de sesión hasta las frases de voz, primero contra el entorno de pruebas y después contra el hub real.