Alarmas
Las alarmas que esperan respuesta, reconocidas allí donde se leen, sobre la cronología persistente de todas las transiciones de estado de una alarma.
La pestaña Alarmas es la pantalla de explotación de las alarmas: lo que espera ahora y el registro
de lo que ya pasó, apilados en una sola pantalla. Es la primera pestaña de Eventos
(/events?view=alarms), la pestaña con la que abre la página, y donde aterriza el indicador de
alarmas de la barra de estado al hacer clic en él. Verla exige Ver los eventos; responder aquí a
una alarma exige Operar Logic; exportar el histórico exige Exportar/importar históricos. Las
alarmas se definen en Logic > Alarms; esta pestaña nunca edita ninguna.
La pestaña apila dos tarjetas: Alarmas actuales arriba, leída en vivo del registro de alarmas, y Histórico abajo, leída del diario persistente.
Alarmas actuales
La tarjeta lista todas las alarmas activas o que todavía esperan un reconocimiento: exactamente la población que cuenta la barra de estado, así que las dos nunca pueden discrepar. Se lee directamente del registro en vivo y se redibuja con las señales del propio registro (una subida, un restablecimiento o un reconocimiento desde cualquier superficie, una definición guardada, deshabilitada o borrada), nunca con un reloj.
La cabecera
| Elemento | Qué muestra |
|---|---|
| Campana | La marca de alarma. Pasa a su variante sonando mientras hay algo activo o sin reconocer y toma el color de la peor prioridad de la lista. |
| Resumen | "N activas (M sin reconocer)": cuántas condiciones son ciertas ahora mismo, y cuántas alarmas siguen esperando respuesta. Una alarma restablecida antes de que nadie la reconociera sigue contando como sin reconocer. El texto toma el tono de la peor prioridad. |
| Reconocer todas | Responde en un solo comando a todas las alarmas que esperan. Se dibuja solo para un rol con Operar Logic. Se atenúa con el motivo en su descripción emergente mientras el runtime está detenido ("Runtime detenido") o mientras no hay nada esperando ("Ninguna alarma espera respuesta."); si no, la descripción emergente dice "Reconocer todas las alarmas que siguen esperando respuesta". El registro de acciones responde "Todas las alarmas reconocidas." |
Las filas
Las filas se ordenan por prioridad, la peor primero (Crítica, Alta, Media, Baja), y dentro de una misma prioridad por la activación más antigua primero, de modo que la alarma que más merece respuesta queda más cerca del principio. La rejilla es compacta, de 240 píxeles de alto como mucho, y se desplaza dentro de la tarjeta.
| Columna | Qué es |
|---|---|
| Nombre | Un punto en el tono de la prioridad y después el nombre de la alarma. Al pasar el ratón por el nombre se ve el mensaje de la alarma. |
| Dirección | La dirección Logic con raíz de la alarma, Alarms.<folders>.<name>, tal como la nombran las expresiones y los paneles de control. |
| Estado | El estado y la prioridad, por ejemplo "Activa, sin reconocer · Crítica". Las palabras de estado son las cuatro de la máquina de estados de la alarma: En reposo, Activa, sin reconocer, Activa, reconocida y Restablecida, sin reconocer (la condición volvió a la normalidad antes de que nadie respondiera). |
| Desde | La fecha y la hora en que empezó la activación actual; un guion cuando la condición ya se restableció y la fila solo espera su reconocimiento. |
| Reconocer | Se dibuja solo en una fila que sigue sin reconocer, y solo para un rol con Operar Logic. Su descripción emergente dice "Reconocer" seguido del nombre de la alarma; se atenúa con "Runtime detenido" mientras el runtime está detenido. El registro de acciones responde con el nombre de la alarma seguido de "reconocida." |
Se despacha un reconocimiento cada vez; una segunda pulsación mientras la primera sigue en la cola de la lógica se ignora en lugar de responder a una fila que la lista ya soltó. Todo reconocimiento hecho desde esta tarjeta pasa por el mismo punto único de escritura registrado en el diario que usa la página Logic y queda grabado en el histórico de abajo con la fuente Operador; no graba qué usuario con sesión iniciada lo pulsó. Reconocer una alarma que no tiene nada pendiente no hace nada. Una alarma cuya definición no exige reconocimiento nunca aparece como sin reconocer: sube directamente a "Activa, reconocida" y baja directamente a En reposo, así que su fila se ve mientras está activa y no lleva Reconocer.
Cuando no hay nada activo ni esperando, la tarjeta dice "Ninguna alarma está activa ni espera respuesta." con "Cuando una alarma sube aparece aquí para poder reconocerla."
Rechazos
| Situación | Qué pasa |
|---|---|
| El rol no tiene Operar Logic | No se dibujan ni Reconocer ni Reconocer todas; las filas siguen siendo legibles. Una pulsación que llegue igualmente al manejador responde "Su rol puede ver Logic pero no operarlo (escribir valores, ejecutar acciones, reconocer alarmas)." |
| El runtime está detenido | Los dos verbos siguen dibujados y atenuados con "Runtime detenido"; la lista sigue mostrando el estado que guarda el registro. |
| No hay nada esperando | Reconocer todas se atenúa con "Ninguna alarma espera respuesta."; ninguna fila lleva Reconocer. |
Histórico
La tarjeta que hay bajo las alarmas actuales es la cronología persistente: una fila por transición de estado de alarma, con la conducta compartida de las tres cronologías que describe Eventos.
Búsqueda y filtro
| Control | Valores | Qué hace |
|---|---|---|
| Búsqueda | Marcador de posición "Buscar por nombre, mensaje o fuente" | Comparación de tipo "contiene" con el nombre de la alarma, su mensaje y la fuente de la transición, tal como quedaron en la instantánea del momento. |
| Prioridad | Todas las prioridades (por defecto), Crítica, Alta, Media, Baja | Conserva solo las transiciones de alarmas que tenían esa prioridad cuando ocurrieron. |
| Actualizar | Vuelve a leer el diario; descripción emergente "Actualizar los eventos de alarma". | |
| Exportar | Exportar como CSV…, Exportar como JSON… | Escribe las filas listadas en ese momento. Se dibuja solo con Exportar/importar históricos; se atenúa mientras la lista está vacía. |
Las filas
| Parte de la fila | Contenido |
|---|---|
| Hora | Fecha y hora de la transición. |
| Punto | El tono de la prioridad: crítico para Crítica, precaución para Alta, atención para Media, neutro para Baja. |
| Nombre | El nombre que tenía la alarma en el momento de la transición. |
| Resumen | "Desde → Hasta · Fuente", por ejemplo "En reposo → Activa, sin reconocer · Logic". |
| Nivel | La palabra de la prioridad. |
Se graba toda transición de la máquina de estados, sea cual sea su causa. La Fuente nombra el origen:
| Fuente | Significado |
|---|---|
| Logic | El ciclo de la lógica evaluó la condición: una subida tras el retardo de activación, o una bajada tras el retardo de desactivación. |
| Operador | Un reconocimiento pulsado en esta pestaña o en la página Logic. |
| MCP | Un reconocimiento hecho por un agente a través de MCP. |
| Configuración | La alarma volvió a En reposo porque su definición se guardó con la condición, los retardos, la exigencia de reconocimiento o el estado de habilitación cambiados, o porque se borró. |
El panel de detalle
Al seleccionar una fila se abre el panel con la insignia de la prioridad y el nombre, la marca de tiempo completa, el resumen de la transición, el mensaje que anunció la alarma en su momento (o "No se capturó ningún mensaje.") y dos tarjetas:
| Tarjeta | Campo | Contenido |
|---|---|---|
| EVENTO | Nivel | La prioridad. |
| EVENTO | ID de evento | La identidad de esta transición en el diario. |
| INSTANTÁNEA DE LA ALARMA | Transición | "Desde → Hasta" en las palabras de estado. |
| INSTANTÁNEA DE LA ALARMA | Fuente | Logic, Operador, MCP o Configuración. |
| INSTANTÁNEA DE LA ALARMA | ID de alarma | El identificador estable de la definición de la alarma, el mismo después de un cambio de nombre. |
Copiar evento copia "marca de tiempo | Alarma | prioridad | nombre | Desde → Hasta · Fuente | mensaje" como una línea y responde "Evento copiado al portapapeles."
Columnas de la exportación
| Columna | CSV | JSON |
|---|---|---|
| Marca de tiempo | Primera columna, encabezada "Timestamp (UTC-03:00)" (el desfase propio de la estación) | Timestamp |
| Prioridad | Priority |
Priority |
| Nombre | Name |
Name |
| Transición | Transition, escrita "From -> To" |
From y To, dos campos |
| Fuente | Source |
Source |
| Mensaje | Message |
Message |
| Identificador del evento | EventId |
EventId |
| Identificador de la alarma | AlarmId |
AlarmId |
El archivo JSON es un sobre, { "TimeZone": "...", "Events": [ ... ] }. Los nombres de archivo son
alarm-history-<yyyyMMdd-HHmmss>.csv y .json. El CSV sigue la preferencia de separador decimal de
la estación como cualquier otra exportación: con decimales de punto el separador de lista es ,,
con decimales de coma es ;. Una celda que empieza por =, +, - o @ se prefija con un
apóstrofo para que la hoja de cálculo la lea como texto.
Estados vacíos y línea de estado
- "Todavía no hay eventos de alarma" con "Las transiciones de alarma aparecerán aquí a medida que el runtime las observe."
- "Ningún evento de alarma coincide con estos filtros" con "Ajuste la prioridad o los términos de búsqueda para ampliar este histórico."
- La línea de estado dice "N mostrados · página 1", después " · filtrado" cuando hay una búsqueda, una prioridad o un periodo en vigor; a la derecha, "1 seleccionado" y "Actualizado hh:mm:ss".
Qué no hace la pestaña Alarmas
- No crea, edita, habilita, deshabilita ni borra una alarma; eso es Logic > Alarms.
- No aparta ni silencia una alarma, y no emite ningún sonido.
- No restaura el estado reconocido después de un reinicio: el registro vuelve a derivar cada estado desde el primer ciclo, y un reconocimiento que estaba pendiente hay que darlo otra vez. El histórico conserva las transiciones de antes y de después.
- Graba el origen de un reconocimiento (Operador, MCP) pero no el nombre del usuario con la sesión iniciada.
- No filtra el histórico por alarma, intervalo de fechas ni estado; busque por nombre o exporte la ventana.
- El histórico no tiene ningún verbo propio: aquí nada borra una transición.