Alarmes
Os alarmes que aguardam uma resposta, reconhecidos onde são lidos, sobre a linha do tempo persistente de toda transição de estado de alarme.
A aba Alarmes é a tela de operação dos alarmes: o que aguarda agora e o registro do que já
aconteceu, empilhados numa tela só. Ela é a primeira aba de Eventos
(/events?view=alarms), a aba em que a página abre, e onde o indicador de alarme da barra de status
cai quando você clica nele. Vê-la exige Ver eventos; responder a um alarme aqui exige Operar a
lógica; exportar o histórico exige Exportar/importar históricos. Os alarmes em si são
definidos em Logic > Alarmes; esta aba nunca edita um.
A aba empilha dois cartões: Alarmes atuais em cima, lido ao vivo do registro de alarmes, e Histórico embaixo, lido do diário persistente.
Alarmes atuais
O cartão lista todo alarme que está ativo ou ainda aguardando um reconhecimento: exatamente a população que a barra de status conta, para que as duas nunca discordem. Ele é lido direto do registro ao vivo e redesenhado pelos sinais do próprio registro (uma subida, uma normalização ou um reconhecimento vindo de qualquer superfície, uma definição salva, desabilitada ou excluída), nunca por relógio.
O cabeçalho
| Elemento | O que mostra |
|---|---|
| Sino | A marca de alarme. Ele troca para a variante tocando enquanto qualquer coisa está ativa ou não reconhecida, e assume a cor da pior prioridade da lista. |
| Resumo | "N ativos (M sem reconhecimento)": quantas condições são verdadeiras agora, e quantos alarmes ainda aguardam resposta. Um alarme que normalizou antes de alguém reconhecê-lo continua contado como não reconhecido. O texto assume o tom da pior prioridade. |
| Reconhecer todos | Responde a todo alarme que aguarda, num comando só. Desenhado apenas para um papel com Operar a lógica. Fica cinza com o motivo na dica enquanto o runtime está parado ("Runtime parado") ou enquanto nada aguarda ("Nenhum alarme aguarda resposta."); fora disso a dica diz "Reconhecer todo alarme que ainda aguarda resposta". O feed de ações responde "Todos os alarmes reconhecidos." |
As linhas
As linhas são ordenadas por prioridade, da pior para a melhor (Crítica, Alta, Média, Baixa), e dentro de uma prioridade pela ativação mais antiga primeiro, de modo que o alarme que mais merece resposta fique mais perto do topo. A grade é compacta, com no máximo 240 pixels de altura, e rola dentro do cartão.
| Coluna | O que é |
|---|---|
| Nome | Um ponto no tom da prioridade e, em seguida, o nome do alarme. Passar o ponteiro sobre o nome mostra a mensagem do alarme. |
| Endereço | O endereço Logic com raiz do alarme, Alarms.<folders>.<name>, do jeito que expressões e dashboards se referem a ele. |
| Estado | O estado e a prioridade, por exemplo "Ativo, não reconhecido · Crítica". As palavras de estado são as quatro da máquina de estados do alarme: Sem alarme, Ativo, não reconhecido, Ativo, reconhecido e Normalizado, não reconhecido (a condição voltou ao normal antes de alguém responder). |
| Desde | A data e a hora em que a ativação atual começou; um traço quando a condição já normalizou e a linha só aguarda o seu reconhecimento. |
| Reconhecer | Desenhado apenas numa linha ainda não reconhecida, e apenas para um papel com Operar a lógica. A sua dica diz "Reconhecer" seguido do nome do alarme; ele fica cinza com "Runtime parado" enquanto o runtime está parado. O feed de ações responde com o nome do alarme seguido de "reconhecido." |
Um reconhecimento é despachado por vez; um segundo acionamento enquanto o primeiro ainda está na fila da lógica é ignorado, em vez de responder a uma linha que a lista já soltou. Todo reconhecimento feito neste cartão passa pelo mesmo funil registrado em diário que a página Logic usa e é gravado no histórico abaixo com a origem Operador; ele não grava qual usuário autenticado o acionou. Reconhecer um alarme que não tem nada pendente não faz nada. Um alarme cuja definição não exige reconhecimento nunca aparece como não reconhecido: ele sobe direto para "Ativo, reconhecido" e cai direto para Sem alarme, então a sua linha aparece enquanto ele está ativo e não carrega Reconhecer.
Quando nada está ativo nem aguardando, o cartão diz "Nenhum alarme está ativo ou aguardando resposta." com "Quando um alarme sobe ele aparece aqui para poder ser reconhecido."
Recusas
| Situação | O que acontece |
|---|---|
| O papel não tem Operar a lógica | Nem Reconhecer nem Reconhecer todos é desenhado; as linhas continuam legíveis. Um acionamento que ainda assim chegue ao tratador responde "Seu papel pode ver a Logic, mas não pode operá-la (escrever valores, executar ações, reconhecer alarmes)." |
| O runtime está parado | Os dois verbos continuam desenhados e cinzas com "Runtime parado"; a lista ainda mostra o estado que o registro guarda. |
| Nada aguarda | Reconhecer todos fica cinza com "Nenhum alarme aguarda resposta."; nenhuma linha carrega Reconhecer. |
Histórico
O cartão sob os alarmes atuais é a linha do tempo persistente: uma linha por transição de estado de alarme, na conduta compartilhada das três linhas do tempo descrita em Eventos.
Busca e filtro
| Controle | Valores | O que faz |
|---|---|---|
| Busca | Texto de exemplo "Buscar nome, mensagem ou origem" | Casamento por "contém" no nome do alarme, na sua mensagem e na origem da transição, como foram fotografados na hora. |
| Prioridade | Todas as prioridades (padrão), Crítica, Alta, Média, Baixa | Mantém apenas as transições de alarmes que tinham aquela prioridade quando aconteceram. |
| Atualizar | Relê o diário; dica "Atualizar eventos de alarme". | |
| Exportar | Exportar como CSV…, Exportar como JSON… | Grava as linhas listadas no momento. Desenhado apenas com Exportar/importar históricos; fica cinza enquanto a lista está vazia. |
As linhas
| Parte da linha | Conteúdo |
|---|---|
| Hora | Data e hora da transição. |
| Ponto | O tom da prioridade: crítico para Crítica, cautela para Alta, atenção para Média, neutro para Baixa. |
| Nome | O nome do alarme na hora da transição. |
| Resumo | "De → Para · Origem", por exemplo "Sem alarme → Ativo, não reconhecido · Logic". |
| Nível | A palavra da prioridade. |
Toda transição da máquina de estados é gravada, seja qual for a causa. A Origem nomeia a procedência:
| Origem | Significado |
|---|---|
| Logic | A varredura da lógica avaliou a condição: uma subida depois do atraso de liga, ou uma queda depois do atraso de desliga. |
| Operador | Um reconhecimento acionado nesta aba ou na página Logic. |
| MCP | Um reconhecimento feito por um agente via MCP. |
| Configuração | O alarme foi levado de volta a Sem alarme porque a sua definição foi salva com condição, atrasos, exigência de reconhecimento ou estado de habilitação alterados, ou porque ele foi excluído. |
O painel de detalhes
Selecionar uma linha abre o painel com o distintivo da prioridade e o nome, o instante completo, o resumo da transição, a mensagem que o alarme anunciou na hora (ou "Nenhuma mensagem capturada.") e dois cartões:
| Cartão | Campo | Conteúdo |
|---|---|---|
| EVENTO | Nível | A prioridade. |
| EVENTO | ID do evento | A identidade desta transição no diário. |
| SNAPSHOT DO ALARME | Transição | "De → Para" nas palavras de estado. |
| SNAPSHOT DO ALARME | Origem | Logic, Operador, MCP ou Configuração. |
| SNAPSHOT DO ALARME | ID do alarme | O id estável da definição do alarme, o mesmo depois de renomear. |
Copiar evento copia "instante | Alarme | prioridade | nome | De → Para · Origem | mensagem" como uma linha e responde "Evento copiado para a área de transferência."
Colunas da exportação
| Coluna | CSV | JSON |
|---|---|---|
| Instante | Primeira coluna, encabeçada "Timestamp (UTC-03:00)" (o fuso da própria estação) | Timestamp |
| Prioridade | Priority |
Priority |
| Nome | Name |
Name |
| Transição | Transition, escrito "De -> Para" |
From e To, dois campos |
| Origem | Source |
Source |
| Mensagem | Message |
Message |
| Id do evento | EventId |
EventId |
| Id do alarme | AlarmId |
AlarmId |
O arquivo JSON é um envelope, { "TimeZone": "...", "Events": [ ... ] }. Os nomes dos arquivos são
alarm-history-<yyyyMMdd-HHmmss>.csv e .json. O CSV segue a preferência de separador decimal da
estação como toda outra exportação: com decimais por ponto o separador de lista é ,, com decimais
por vírgula ele é ;. Uma célula que começa com =, +, - ou @ recebe um apóstrofo na frente
para que a planilha a leia como texto.
Estados vazios e a linha de status
- "Nenhum evento de alarme ainda" com "As transições de alarme vão aparecer aqui conforme o runtime as observa."
- "Nenhum evento de alarme casa com estes filtros" com "Ajuste a prioridade ou os termos de busca para ampliar este histórico."
- A linha de status diz "N mostrados · página 1" e, em seguida, " · filtrado" quando uma busca, uma prioridade ou um período está em vigor; à direita, "1 selecionado" e "Atualizado hh:mm:ss".
O que a aba Alarmes não faz
- Ela não cria, edita, habilita, desabilita nem exclui um alarme; isso é Logic > Alarmes.
- Ela não silencia nem engaveta um alarme, e não emite som nenhum.
- Ela não restaura o estado reconhecido depois de um reinício: o registro rededuz todo estado a partir da primeira varredura, e um reconhecimento que estava pendente precisa ser dado de novo. O histórico guarda as transições de antes e de depois.
- Ela grava a procedência de um reconhecimento (Operador, MCP), mas não o nome do usuário autenticado.
- Ela não filtra o histórico por alarme, faixa de datas ou estado; busque pelo nome ou exporte a janela.
- O histórico não tem verbo próprio: nada aqui exclui uma transição.