Pular para o conteúdo
JelinaJelina DocumentationDocumentação técnica
Voltar ao site oficial

Ciclo de vida de alarmes e eventos

O Edge-EMS Builder oferece tanto registros individuais de alarmes quanto eventos de alarme com fluxo de recuperação. Ao criar regras de monitoramento contínuo, os eventos de alarme permitem acompanhar todo o processo de “ocorrência da anomalia, recuperação e resolução manual”.

Forma Uso indicado Comportamento
Registro de alarme Notificações simples e retenção de cada resultado de acionamento Cada ação gera um registro independente, que pode ser marcado como tratado
Evento de alarme Monitoramento de falhas persistentes e acompanhamento do tratamento Ocorrências com a mesma origem e identificador de alarme são agrupadas, registrando a contagem e as mudanças de estado

Os scripts anteriores podem continuar em uso; registros de alarme existentes não são convertidos automaticamente em eventos de alarme.

Ativo (ACTIVE) → Recuperado (RECOVERED) → Resolvido (RESOLVED)

  • Anomalias repetidas são agrupadas no mesmo evento não resolvido, preservando os horários da primeira e da última ocorrência.
  • Uma observação normal leva o evento ao estado “Recuperado”; um operador ou administrador confirma sua resolução.
  • Se a anomalia voltar após a recuperação, o evento será reativado; se voltar após a resolução, será criado um novo evento.
  • Dispositivo offline ou dados inválidos representam um estado “Desconhecido” e não são interpretados incorretamente como recuperação.

Os alarmes são identificados por um sourceCode + alarmKey estável. A regra deve informar continuamente os estados anormal, normal ou desconhecido, e não executar apenas em caso de anomalia; caso contrário, o sistema não saberá quando houve recuperação.

O exemplo abaixo usa o ponto genérico demo_temperature. Antes de usá-lo, substitua-o pelo ponto real e configure um período de monitoramento adequado:

local value = tonumber(${demo_temperature})
local state = "UNKNOWN"
if value then
if value > 80 then state = "ACTIVE" else state = "NORMAL" end
end
return {buildAlarmObservationMap("demo_monitor", "demo_temperature_high",
state, "高温", "1", "温度状态:" .. tostring(value))}

Esse script é usado em uma ação de gatilho EXPRESSION. O identificador do alarme não deve incluir a temperatura atual nem um timestamp, para evitar que cada observação gere um novo evento.

Os eventos podem ser filtrados por origem, tipo, nível, estado e período, permitindo consultar a contagem de ocorrências, o horário de recuperação e a descrição da resolução. A resolução manual usa o número da versão mais recente do evento para evitar que operações de várias pessoas se sobrescrevam. Quando um dispositivo ou regra é desativado definitivamente, um administrador pode descontinuar os eventos correspondentes, informando o motivo.

Para notificações na nuvem, combine com MQTT e configure o envio separadamente. Para o uso de scripts e interfaces, consulte a Referência Lua e a Skill de alarmes.