Dashboard

Eventos

camera.offline

Disparado quando o agente de processamento detecta que uma câmera parou de enviar frames ou a conexão RTSP foi perdida.

Quando dispara

  • A conexão RTSP é interrompida (rede, câmera reiniciada, port forwarding perdido)
  • A câmera para de enviar frames por um período prolongado
  • A câmera é desativada no dashboard
  • O agente de processamento não consegue reconectar após múltiplas tentativas

Payload

{
  "event": "camera.offline",
  "timestamp": "2026-03-22T03:45:00.000Z",
  "data": {
    "cameraId": "7012e192-5005-43b6-978c-7e304b3676a6",
    "cameraName": "Entrada principal",
    "lastSeenAt": "2026-03-22T03:44:30.000Z",
    "reason": "connection_lost"
  }
}

Campos

CampoTipoDescrição
data.cameraIdstringUUID da câmera
data.cameraNamestringNome da câmera no dashboard
data.lastSeenAtstringÚltimo frame recebido com sucesso
data.reasonstringMotivo da desconexão

Razões possíveis

ReasonSignificado
connection_lostConexão RTSP interrompida
timeoutSem frames por período prolongado
auth_failedCredenciais rejeitadas pela câmera
disabledCâmera desativada pelo usuário
server_unreachableAgente não consegue acessar o IP da câmera

Exemplo de uso

Alerta imediato para equipe técnica

app.post('/webhook', (req, res) => {
  const { cameraName, reason, lastSeenAt } = req.body.data;

  const downtime = Date.now() - new Date(lastSeenAt).getTime();
  const minutesDown = Math.round(downtime / 60000);

  sendTelegram(TECH_TEAM_CHAT,
    `🔴 *Câmera offline*\n` +
    `Câmera: ${cameraName}\n` +
    `Motivo: ${reason}\n` +
    `Último frame: ${minutesDown} min atrás`
  );

  res.json({ ok: true });
});

Registro de incidentes

app.post('/webhook', (req, res) => {
  const { cameraId, cameraName, reason, lastSeenAt } = req.body.data;

  db.incidents.create({
    type: 'camera_offline',
    cameraId,
    cameraName,
    reason,
    startedAt: lastSeenAt,
    resolvedAt: null, // será atualizado quando camera.online chegar
  });

  res.json({ ok: true });
});

Causas comuns e soluções

CausaDiagnósticoSolução
Queda de internetOutros dispositivos também offlineAguardar ou verificar provedor
IP dinâmico mudoumeuip.com.br mostra IP diferenteConfigurar DDNS
Câmera reiniciouCâmera voltou com IP diferenteConfigurar IP fixo
Port forwarding perdidoRoteador reiniciou e perdeu regrasSalvar regras permanentemente
Senha alteradaCâmera rejeita credenciaisAtualizar URL RTSP no dashboard

Atenção

Câmeras offline não geram reconhecimentos. Se a câmera é crítica para sua operação (entrada de estacionamento, portaria), configure este webhook para ser notificado imediatamente e agir rápido.

Esta página foi útil?