Cada dispositivo tiene un estado de conexión que las listas, los paneles, las reglas y las alarmas leen: ¿está en línea?, ¿cuándo se supo de él por última vez?, ¿ha dejado de dar señales? Hermetry lo deriva de lo que hace el dispositivo (conecta, desconecta, envía mensajes) según la regla de online del perfil del dispositivo. Esta página explica las reglas, las marcas de tiempo, la pestaña Log del dispositivo y los webhooks.
La regla de online
La regla se define en la pestaña Online status del perfil y nunca se deriva del transporte. Consulte Perfiles de dispositivo.
| Regla | En línea | Fuera de línea | Uso recomendado |
|---|---|---|---|
| Conexión en vivo | Cuando el dispositivo se conecta por MQTT. | Cuando termina su sesión MQTT (desconexión, tiempo de keepalive agotado, toma de control sin una nueva sesión, rechazo). | Dispositivos que mantienen MQTT abierto. |
| Mensaje reciente | Cuando el dispositivo se conecta o envía cualquier cosa. | Cuando no llega nada durante Intervalo esperado × Factor (por ejemplo 3,600 s × 3 = 3 horas). Una desconexión por sí sola no lo deja fuera de línea mientras su último mensaje siga siendo reciente. | Dispositivos que informan y se desconectan, dispositivos HTTP, sensores LoRaWAN. |
| Solo última actividad | Nunca se muestra como en línea ni fuera de línea. | — | Dispositivos sondeados, dispositivos cuyo ritmo se desconoce. |
Detalles:
- Una petición HTTP es actividad, no una conexión. En un perfil de Conexión en vivo, un dispositivo HTTP nunca está en línea.
- Los eventos que llegan desordenados nunca hacen retroceder el estado: una conexión antigua nunca pone en línea a un dispositivo después de una desconexión más reciente.
- Una comprobación minuto a minuto marca como fuera de línea los dispositivos cuya ventana ha terminado o cuya concesión de sesión ha expirado, y aplica una regla de online modificada.
- Los dispositivos hijos de una pasarela siguen sus mensajes
v1/gw/connectyv1/gw/disconnect, y pasan a fuera de línea cuando lo hace la pasarela.
Qué muestran las listas
| Mostrado | Significado |
|---|---|
| En línea | Según la regla del perfil, el dispositivo está en línea ahora. |
| Fuera de línea | Estuvo en línea y ahora no. La vista rápida añade Última desconexión: motivo. |
| Última vez visto hora | El perfil usa Solo última actividad. |
| Nunca conectado | Todavía no se ha recibido nada del dispositivo. |
| Obsoleto: sin datos durante tiempo | En una tarjeta de tabla de dispositivos con Obsoleto tras (segundos) configurado: en línea, pero sin datos durante más de ese tiempo. |
El resumen del dispositivo (Overview) muestra Última actividad, Última conexión y Última desconexión. Dirección IP es la dirección de la conexión más reciente; para un dispositivo que nunca se conecta (HTTP, sondeado) es la dirección de su actividad más reciente.
Inactividad: en línea pero silencioso
Un dispositivo puede mantener su conexión y no enviar nada. El Inactivity timeout (seconds) del perfil (600 por defecto, de 10 a 604,800) marca un dispositivo como inactivo cuando no ha enviado nada durante ese tiempo. Inactivo no es lo mismo que fuera de línea.
Úselo en el disparador de la tarjeta Rules A device connects or disconnects > goes quiet. Las alarmas para un dispositivo que deja de informar se configuran con una Device offline rule en las reglas de alarma del perfil, que tiene su propio tiempo (Open after (seconds offline)). Consulte Alarmas de fuera de línea.
La pestaña Log
La pestaña Log del dispositivo muestra su historial de conexiones y los cambios realizados en él en una sola línea de tiempo, de más reciente a más antiguo. Show filtra por All, Connections o Changes; Load more retrocede más en el tiempo.
Eventos de conexión
| Evento | Detalle |
|---|---|
| Conectado | a través del transporte (por ejemplo mqtts), desde la dirección del cliente |
| Desconectado | Motivo: motivo |
| Tomado por una nueva sesión | Una segunda conexión del mismo dispositivo tomó el control. |
| Cambiado a solo última actividad | La regla del perfil cambió a Solo última actividad. |
Motivos de desconexión: client_disconnect, keepalive_timeout, takeover, auth_revoked, rate_limit, server_shutdown, uplink_window_expired (ha terminado la ventana de Mensaje reciente) y online_rule_changed. Un inicio de sesión rechazado (CONNACK 5) también se registra con su motivo, que nunca se envía al dispositivo.
Cambios son los cambios auditados: Dispositivo creado, Dispositivo editado (con los campos modificados), Dispositivo activado, Dispositivo en cuarentena, Dispositivo deshabilitado, Credencial reemplazada, Credencial rotada, Credencial revocada, Atributos guardados, Atributos eliminados, comandos enviados, cancelados, rechazados y finalizados, y alarmas reconocidas y borradas, cada uno por una persona o por el sistema.
El historial de conexiones se conserva durante 30 días. Los dispositivos en Solo última actividad no escriben filas de conexión ni de desconexión.
Webhooks
Dos eventos de webhook informan a otros sistemas de los cambios de conexión:
| Evento | Se envía cuando |
|---|---|
device.connected | El dispositivo se puso en línea y se mantuvo en línea durante el tiempo de retención. |
device.disconnected | El dispositivo pasó a fuera de línea y se mantuvo así durante el tiempo de retención. |
{ "deviceId": "…", "name": "router-17", "profileId": "…", "transport": "mqtts", "connectedAt": "2026-11-03T10:00:00.000Z", "remoteIpPrefix": "203.0.113.0/24" }
{ "deviceId": "…", "name": "router-17", "profileId": "…", "reason": "timeout", "disconnectedAt": "2026-11-03T12:00:00.000Z", "lastSeenAt": "2026-11-03T11:59:40.000Z", "onlineSeconds": 7200 }
Dos ajustes en Devices > ⋯ > Settings (grupo Webhooks) los controlan:
| Ajuste | Por defecto | Rango |
|---|---|---|
| Connection webhooks: hold time (seconds) | 30 | De 5 a 3,600. Un dispositivo intermitente no envía nada. |
| Device webhooks per workspace and minute | 600 | De 1 a 100,000. El resto del minuto se descarta y sus administradores son informados una vez. Los webhooks del ciclo de vida del dispositivo tienen su propio contador con el mismo límite. |
La dirección en device.connected es solo un prefijo de red. Cada evento lleva una clave de idempotencia, para que su receptor pueda ignorar repeticiones. Consulte Webhooks.
Contar dispositivos
Los paneles pueden mostrar Devices, Devices online, Devices offline y Devices never connected como contadores, y la tarjeta de tabla de dispositivos muestra el estado de conexión en vivo de cada fila. Consulte Tablas y listas.
API
| Llamada | Devuelve |
|---|---|
GET /tenant/{tenantId}/api/iot/devices/{deviceId}/connections?page=1&pageSize=50 | El registro de conexiones, de más reciente a más antiguo (hasta 100 por página). |
GET …/devices/{deviceId}/log?source=connection | The log of the Log tab; source is connection or audit, at most 1,000 entries deep. |
GET …/devices/{deviceId}/connection | Solución de problemas |
Síntoma
| Causa | Un dispositivo HTTP nunca está en línea |
|---|---|
| An HTTP device is never online | Its profile uses Live connection. Use Recent message. |
| A device flips between online and offline | Two devices share one credential (look for Taken over by a new session), or the keepalive is too short for the network. |
| Offline long after it stopped | Expected interval × Factor is long. Shorten it, or add an offline alarm with its own time. |
| Online but no values | The device sends nothing, or its data is dropped (quarantined device, rate limit, bad payload). See Data does not arrive. |

