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).
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.
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).
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.
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.
6Desligamento automático
Define quando e como os servidores são desligados numa queda de energia.
Controles principais
| Campo | O que faz |
|---|---|
| Armado | Só desliga de verdade com Armado = ON. |
| Simulação (dry-run) | Com ON, apenas registra/avisa o que faria (sem desligar). Produção = OFF. |
| Gatilho | Ambos 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 imediato | Se um nobreak acusar bateria baixa, desliga na hora, sem esperar o prazo. |
| Desligar este servidor por último | O servidor de monitoramento (MEGAHV03) desliga depois de todos. |
Como funciona (passo a passo)
- O gatilho detecta a queda → começa a contagem e notifica Telegram/WhatsApp.
- Se a energia voltar antes do prazo → tudo é suspenso, nada desliga.
- Cada host desliga quando o seu próprio prazo vence (ex.: um host com 2 min desliga antes dos de 5 min).
- Bateria baixa a qualquer momento → desliga tudo imediato.
- 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).
7Hosts a desligar
Cada host é configurado individualmente:
| Coluna | Significado |
|---|---|
| Bolinha | Status online/offline (ping + porta), atualiza sozinha. |
| Método | WinRM (Windows, porta 5985), SSH (Linux) ou Local (este servidor). |
| Prazo (min) | Tempo próprio do host (vazio = usa o global). Menor = desliga antes (prioridade). |
| SSH | Para método SSH: IP · usuário · senha do host Linux. |
| Ativo | Liga/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.
8Notificações
Os eventos saem simultaneamente nos canais habilitados.
Telegram
- Crie um bot no @BotFather e cole o token.
- Mande
/startao bot para descobrir seu chat_id; adicione em “Chat IDs de notificação”. - Para grupo: adicione o bot ao grupo e mande
/id— ele responde o ID do grupo.
- Clique Abrir QR de pareamento e escaneie com o celular (Aparelhos conectados).
- Preencha os números (formato
5511999999999) ou o ID de grupo (...@g.us, via Listar grupos).
9Eventos e alertas
| Evento | Nível | Quando |
|---|---|---|
| Modo bateria | alerta | nobreak passou para bateria |
| Rede restaurada | ok | voltou para a rede |
| Bateria baixa | crítico | flag de bateria baixa |
| Bateria fraca | crítico | em bateria: nível baixo ou queda rápida (desgaste) |
| Bateria carregada | ok | terminou de carregar (100%) |
| Tensão fora / crítica / normalizada | vários | entrada fora da faixa saudável / limites |
| Offline / Online | alerta/ok | perda/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}).
10Bot (Telegram/WhatsApp)
Restrito a contatos autorizados. Comandos:
| Comando | Ação |
|---|---|
/status | resumo dos nobreaks + shutdown |
/ups | dados detalhados |
/teste | teste rápido de bateria (escolhe o nobreak, com confirmação) — Telegram |
/mudo 1|2 | liga/desliga o beep |
/cancelarteste 1|2 | aborta um teste |
/cancelarshutdown 1|2 | cancela shutdown do nobreak |
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.
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.
Recuperação — perdi o acesso ao 2FA
- 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).
- Se também perdeu o código de emergência: no servidor, edite
data/settings.json→ em"otp"mude"enabled": trueparafalse, 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.
13Glossário
| VA / W | Potência aparente / real do nobreak (3200 VA / 1984 W). |
| Ah | Capacidade da bateria — quanto maior, mais autonomia. |
| Autonomia | Tempo estimado que o nobreak aguenta em bateria, na carga atual. |
| Grace | Margem antes do desligamento efetivo, para o SO fechar/salvar. |
| WinRM | Gerência remota do Windows (usada para desligar hosts Windows). |
| SSH | Acesso remoto ao Linux (usado para desligar hosts Linux). |
| DPAPI | Criptografia do Windows usada para guardar segredos. |
| PWA | App instalável a partir do site (sem loja de apps). |
| PRODIST | Norma da ANEEL com faixas de tensão adequadas. |
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
