Ajuda & Manual

Dashboard
Introdução

1Visão geral

O sistema monitora os nobreaks SMS em tempo real, avisa a equipe por Telegram e WhatsApp e faz o desligamento ordenado dos servidores em caso de queda de energia prolongada. Tudo é operado por duas telas:

  • Dashboard (/) — o painel de monitoramento em tempo real.
  • Administração (/admin) — onde tudo é configurado (protegido por senha).
A navegação é feita pelos botões no topo: ⚙ Admin no dashboard e ◄ Dashboard no admin.
Tela principal

2Dashboard

Mostra o estado dos nobreaks, atualizado a cada 2 segundos.

Cartão de cada nobreak

  • Situação — Online (rede) Em bateria Bateria baixa.
  • KPIs clicáveis — Entrada (V), Saída (V), Carga (%), Frequência (Hz), Bateria (%), Temperatura (°C). Clique em qualquer um para abrir o gráfico histórico com faixas de tempo (1h, 6h, 24h, 7d, 30d), filtro De/Até e tooltip com horário e valor.
  • Histórico recente — as duas mini-linhas (Entrada V em azul, Carga % em teal) também são clicáveis e abrem o gráfico detalhado.
  • Log ao vivo — eventos em tempo real, no rodapé da página.

Botões do topo

  • Instalar app — aparece quando o navegador reconhece que o painel pode ser instalado (ver seção 11).
  • ⚙ Admin — vai para as configurações.
Energia da bateria

3Bateria e autonomia

No bloco Carga da bateria você vê:

  • % da bateria e a barra (que brilha animada quando está carregando).
  • Status: Carregando (com raio pulsante), Carregada (100%) ou Descarregando (em bateria).
  • 🕐 Autonomia — quanto o nobreak aguenta se a energia cair agora, no nível e na carga atuais.
  • ⚡ Carga — tempo estimado para completar a carga (só aparece carregando).
Importante: a autonomia depende da capacidade da bateria (Ah) configurada. Se você ligou um banco externo, ajuste o Banco (V) e o Ah de cada nobreak em /admin → Nobreaks — senão a estimativa fica baixa (usa a bateria interna de 17 Ah).
O “% da bateria” da SMS vem da tensão (afunda sob carga e recupera) — ótimo para saúde e alertas, mas a autonomia é uma estimativa. Amperes e a tensão real da bateria não são fornecidos pelo protocolo.
Configuração

4Administração (/admin)

Área protegida por senha de administração. Depois de entrar, você configura tudo. Ao final, clique em Salvar tudo para aplicar (alguns itens, como adicionar nobreak ou editar bateria/host, salvam sozinhos).

As seções são: Situação, Nobreaks, Desligamento automático, Telegram, WhatsApp, Limites de tensão/bateria, Mensagens e Senha.

Dispositivos

5Nobreaks

  • Bolinha de status 🟢/🔴 — online/sem conexão (atualiza sozinha).
  • Nome e Local — editáveis (salvam ao sair do campo).
  • Banco (V) e Ah — a capacidade da bateria realmente conectada. É o que define a autonomia. Baterias em série somam a tensão (V); em paralelo somam a capacidade (Ah).
  • Adicionar — informe a porta COM (pode escolher da lista detectada), teste com Testar porta e clique Adicionar. O nobreak aparece no dashboard na hora. Há um campo opcional Host a desligar que já inclui o host na lista de shutdown.
Contingência

6Desligamento automático

Define quando e como os servidores são desligados numa queda de energia.

Controles principais

CampoO que faz
ArmadoSó desliga de verdade com Armado = ON.
Simulação (dry-run)Com ON, apenas registra/avisa o que faria (sem desligar). Produção = OFF.
GatilhoAmbos os nobreaks em bateria (queda real da rede) ou Qualquer nobreak (mais sensível).
Atraso até desligar (min)Tempo de espera após a queda antes de desligar. Se a energia voltar antes, cancela. É o prazo global (cada host pode ter o seu).
Grace (s)Margem em cada host ao mandar desligar (o SO fecha apps/salva antes de desligar de fato).
Bateria baixa dispara imediatoSe um nobreak acusar bateria baixa, desliga na hora, sem esperar o prazo.
Desligar este servidor por últimoO servidor de monitoramento (MEGAHV03) desliga depois de todos.

Como funciona (passo a passo)

  1. O gatilho detecta a queda → começa a contagem e notifica Telegram/WhatsApp.
  2. Se a energia voltar antes do prazo → tudo é suspenso, nada desliga.
  3. Cada host desliga quando o seu próprio prazo vence (ex.: um host com 2 min desliga antes dos de 5 min).
  4. Bateria baixa a qualquer momento → desliga tudo imediato.
  5. Ao mandar desligar, usa o grace como margem; o servidor local vai por último.

Testar com segurança

  • Simular sequência — mostra a ordem/os prazos, sem desligar.
  • Na tabela de hosts: Testar conexão (comando inofensivo) e Testar desligar (agenda e aborta — prova que funciona sem desligar).
Em Produção (armado + simulação off), numa queda real os servidores desligam de verdade. Para desarmar é instantâneo: Armado → OFF → Salvar.
Por device

7Hosts a desligar

Cada host é configurado individualmente:

ColunaSignificado
BolinhaStatus online/offline (ping + porta), atualiza sozinha.
MétodoWinRM (Windows, porta 5985), SSH (Linux) ou Local (este servidor).
Prazo (min)Tempo próprio do host (vazio = usa o global). Menor = desliga antes (prioridade).
SSHPara método SSH: IP · usuário · senha do host Linux.
AtivoLiga/desliga a inclusão desse host na contingência.
  • WinRM usa a credencial de domínio configurada acima (uma para todos).
  • SSH usa credencial própria por host; o ideal é chave SSH (mais seguro e sem bloqueio por fail2ban).
  • Ping checa se o host está no ar; Testar desligar valida o desligamento sem desligar.
