Hoy quiero contaros el momento de pánico que he tenido estos días con Home Assistant. Resulta que estaba tan tranquilo en Valencia durante este último fin de semana largo y vi que los dispositivos que me llegan a Casa desde Home Assistant estaban sin respuesta. Entré a Home Assistant y parecía estar todo bien, pero tenía una alerta de la última copia de seguridad, que ya sabéis que utilizo el add-on para Home Assistant de Google Drive Backup que es una auténtica maravilla… pero el caso es que en este add-on había un error porque la última copia había dado error… y no era un error de conexión con Google o de que me hubiera quedado sin espacio en Drive… era un error de I/O, un error de Entrada/Salida… y eso da mucho miedo, normalmente significa que hay un error en el disco o en la controladora o algo así… en cualquier caso, como soy idiota pensé que un reinicio completo podría solucionar el problema… y nada de eso, el Nuc dejó de responder y nunca más se reinició.
El problema de la Alta Disponibilidad
Como sabéis, siempre he dicho que lo que no me gusta de Home Assistant es su falta de una configuración en alta disponibilidad. Al final todo depende del sistema donde tengas instalado Home Assistant que puede ser un PC viejo, un NAS de esos que algunos tenéis en casa porque sois unos piratones… no conozco a nadir que tenga un NAS que lo utilice para hacer backup únicamente de sus fotos y videos, pero bueno… el caso es que Home Assistant también se puede instalar en una Raspberry PI o en un NUC… pero sí, solo en uno. No puedes tener una instalación de Home Assistant en un Nuc y en una PI o en el NAS y en otro dispositivo para que, en caso de fallo, reinicio o lo que sea, todo tu sistema siga funcionando. Hay por ahí algunas aproximaciones de gente que pone la base de datos de Home Assistant sobre una base de datos SQL y esta base de datos la almacena en algún sistema con NFS para que sea accesible por dos instalaciones… me parece genial, pero al final el pincho Zigbee o el SkyConnect lo vas a tener pinchado solo a uno de los dos. Que sí, que si uno falla simplemente tendrás que mover el pincho zigbee al otro y los dispositivos detectarán que la dirección física del pincho zigbee que es como una especie de MAC Address única es la misma, así que se conectarán sin saber qué host hay detrás, a dónde está pinchado ese pincho… pero eso incluye un trabajo manual.
En HomeKit sin embargo no es así, si tienes dispositivos conectados directamente con HomeKit por wifi o por Thread, aunque se desconecte un HomePod, si tienes algún otro no pasa nada. Si se te estropea el Apple TV pero tienes además algún HomePod en casa, el sistema ‘balanceará’ la central de dispositivos de uno a otro de forma transparente para el usuario. Está claro que si te casca el router estás fucked, pero incluso en ese caso puedes tener varios routers mesh como es mi caso con los Eero y también tomaría uno de ellos el control de todos los dispositivos wifi si el otro se estropea.
Obviamente si tienes un bridge no es así, si tienes un bridge de Hue y se estropea… pues las bombillas se quedan sin conexión. Además, si te compras otro y tienes 2, no puedes emparejar todas las bombillas con los dos para que, si uno se estropea, el otro lleve el control… cada uno tiene unas bombillas asociados y no las comparten entre sí.
Pues esto es básicamente lo que me ha pasado a mi. Cuando el NUC dejó de responder, todos los dispositivos que llegan a HomeKit que me aparecen en la app Casa pero que llegan allí desde Home Assistant, dejaron de responder. 35 ni más ni menos. Los dispositivos Matter no se enteraron y directamente se podían seguir gestionando desde la app Casa, igual que los HomeKit nativos, pero todos los zigbee se fueron al carajo.
No estaba muerto, estaba de parranda
El caso es que cuando volví a casa después de unos días de pánico en silencio desde Valencia (niños, lección aprendida, no reiniciéis Home Assistant si no estáis cerca para darle botonazo o vigilar que todo arranque como toca), conecté el NUC a un monitor y vi con disgusto que no arrancaba, directamente salía un mensaje de que no se había encontrado ninguna unidad bootable.

Lo primero que he pensado es que el disco había cascado, pese a que es un buen disco SSD. He mirado que estuviera bien conectado y después he arrancado el sistema con un USB bootable con Linux que tengo para… bueno… para mis cosas, y he visto que desde allí se veía perfectamente el disco, reconocía todas las particiones, los chequeos decían que estaba todo correcto… pero no arrancaba, parece que había pasado algo con la partición de arranque y el sistema reconocía las particiones pero no detectaba ninguna como de arranque. Así que me he descargado la imagen del sistema operativo de Home Assistant OS y lo he instalado desde cero. Después he arrancado con Home Assistant completamente virgen recién instalado, he descargado el add-on de Google Drive Backup y restaurado copia de seguridad… y al reiniciar ya tenía todo funcionando de nuevo sin problemas.
El proceso en sí me ha costado menos de 1 hora, una vez identificado el problema ha sido todo bastante rápido, pero la incertidumbre de no saber por qué ha pasado es algo que me molesta bastante. Quién me dice que mañana no va a volver a pasar… o la semana que viene… y que no puedes hacer nada. Sí, podría tener otro Nuc preparado para que simplemente haya que mover el dispositivo zigbee y restaurar backup como os contaba antes, pero no es una solución automáticamente ni mucho menos.
Así que esto me ha servido para reafirmarme en la idea de seguir abrazado a HomeKit, ir renovando los dispositivos poco a poco por dispositivos Matter y flashear los Shelly con HAA para poder ir eliminando dispositivos de Home Assistant o, por lo menos, que sea HomeKit quien los publique en Home Assistant por aquello de tenerlo en 2 plataformas distintas y poder hacer pruebas y no al revés. Es verdad que solo me ha costado 1 hora de reparar… pero los sudores fríos y el miedo que he tenido en las últimas horas cada vez que mi mujer se acercaba a un interruptor no se los deseo ni a mi peor enemigo.