2.9 KiB
🔥 V-Fire Monitor - Notifier Master (v1.0) O V-Fire Monitor é uma solução avançada de monitoramento e gestão para centrais de alarme de incêndio da linha Notifier (NFS-320, NFS-640, NFS-3030). Desenvolvido para a Voltec, o software atua como um gateway inteligente entre o protocolo Modbus/TCP das placas BACNET-GW-3 e o sistema de monitoramento Zabbix, oferecendo uma interface web intuitiva e um sistema de licenciamento proprietário.
🚀 Funcionalidades Principais Monitoramento Multi-Node: Capacidade de monitorar múltiplas centrais simultaneamente via IP.
Auto-Discovery Ultra: Varredura inteligente de endereços Modbus (1-600) para identificação automática de dispositivos.
Integração Nativa Zabbix: Envio automatizado de Descoberta de Baixo Nível (LLD), status de eventos e integridade de comunicação.
Gestão de Licenciamento: Proteção por Hardware ID (HWID) e controle de expiração por data.
Persistência de Dados: Nomes personalizados de sensores são preservados mesmo após novas varreduras.
Interface Web Responsiva: Painel escuro (Dark Mode) com atualização em tempo real e indicadores visuais de status (Normal, Incidente, Removido).
📂 Estrutura do Repositório monitor.py: O "cérebro" do sistema. Gerencia o loop Modbus, o servidor Flask e a integração com Zabbix.
generator.py: Ferramenta interna da Voltec para geração de seriais de ativação baseados em HWID.
templates/:
login.html: Tela de acesso restrito.
index.html: Dashboard principal com indicadores de sensores e status de licença.
config_nodes.json: Armazena as configurações de IP das centrais e dados do servidor Zabbix.
mapa_dispositivos.json: Banco de dados local com o mapeamento de endereços e nomes dos sensores.
🛠️ Requisitos de Instalação Dependências Python Bash pip install flask flask-login pyModbusTCP zabbix-utils cryptography Configuração no Zabbix Para o funcionamento pleno, o Host no Zabbix deve possuir:
Regra de Descoberta (LLD): Chave notifier.discovery (Tipo: Zabbix Trapper).
Protótipos de Itens:
notifier.status[{#PONTO_LABEL}]: Status do evento.
notifier.comm[{#PONTO_LABEL}]: Integridade da comunicação do ponto.
node.status[{#NODE_NOME}]: Status online/offline da central.
🔑 Sistema de Licenciamento O software opera sob um regime de licença protegida.
Ao iniciar pela primeira vez, o sistema exibirá o Hardware ID.
Utilize o generator.py para criar um serial válido para este ID.
Insira o serial na interface web para liberar as funções de monitoramento.
🛡️ Segurança e Docker (Preview) O projeto está preparado para ser conteinerizado. O uso de volumes é mandatório para as seguintes persistências:
/etc/machine-id (Leitura do hardware real).
Arquivos .json (Configurações e Mapas).
Arquivo .key (Licença ativa).
📝 Autor e Suporte Desenvolvido por Syllas para Voltec - Soluções em Prevenção de Incêndio.