El 1 de julio de 2026 a las 15:52 ART, Home Assistant mandó una alerta: el sensor de monóxido de carbono disparó a 62 ppm. Dos segundos después volvió a cero. En el historial: solo dos lecturas. Ni una subida gradual, ni una curva. Solo un punto en 62 ppm y otro de vuelta en 0.
Lo primero que pensé fue que el sensor estaba fallando. Lo segundo fue revisar qué había en la habitación. La salamandra del estar —una Tromen que funciona realmente bien— no había quedado bien cerrada. Había CO real en el ambiente. El sensor había funcionado perfectamente. Pero ¿por qué solo dos puntos?
Cómo reporta eventos un sensor Tuya WiFi
El AT-909COM no manda lecturas continuas a la nube de Tuya. Mide de forma constante internamente, pero solo transmite cuando cruza un umbral: al detectar CO sobre el nivel de alarma, manda un evento. Cuando el nivel baja, manda otro. Home Assistant ve exactamente esos dos puntos porque son los únicos datos que llegan.
Esto no es un bug. Es el modelo de eventos que usa Tuya para sensores WiFi: minimiza el tráfico y el consumo de red. Tiene todo el sentido para detección de alarma. El problema es que hace que el historial sea prácticamente inútil para análisis de tendencia — no podés saber si el CO subió despacio o de golpe, ni cuánto tiempo estuvo por encima del umbral.
Contrasta con un sensor Zigbee bien implementado, que típicamente manda una lectura cada 30-60 segundos y te da una curva real. La diferencia es de arquitectura, no de hardware.
El bug de la batería que siempre dice 0%
Desde el primer día, el sensor reporta batería al 0% en Home Assistant aunque físicamente esté a plena carga. Lo comprobé con un tester: la batería está bien.
No soy el único. Es un bug conocido y documentado:
- Issue #109923: batería siempre 0% en la integración oficial Tuya
- Issue #117926: entidades grises y atributos no disponibles en sensores Tuya WiFi
La raíz del problema está en el DPS (Data Point System) de Tuya: el firmware del AT-909COM reporta que existe un valor de batería pero no envía el número real. La integración de HA interpreta eso como 0%. No hay vuelta: depende de que Tuya o el fabricante corrijan el firmware, y lleva más de un año sin resolverse.
Como consecuencia, además de la batería en 0%, varias entidades aparecen grises en HA (humedad, temperatura, tamper) porque el sensor simplemente no las publica vía nube, aunque el hardware las tenga. El dashboard queda feo pero no afecta la función principal.
¿Vale la pena intentar integración local?
La respuesta corta es no, para este dispositivo específico.
La integración local con tuya-local funciona comunicándose directamente con el dispositivo en la red local sin pasar por la nube. El problema con sensores a batería es que duermen para ahorrar energía. Cuando un dispositivo duerme, deja de hacer broadcast en UDP (puertos 6666/6667) y no responde a paquetes. Al escanear la red con tinytuya, el AT-909COM directamente no aparece.
Incluso si lo encontrara en un instante de conexión, el protocolo local de Tuya requiere que el dispositivo esté despierto para responder. Un sensor de CO a batería que duerme el 95% del tiempo no es compatible con integración local confiable.
Conclusión (del 1 de julio)
Dejé el sensor con la integración cloud. La función para la que fue comprado —detectar CO y disparar una alerta— funciona perfectamente. El historial queda con dos puntos, la batería siempre dice 0%, y algunas entidades están grises. Son las limitaciones de la plataforma Tuya WiFi con las que hay que convivir.
El sensor detectó el CO real de la salamandra mal cerrada. Para eso fue comprado. Eso funcionó. El resto es cosmético.
Actualización — 2 de julio de 2026
Hoy volvió a dispararse, y esta vez llegamos más alto: 120 ppm.
Contexto: afuera hay nieve y la temperatura no sube de -2°C. La salamandra lleva encendida 24 horas seguidas. Cuando una salamandra trabaja de forma continua acumula brasas y ceniza que eventualmente impiden que entre aire nuevo para la combustión. Para hacer lugar a más leña había que vaciarla —a mano, con un recipiente que no viene con el equipo— y en ese proceso, con la puerta abierta, el CO se disparó en cuestión de minutos.
Tuvimos que ventilar la habitación para que el sensor volviera a valores normales.
La Tromen funciona realmente bien: para una casa de campo grande y bastante antigua, sin ella el invierno sería inviable. La tenemos hace un par de años y no hemos tenido ningún problema de funcionamiento. Pero tiene un detalle de diseño que la mayoría de las salamandras comparten: no viene con ningún mecanismo para gestionar los residuos de la combustión. Eso requiere intervención manual, y esa intervención —abrir la puerta para retirar brasas— es exactamente el momento de mayor riesgo de CO.
Lo que estos dos eventos confirmaron es algo que quiero dejar escrito con claridad: si usás calefacción a leña, un detector de CO no es un accesorio, es una condición imprescindible. No todos los hogares tienen un sistema domótico que avise tanto en local como por Telegram a distancia, y el CO no avisa por sí solo — es inodoro, incoloro e indetectable sin un sensor.
La automatización actual funciona: Home Assistant disparó la alerta en tiempo real en ambos eventos. Pero hay margen para mejorarla — alertas por umbrales intermedios, notificaciones con instrucciones específicas (qué hacer, no solo que hay CO), y quizás algún mecanismo de ventilación automática. Eso viene en la próxima entrada.