🔥 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.