Las reglas de alarma se definen en un perfil de dispositivo y se aplican a cada dispositivo de ese perfil. Una regla abre una alarma cuando se cumple su condición y la cierra cuando la condición deja de cumplirse. Las reglas se ejecutan en el paso de alarma del flujo raíz para cada mensaje de los dispositivos del perfil.
Abrir las reglas
- Abra Perfiles de dispositivo y abra un perfil.
- Abra la pestaña Reglas de alarma.
Ve las reglas del perfil con su tipo, su clase (Umbral o Dispositivo sin conexión), su condición resumida y un interruptor Habilitada. Cualquiera con Ver alarmas y reglas de alarma puede verlas; para cambiarlas se necesita Editar las reglas de alarma de los perfiles de dispositivo (Admin por defecto). Sin este permiso, la pestaña muestra «You can view the rules but not change them.»
Añadir o cambiar una regla
- Haga clic en Añadir regla y elija Regla de umbral o Regla de dispositivo sin conexión, o haga clic en Editar en una regla.
- Rellene el cajón (véase más abajo). Cambie entre Formulario y JSON en la parte superior.
- Haga clic en Añadir a la lista (regla nueva) o en Actualizar la lista.
- Repita para otras reglas. La pestaña muestra «n rules changed and not saved yet: nothing applies until you save.»
- Haga clic en Guardar reglas. Descartar elimina los cambios no guardados.
Guardar sustituye todo el conjunto de reglas del perfil. Una regla cuya definición o interruptor cambie recibe una nueva versión; una regla sin cambios conserva su versión y su estado. Las nuevas reglas llegan a todos los workers en unos dos segundos. Si otra persona guardó el mismo perfil en el mismo momento, verá «The alarm rules changed at the same time; try again.»
Regla de umbral: el formulario
| Campo | Qué establece |
|---|---|
| Tipo | El nombre de la alarma. Letras, dígitos y _ . : -, como máximo 128 caracteres, único en el perfil. Una alarma abierta por dispositivo y tipo. Una regla nueva empieza como high_value. |
| Título de la alarma | Lo que ven las personas, como máximo 300 caracteres. Marcadores: {{device.name}}, {{value}}, {{key}}, {{threshold}}, {{severity}}, {{type}}. Una regla nueva empieza con {{device.name}}: {{value}}. |
| Habilitada | Activada o desactivada. |
| Severidad | Una línea por severidad: la severidad y luego Clave, Operador y Valor. Añadir una severidad añade una línea (como máximo cinco, cada severidad una vez). Gana la línea verdadera más alta. |
| Clave | Una clave de telemetría. El cuadro ofrece las claves declaradas por el perfil y admite texto libre. |
| Operador | >, >=, <, <=, ==, !=. |
| Valor | Un número, true o false, un texto, o attribute:<name> para un límite por dispositivo. |
| Solo desde el tema | En Avanzado: compara solo los mensajes de este tema MQTT. Vacío = cualquier tema. |
| Durante cuánto tiempo debe cumplirse la condición | Contar en Lecturas consecutivas o Segundos (hora del dispositivo), y después los números de activación y cierre (de 1 a 86.400). |
| Histéresis (margen de cierre) | Un margen absoluto en el lado de cierre. |
| Runbook | Texto que se muestra con la alarma: qué revisar y qué hacer (como máximo 10.000 caracteres). |
Detalles de condiciones, antirrebote e histéresis: Referencia de condiciones de alarma y Antirrebote, histéresis y amortiguación.
Regla de dispositivo sin conexión: el formulario
| Campo | Qué establece |
|---|---|
| Título de la alarma | Por defecto {{device.name}} is offline. |
| Abrir tras (segundos sin conexión) | De 10 a 604.800 (7 días). Por defecto 600. |
| Severidad | Por defecto Warning. |
| Runbook, Habilitada | Igual que antes. |
Su tipo es siempre device_offline, por lo que un perfil tiene como máximo uno. Véase Alarmas sin conexión.
Lo que solo muestra el modo JSON
El formulario cubre la forma habitual. Estas partes existen solo en el modo JSON:
| Parte | Campo JSON | Página |
|---|---|---|
| Condiciones combinadas (varias comparaciones con all/any) | severities[].condition con all / any | Referencia de condiciones de alarma |
| Una condición de cierre explícita | clear | Condiciones de cierre y lecturas tardías |
| Ajustes de amortiguación | dampening | Antirrebote, histéresis y amortiguación |
| Notificaciones: destinatarios, canales, severidad mínima, recordatorios | notify | Notificaciones de alarma en detalle |
| Reproducción de lecturas fuera de orden | evaluateBackfill | Condiciones de cierre y lecturas tardías |
El formulario conserva estas partes cuando edita otros campos. Una regla con condiciones combinadas se abre en modo JSON con la nota «This rule uses combined conditions or other settings the form does not show: edit it as JSON.» El modo JSON es estricto: un campo que Hermetry no conoce se rechaza, así que una regla guardada nunca conserva un ajuste ignorado.
Una regla completa
{
"type": "high_temperature",
"title": "{{device.name}}: {{value}} °C",
"severities": [
{ "severity": "CRITICAL", "condition": { "key": "temperature", "op": ">", "value": 90 } },
{ "severity": "MAJOR", "condition": { "key": "temperature", "op": ">", "value": { "attribute": "max_temp" } } }
],
"debounce": { "mode": "duration", "raise": 60, "clear": 120 },
"hysteresis": 2,
"notify": {
"recipients": [ { "kind": "role", "role": "ADMIN" }, { "kind": "email", "email": "oncall@example.com" } ],
"minSeverity": "MAJOR",
"repeatEverySec": 1800
},
"runbook": "Check the cooling fan and the door seal. Clear with a note when fixed.",
"enabled": true
}
Claves que comprueban las reglas
Al guardar, cada clave de condición debe ser una clave de telemetría: sin espacios y no un número suelto («A key names a telemetry key: no spaces and not a number.»). Una clave con aspecto numérico, como un número de registro 40001, se acepta si el perfil la declara. Una clave que el perfil no declara es solo una advertencia: «Not a telemetry key of this profile: … The rule fires only on devices that send these keys; save is still possible.»
Eliminar, desactivar y renombrar
- Eliminar pregunta «Remove type?» y advierte «When you save, its open alarms are resolved.» Se resuelven al guardar.
- Desactivar una regla detiene su evaluación. Una alarma que ya abrió permanece abierta hasta que la cierre a mano o vuelva a activar la regla.
- Si renombra una clave de telemetría en el perfil, el perfil lista las reglas de alarma que leen la clave antigua y puede reescribirlas con la nueva en un solo paso. Cada regla reescrita recibe una nueva versión.
- Un perfil con reglas de alarma no se puede eliminar hasta que se quiten las reglas; la eliminación las muestra.
Límites
| Límite | Valor |
|---|---|
| Reglas por perfil | 50 |
| Severidades por regla | 5 (cada una una vez) |
| Comparaciones por condición | 16 |
| Anidamiento de grupos all/any | 4 niveles |
| Tipo | 128 caracteres, A-Z a-z 0-9 _ . : - |
| Título | 300 caracteres |
| Runbook | 10.000 caracteres |
| Clave | 128 caracteres |
| Valor de texto | 256 caracteres |
| Antirrebote de activación y cierre | 1 a 86.400 |
| Destinatarios | 20 |
| Retardo sin conexión | 10 s a 7 días |
Más allá de los umbrales
Las reglas de alarma comparan un valor con un número fijo o con un atributo del dispositivo. No pueden calcular (no «setpoint + 10»), seguir una programación ni comparar dos dispositivos. Para eso, use una regla de la tarjeta de reglas o un flujo, que pueden activar y cerrar alarmas con el mismo ciclo de vida. Ejemplos listos: Recetario de reglas de alarma.

