¡Hola @prohand, hola @spenceur!
Gracias por este tema, la necesidad es muy real: una integración que falla silenciosamente (típicamente un token que expira), es la peor falla posible en domótica. Nada se rompe visiblemente, y te das cuenta 3 semanas después 
Buena noticia: para las integraciones externas, gran parte de la supervisión ya existe en el servidor. Cada integración envía un heartbeat a Gladys, una verificación de salud se ejecuta permanentemente, y la integración pasa al estado degradado cuando pierde su conexión al servicio externo o deja de dar señales de vida, con reinicio automático y backoff detrás.
El estado « degradado » que propones @spenceur ya existe internamente
Lo que falta es la parte visible para el usuario: ser notificado.
Sobre la alerta « Conectado → Desconectado »: el ejemplo de la TV muestra bien la trampa. « Desconectado » puede significar dos cosas que no tienen nada que ver:
- un caso normal: dispositivo apagado, WebSocket cerrado, comportamiento esperado;
- un caso anormal: token expirado, acceso revocado, API en error.
La distinción ya existe en parte en el modelo (la integración funciona pero su conexión a la nube ha caído, por lo tanto degradado), solo hay que asegurarse de que cada integración envíe la señal correcta, en lugar de alertar tontamente sobre cualquier desconexión.
Sobre las exclusiones: prefiero evitar hacerlas el mecanismo principal. Obliga a cada uno a descubrir empíricamente qué integraciones son « ruidosas », después de haber recibido falsas alertas. Si se necesitan desde el principio, es que la señal enviada no es la correcta.
Concretamente, vería:
- Hacer el estado visible: el estado de cada integración + la fecha del último intercambio exitoso, directamente en la interfaz. Cero notificaciones, pero ya una gran parte del valor.
- Una configuración global en los parámetros de Gladys: « Notificarme cuando una integración esté en error ». Un simple interruptor, sin configuración por integración ni escena que crear. Y esto cubre naturalmente tu solicitud @prohand de « solo si ya ha estado conectado »: degradado significa por construcción « funcionaba, ya no funciona ».
- Anti-flapping integrado en la configuración: un retraso mínimo en degradado antes de alertar (para dejar que el reinicio automático haga su trabajo), sin duplicados, y una notificación de retorno a la normalidad. Sin esto, este tipo de funcionalidad termina desactivada por todos en una semana.
Sobre el renovación automática de los tokens: 100% de acuerdo en el fondo, pero esto debe tratarse integración por integración, y aunque haya un refresh perfecto, seguirán habiendo casos en los que el acceso caiga (revocación por parte del fabricante, cambio de API…). La supervisión debe existir de todos modos.
En resumen: las bases ya están ahí, el grueso del trabajo es exponer todo esto al usuario 