Durante el Black Friday os recomendé los aspiradores inteligentes de Roborock, en especial los modelos compatibles con Matter, ya esta compatibilidad les permite integrarse POR FIN con HomeKit y que nos aparezcan en la app Casa. Esta integración es bastante sencillota, no esperes que te deje configurar mil cosas como las voces del aspirador, comportamientos avanzados y cosas así como la app original de Roborock, pero por lo menos ya podemos lanzar las automatizaciones desde la app Casa y notificar por ejemplo cuándo termina el aspirado o si se encuentra con algún problema.
Pero hoy quería contaros un problema que hemos detectado estos días ya que alguno de vosotros me ha escrito para decirme que se ha comprado un Roborock no-matter, un modelo más sencillo que el que os comenté durante el Black Friday y que lo ha integrado con Home Assistant y de ahí se lo lleva a la app Casa, lo cual está genial… pero cada vez que el robot acaba de aspirar, se carga y entra en ahorro de energía, se desconecta de Home Assistant y ya no vuelve a conectarse nunca más hasta que reinicias Home Assistant o recargas la extensión a pesar de que en la app oficial de Roborock sigue apareciendo el aspirador como si nada. Vamos a ver de qué va esto y cómo solucionarlo.
El problema: aspirador offline en Home Assistant pero perfecto en la app
El comportamiento era muy claro y pasaba todos los días después de la limpieza programada: En Home Assistant la entidad del aspirador pasaba a Unavailable y no había forma de controlarlo desde ahí. Además, no es que cuando saliera el aspirador de nuevo se volviera a conectar, era una especie de sueño eterno y solo se volvía a conectar si reiniciábamos Home Assistant o la integración de Roborock. Sin embargo, en la app oficial de Roborock se podía ver el Roborock Q8 Max perfectamente, lanzar limpiezas, consultar el mapa, etc.
A ver, si en la app oficial se ve el robot y se maneja bien, lo que tenemos claro es que no es un problema de cobertura Wi-Fi del cacharro ni de la red de 2.4 Ghz que ya sabéis que es lo que necesitan este tipo de dispositivos… ni siquiera del propio aspirador, que podría ser que entrara en modo de ahorro de energía y dejara de comunicarse, por lo que todo indica que se trataba de un problema de Home Assistant (otro más).
Al mirar los logs de Home Assistant, podíamos ver este error:
Como podemos ver, da un error de MQTT bastante feo: “Failed to connect (Client identifier not valid)” que además se ha repetido cientos de veces. Traducido a lenguaje humano significa que la integración de Home Assistant intenta conectarse a la nube de Roborock mediante MQTT y el servidor le responde que el identificador de cliente no es válido. Es decir, no es que el robot esté en ahorro de energía, es que los servidores de Roborock rechazan la conexión.
Investigando un poco por Reddit, parece que es un bug conocido en la versión 2025.11 de Home Assistant, pero por lo menos sabemos que no es algo que tengamos mal en nuestra instalación de Home Assistant ni en el aspirador, sino que UNA VEZ MÁS, es una cagada de Home Assistant.
Si es que luego decís que si HomeKit es una mierda, que si está muy parado y no evoluciona, que si integra dispositivos con cuenta gotas… que sí, que todo lo que quieras, pero es que estas cosas no pasan con HomeKit. Me fastidia mucho cuando algo está funcionando bien y, de repente, deja de hacerlo porque alguien ha decidido cambiar nosequé en una integración… y esto con Home Assistant nos pasa cada 2×3, ya lo hemos comentado un montón de veces. Pero bueno, vamos a ver qué podemos hacer para tener el aspirador en Home Assistant y de ahí a HomeKit y a la app Casa y no tener que ir a la app oficial cada vez, que me he inventado un workaround. Por cierto, el fallo no es solo para el S8 Max, eh? Pasa con otros modelos como el Q Revo, el S8 normal y unos cuántos más.
Primeras pruebas para la solución
Lo primero que probamos es a generar un nuevo identificador de cliente, por lo que eliminamos por completo la integración de Roborock en Home Assistant, reinicio de Home Assistant e instalación de nuevo con el login de la cuenta de Roborock y demás. Todo perfecto, el robot se vuelve a conectar y aparece genial… pero al cabo de unas horas vuelve a pasar lo mismo con el mismo mensaje de “Client identifier not valid” en los logs.
La buena noticia es que si recargamos la integración de Roborock, el cacharro vuelve a aparecer como conectado y no hace falta rehacer todo el proceso de login y demás, por lo que vamos a jugar con eso.
Solución temporal mientras lo arreglan
Lo que he hecho es crear una automatización que recargue automáticamente esta integración si el aspirador se queda en ‘Unavailable’. Ya sé que no es una solución muy elegante pero no nos queda otra hasta que Home Assistant o la integración de Roborock se actualicen y lo solucionen de forma definitiva, qué se le va a hacer.
Con nuestra ñapa, en lugar de ir tú a mano a Configuración → Dispositivos y servicios → Integraciones y “Recargar” la de Roborock, es la propia automatización la que se reinicia cada vez que detecta que el robot ha pasado a estado Unavailable.
La automatización en sí es muy sencilla, simplemente tienes que decirle que el disparador es cuando la entidad del robot pasa a estado unavailable durante 2 minutos, así evitamos que un microcorte nos la líe, y en ese momento que se ejecute la acción que es llamar al servicio de Recarga entrada de configuración y relance la de Roborock. En 1 minuto la tienes lista:
Guardas la automatización y listo. A partir de ahí, cuando el Q8 Max lleve esos 2 minutos “perdido”, Home Assistant recargará la integración y, si el problema es el de la sesión MQTT, el robot volverá a aparecer como disponible sin que tengas que hacer nada.
Si eres muy pro y prefieres verlo en formato YAML, la estructura sería algo como esto:
alias: Recargar Integración Roborock si Unavailable
trigger:
– platform: state
entity_id: vacuum.roborock_q8_max
to: «unavailable»
for: «00:02:00»
action:
– service: homeassistant.reload_config_entry
target:
config_entry:
– nombre_o_id_de_la_entrada_de_roborock
mode: single
Y ahora… a esperar
Y poco más podemos hacer, simplemente esperar al fix oficial. Con esta automatización conseguimos que el aspirador vuelva a estar disponible de forma más o menos transparente. Si eres un maniático de los logs como yo o como mi amigo Jacobo Vidal del podcast Desde el Reloj, entiendo que te moleste el salto en el estado de Home Assistant y las líneas feas en el log con los warnings, pero al final seguiremos teniendo el robot disponible como si no hubiera pasado nada y podremos seguir lanzando las automatizaciones desde la app Casa o desde Home Assistant sin tener que utilizar la app oficial, que ya sabéis que me da repelús porque un día no sale el aspirador y no sabes por dónde te está viniendo el fallo, así que os recomiendo tener siempre las automatizaciones centralizadas en un único lugar… me da igual que sea la app Casa de HomeKit o Home Assistant si es que te gusta el riesgo, pero en cualquier caso es mejor que tener las automatizaciones dispersas cada una en su app nativa. Bueno, no me da igual, me gustaría que todos las tuvierais en la app Casa de HomeKit o en Controller for HomeKit… pero reconozco que hay una cosa que mola mucho en Home Assistant y es que al lado de la automatización te dice la última vez que se lanzó, lo cual mola mucho.
En las notas de la versión 2025.11 de Home Assistant ya se habla de errores de cliente MQTT, por lo que es razonable pensar que la solución definitiva llegará en una versión menor de 2025.11 (en este momento vamos por la 2025.11.3 y sigue fallando) o en la 2025.12 y me joderán esta entrada que dejará de ser green para perder su valor. Home Assistant solo me da alegrías, macho.