Avisos

8Notificações

Os eventos saem simultaneamente nos canais habilitados.

Telegram

  1. Crie um bot no @BotFather e cole o token.
  2. Mande /start ao bot para descobrir seu chat_id; adicione em “Chat IDs de notificação”.
  3. Para grupo: adicione o bot ao grupo e mande /id — ele responde o ID do grupo.

WhatsApp

  1. Clique Abrir QR de pareamento e escaneie com o celular (Aparelhos conectados).
  2. Preencha os números (formato 5511999999999) ou o ID de grupo (...@g.us, via Listar grupos).
Use Enviar teste em cada canal para confirmar. O WhatsApp usa a ponte Baileys (cliente não oficial) — pode cair e reconecta sozinho.
O que é notificado

9Eventos e alertas

EventoNívelQuando
Modo bateriaalertanobreak passou para bateria
Rede restauradaokvoltou para a rede
Bateria baixacríticoflag de bateria baixa
Bateria fracacríticoem bateria: nível baixo ou queda rápida (desgaste)
Bateria carregadaokterminou de carregar (100%)
Tensão fora / crítica / normalizadaváriosentrada fora da faixa saudável / limites
Offline / Onlinealerta/okperda/retorno de comunicação com o nobreak

Os limites de tensão (padrão PRODIST 220V: adequada 202–231V) e a saúde da bateria são ajustáveis. Os textos de cada evento são editáveis na seção Mensagens (com variáveis como {nome}, {bateria_pct}, {tensao_entrada}, {hora}).

Comandos por chat

10Bot (Telegram/WhatsApp)

Restrito a contatos autorizados. Comandos:

ComandoAção
/statusresumo dos nobreaks + shutdown
/upsdados detalhados
/testeteste rápido de bateria (escolhe o nobreak, com confirmação) — Telegram
/mudo 1|2liga/desliga o beep
/cancelarteste 1|2aborta um teste
/cancelarshutdown 1|2cancela shutdown do nobreak
App no celular

11Instalar como aplicativo (PWA)

  • Android (Chrome): abra pelo endereço HTTPS → toque em Instalar app (ou menu ⋮ → Instalar aplicativo).
  • iPhone (Safari): Compartilhar → Adicionar à Tela de Início (o iOS não mostra botão automático).
  • Computador (Chrome/Edge): ícone de instalar na barra de endereço ou o botão no topo.
A instalação completa (e abrir offline) exige acesso por HTTPS. Pelo IP em HTTP, o Chrome não instala (só o iPhone consegue por “Adicionar à Tela de Início”).
Proteção

12Segurança

  • A Administração exige senha; os comandos exigem token.
  • Segredos (senha de domínio, token do bot, senha SSH) ficam criptografados (DPAPI), nunca em texto puro.
  • O desligamento tem trava dupla (Armado + Produção) e modo simulação para testes.
  • Recomendações: usar conta de serviço dedicada, rotacionar credenciais, e restringir o acesso ao painel (VPN/rede interna) já que ele pode desligar servidores.

2FA (código no login)

Com o 2FA ligado (/admin → Conta), o login pede a senha + um código de 6 dígitos enviado ao Telegram/WhatsApp. A sessão dura 8h.

Antes de ativar o 2FA, confirme que os canais entregam (botão "Enviar teste") e gere um código de emergência (Conta → "Gerar código de emergência") — guarde-o off-line.

Recuperação — perdi o acesso ao 2FA

  1. Use o código de emergência: na tela de login, digite a senha e, no campo de código, o código de emergência que você guardou (funciona sem depender do chat).
  2. Se também perdeu o código de emergência: no servidor, edite data/settings.json → em "otp" mude "enabled": true para false, e reinicie o serviço:
    Stop-ScheduledTask OmegaUpsMonitor; Start-ScheduledTask OmegaUpsMonitor
    O login volta a aceitar só a senha; aí você entra, gera um novo código de emergência e reativa o 2FA.
Termos

13Glossário

VA / WPotência aparente / real do nobreak (3200 VA / 1984 W).
AhCapacidade da bateria — quanto maior, mais autonomia.
AutonomiaTempo estimado que o nobreak aguenta em bateria, na carga atual.
GraceMargem antes do desligamento efetivo, para o SO fechar/salvar.
WinRMGerência remota do Windows (usada para desligar hosts Windows).
SSHAcesso remoto ao Linux (usado para desligar hosts Linux).
DPAPICriptografia do Windows usada para guardar segredos.
PWAApp instalável a partir do site (sem loja de apps).
PRODISTNorma da ANEEL com faixas de tensão adequadas.
Dúvidas

14Problemas comuns

A autonomia está baixa

Ajuste o Ah do banco realmente conectado em /admin → Nobreaks. O padrão é a bateria interna (17 Ah).

Não apareceu o botão de instalar (Android)

Acesse pelo endereço HTTPS (não pelo IP), e recarregue — o botão aparece após o app registrar (às vezes na 2ª visita).

Um host não desliga

Use o Ping e o Testar conexão na tabela de hosts. Para Windows confira o WinRM (5985) e a credencial de domínio; para Linux, o SSH/chave e o sudo.

WhatsApp parou

Reabra o QR em /admin → WhatsApp → Abrir QR e pareie de novo (a sessão pode cair).

Um nobreak aparece “sem conexão”

Verifique o cabo USB/serial e a porta COM. A bolinha fica vermelha e o cartão indica a falha.

Omega Light · Sistema de Nobreaks — ajuda integrada