Regras de alarme
Dispare alarmes (e ações) quando telemetria cruzar limites — temperatura alta, sensor offline, etc.
Conceitos
- Rule Chain — fluxo visual que processa cada mensagem MQTT/HTTP que chega no broker
- Nó (rule node) — uma etapa do fluxo: filtro, script, ação
- Alarm — entidade gerada quando uma regra dispara. Tem severidade, status (ativo/limpo/ack), histórico.
Caminho mais simples — alarme via Device Profile
Pra regras básicas (limite numérico), use a config do perfil do device — não precisa mexer em Rule Chain.
1. Configurar alarme no perfil
Menu Perfis → Perfis de dispositivo → seu perfil (default ou customizado) → aba "Regras de alarme".
Botão "Adicionar regra de alarme":
- Tipo de alarme: ex.
Temperatura alta - Severidade: Critical / Major / Minor / Warning / Indeterminate
- Condição "Criar": ex.
temperature > 30por1 minuto - Condição "Limpar": ex.
temperature < 28(libera quando esfria)
Aplique. A partir de agora, qualquer device usando esse perfil dispara alarme automaticamente.
2. Ver alarmes ativos
Menu lateral Alarmes. Lista todos os alarmes do tenant com filtros por severidade e status.
3. Mostrar alarmes no dashboard
Adicione o widget Alarm → Alarms table num dashboard. Datasource = "Tenant" ou um device específico.
Caminho avançado — Rule Chain customizada
Pra ações além de criar alarme (ex. mandar Slack, email, webhook), edite a Rule Chain.
1. Abrir Rule Chain raiz
Menu Cadeias de regras → Root Rule Chain. Abre o editor visual.
2. Estrutura do fluxo
Cada mensagem MQTT entra no nó "Input", passa por filtros e ações. Os principais tipos de nó:
- Filter — script JS que retorna boolean. Ex:
return msg.temperature > 30; - Transformation — modifica o payload (script JS)
- Action — efeito colateral: criar alarme, RPC, telemetry save, REST API call, send email
- Flow — branching: checkpoint, switch case, delay
3. Exemplo: alerta no Slack
- Adicione um nó Filter:
return msg.temperature > 30; - Conecte saída True num nó External → REST API call
- Configure URL = webhook do Slack, method = POST, body com
{"text": "Temp ${msg.temperature}°C em ${metadata.deviceName}"}
Salve a Rule Chain. Próxima telemetria que cruzar 30°C dispara o webhook.
Snooze e auto-clear
Por default um alarme fica ativo até a condição "Limpar" ser atendida.
- Snooze: usuário pode silenciar manualmente por X minutos no widget
- Auto-clear: configurado no perfil — após N segundos sem nova mensagem que dispare, marca como cleared
Notificações por email/SMS
Em Central de notificações → Templates você cria templates com placeholders.
Em Regras conecta tipo de evento (alarm.created) a um template e a uma lista de destinatários.
SMS/email exigem provider configurado (em Configurações → SMS/Email — só sysadmin). Pro Free/Maker não está disponível.
Limites por plano
| Plano | Regras | Webhooks | Notificações |
|---|---|---|---|
| Free | — | — | — |
| Maker | 5 | — | — |
| Starter | 20 | ✓ | ✓ |
| Pro | 100 | ✓ | ✓ |
Próximos passos
- Dashboards — visualizar alarmes ativos
- Clientes — atribuir alarmes