Novedad: el cortafuegos de IA supervisa cada módulo y explica cada incidente con palabras sencillas. Vea cómo funciona

Debounce, histéresis y dampening

Evite que las alarmas oscilen: debounce por lecturas o por tiempo del dispositivo, el margen de cierre y el dampening que mantiene abierta una alarma que oscila.

A monitoring system that cries wolf is worse than none. Alarm rules have three settings against noise. Debounce makes a condition prove itself before the alarm opens or clears. Hysteresis puts a margin on the clear side. Dampening holds an alarm that keeps flipping.

Debounce

Campo (JSON)Etiqueta del formularioRangoPor defecto
debounce.modeContar en: Lecturas consecutivas (count) o Segundos (tiempo del dispositivo) (duration)count
debounce.raiseActivar tras este número de lecturas consecutivas / Activar cuando sea verdadera durante (segundos)1 a 86,4001
debounce.clearDesactivar tras este número de lecturas consecutivas / Desactivar cuando sea falsa durante (segundos)1 a 86,4001

Por lecturas

La alarma se abre en la lectura raise-ésima consecutiva cuya condición sea verdadera, y se cierra en la lectura clear-ésima consecutiva cuya condición sea falsa. Una lectura en sentido contrario reinicia el contador. Con los valores por defecto 1 y 1, la alarma sigue cada lectura.

Solo cuentan las lecturas que contengan una de las claves de la regla. Un mensaje con otras claves no es una lectura para esta regla.

Por tiempo del dispositivo

La alarma se abre cuando la condición ha sido verdadera de forma continua durante raise segundos, medidos según las marcas de tiempo de las lecturas, no según el reloj del servidor. Se cierra de forma simétrica.

Importante

El tiempo solo avanza cuando llega una lectura. Si un dispositivo informa cada 10 minutos, «verdadera durante 60 segundos» se alcanza con la segunda lectura verdadera, 10 minutos después. Si el dispositivo deja de enviar, no se decide nada hasta que vuelva a enviar. Haga que los dispositivos repitan su estado periódicamente, o use una alarma de desconexión para detectar el silencio.

Ejemplo: «puerta abierta durante 120 s» es door_open == true con Segundos (tiempo del dispositivo), activar en 120.

Cambios de severidad

Dentro de una alarma abierta, un cambio de severidad espera el mismo debounce: una subida espera el número o el tiempo de activación, una bajada espera el número o el tiempo de desactivación.

Histéresis

hysteresis (formulario: Histéresis (margen de cierre)) es un número absoluto, 0 o más. Amplía el umbral en el lado de cierre de las comparaciones de orden (>, >=, <, <=):

CondiciónHistéresisSe abreSe cierra
temperature > 803por encima de 80en 77 o menos
battery < 205por debajo de 20en 25 o más
pressure >= 60.2en 6 o máspor debajo de 5.8

La histéresis no se aplica a == ni a !=, y se ignora cuando la regla tiene una condición clear explícita (esa condición decide). Un valor que oscila en el umbral no abre y cierra la alarma en cada lectura.

Dampening

El dampening se aplica a toda regla de umbral. Sin un bloque dampening, se usan los valores por defecto:

CampoSignificadoRangoPor defecto
maxTransitionsAperturas y cierres permitidos dentro de la ventana2 a 1004
windowSecLa ventana10 a 86,400 s600
holdSecTiempo que la condición debe permanecer falsa antes de que una alarma retenida se cierre1 a 86,400 s300

Cuando un cierre supondría más de maxTransitions aperturas y cierres dentro de windowSec, el cierre se retiene: la alarma sigue abierta y se marca como Flapping (cronología: Flapping: cierres retenidos). Solo se cierra cuando su condición ha sido falsa durante holdSec segundos de tiempo del dispositivo.

Con los valores por defecto: una alarma que se abrió y se cerró dos veces en 10 minutos y se abre una tercera vez se mantiene abierta en su siguiente cierre hasta que la condición haya sido falsa durante 5 minutos.

Defina sus propios valores en el modo JSON:

"dampening": { "maxTransitions": 6, "windowSec": 1800, "holdSec": 600 }

Ejemplos prácticos

Una sonda de temperatura ruidosa. Las lecturas cada 10 s saltan ±1 °C alrededor de 80.

"severities": [ { "severity": "MAJOR", "condition": { "key": "temperature", "op": ">", "value": 80 } } ],
"debounce": { "mode": "count", "raise": 3, "clear": 3 },
"hysteresis": 2

Se abre en la tercera lectura consecutiva por encima de 80, y se cierra en la tercera lectura consecutiva en 78 o menos.

Una puerta que puede quedar abierta brevemente.

"severities": [ { "severity": "WARNING", "condition": { "key": "door_open", "op": "==", "value": true } } ],
"debounce": { "mode": "duration", "raise": 300, "clear": 1 }

Se abre cuando la puerta ha estado abierta 5 minutos según el reloj del dispositivo (el dispositivo debe informar mientras la puerta está abierta). En modo tiempo, una sola lectura nunca decide: la alarma se cierra con la segunda lectura de cerrada, al menos 1 segundo después de la primera.

Una bomba que cicla a propósito. Una regla sobre una presión que baja en cada ciclo de la bomba oscilaría. Aumente maxTransitions o holdSec para que el ciclo esperado no genere avisos, y mantenga el debounce corto para que un fallo real se detecte rápido.

Elegir los valores

El dispositivo informaDebounce sugerido
Cada pocos segundoscount de 3 a 5, o duration de 30 a 60
Cada minutocount de 2 a 3
Cada 10 a 60 minutoscount de 1 a 2. Una regla duration requiere al menos un intervalo de envío.
Solo al cambiarcount 1; use el retardo propio del dispositivo, o un disparador «se mantiene así durante» de la tarjeta Reglas