Ecossistema

FHEM

Servidor de automação distribuído sob licença GPL, FHEM é escrito em Perl e usado para controlar iluminação, persianas, aquecimento e registrar temperatura, umidade e energia. Pode operar em Linux, Raspberry Pi, NAS e outros hosts, com módulos para protocolos e dispositivos. A interface inclui web, TCP/IP e extensões. A principal força é a flexibilidade textual; a limitação é a curva de aprendizagem e a dependência de módulos e configuração mantidos pela comunidade.


✅ Principais Vantagens
Servidor local leve e extensível em Perl
FHEM é um servidor GPL escrito em Perl e projetado para automação. Pode funcionar em hardware modesto, VM, NAS ou computador Linux. O núcleo recebe eventos, mantém devices, executa temporizadores e registra dados. A execução local reduz dependência de nuvem. A arquitetura textual permite adaptar rapidamente. O custo é a necessidade de conhecer comandos, atributos, módulos e arquivos. A interface não esconde toda a complexidade. O administrador deve manter sistema operacional, Perl, bibliotecas, módulos e backups. O hardware precisa de armazenamento confiável. Uma instalação em cartão SD com muitos logs pode falhar. O servidor deve ficar em UPS. A flexibilidade é adequada a usuários técnicos e instalações que valorizam controle, desde que exista documentação para continuidade.
Modelo unificado de devices, readings e events
No FHEM, elementos físicos e lógicos são representados como devices. Um device possui readings, atributos, comandos e eventos. Até a interface FHEMWEB e variáveis dummy entram no modelo. Essa uniformidade facilita combinar tecnologias. Um sensor de temperatura gera reading; um notify reage; um DOIF implementa lógica; um FileLog registra. A vantagem é a composibilidade. A limitação é que a semântica depende do módulo. Reading state pode signific coisas diferentes. Regras devem usar valores específicos e tratar absent. Nomes precisam ser estáveis. Renomear um device pode quebrar referências. A configuração deve ser versionada. Eventos ruidosos precisam de filtros, ou o sistema consome CPU e armazenamento. O modelo é poderoso, mas exige disciplina.
Suporte histórico a muitos protocolos por módulos
A referência do FHEM inclui interfaces para FS20, HMS, X10 e uma grande variedade de tecnologias posteriores. Módulos conectam hardware, gateways, serviços e APIs. MQTT, Homematic, EnOcean, KNX, Modbus, Zigbee e marcas específicas podem ser integrados conforme módulo e equipamento. A vantagem é preservar legado e combinar. O risco é qualidade variável e manutenção. Um módulo antigo pode depender de hardware descontinuado. Protocolos regionais precisam ser respeitados. A documentação do módulo e o fórum são fontes essenciais. Antes de integrar, verifica-se data de atualização, dependências e modelo de segurança. O servidor não transforma automaticamente um protocolo fechado em interface estável. Cada módulo é um contrato que precisa ser validado.
Automação textual com notify, DOIF, at e scripts
FHEM oferece várias estruturas para reagir a eventos e tempo. notify associa regex a comandos; at agenda; DOIF cria condições e ramos; Perl embutido permite lógica avançada. A força é expressar casos complexos. A limitação é o risco de configuração difícil de manter. Regex ampla pode disparar em loop. Código Perl pode bloquear o event loop. Comandos externos precisam de timeout. Nomes e comentários são necessários. Regras devem ser divididas por função. O log precisa registrar contexto sem excesso. Testes de eventos simulados e ambiente de homologação ajudam. Para uma automação simples, use a estrutura mais declarativa. Código personalizado só quando necessário. A pessoa que mantém o sistema precisa compreender.
Registro e visualização de dados sem plataforma externa obrigatória
FileLog, DbLog, plots e interfaces permitem manter histórico local de temperatura, umidade, energia e estados. O usuário controla retenção. A vantagem é independência. O custo é administrar banco, arquivos, índices e espaço. Um sensor que publica a cada segundo gera milhões de registros. Filtros e agregação são necessários. O histórico não é backup. O banco precisa de cópia. Dados pessoais, como presença e abertura, exigem proteção. Dashboards FHEMWEB e frontends adicionais permitem visualização, mas personalizações precisam de manutenção. A solução deve priorizar qualidade e disponibilidade da automação antes de gráficos complexos.
🔗 Protocolos & Integrações
ProtocoloMétodo de ConexãoStatus
TCP/IP e FHEMWEBInterface web e conexões de rede para controle, configuração e integraçãoNativo; precisa ser protegido por autenticação, TLS ou proxy/VPN
Módulos de protocolos físicosInterfaces USB, seriais, gateways e módulos conectam FS20, X10, Homematic, EnOcean, KNX e outrosMuito amplo, mas dependente do módulo e hardware
MQTTMódulos publicam e assinam tópicos para integrar dispositivos e brokersDisponível e comum em instalações modernas
HTTP e APIsMódulos e comandos conectam serviços e equipamentos IPFlexível; autenticação e timeout são responsabilidade da integração
Perl e comandos internosScripts e expressões implementam lógica, transformações e extensõesNativo e avançado; exige segurança e manutenção
Logs e bancosFileLog, DbLog e módulos de persistência registram readings e eventosNativo por módulos; retenção e desempenho precisam ser configurados