Sorry, your browser does not suporte JavaScript!
Entrar

Monitoramento de Energia MQTT com Docker: Configuração Avançada do IAMMETER-Docker

Monitoramento de Energia MQTT com Docker e Configuração Avançada do IAMMETER-Docker

Após o servidor básico do IAMMETER-Docker estar em execução, ele pode ser expandido para um servidor local de monitoramento de energia MQTT, usar MySQL para um conjunto de dados maior, encaminhar dados solares para o PVOutput e aceitar medições compatíveis de terceiros.

Este guia aborda caminhos avançados de dados e opções de armazenamento. Para instalação, volumes persistentes, primeiro login, configuração do medidor, backup e atualizações do container, comece com Monitoramento de Energia Autogerenciado com Docker.

Medidor IAMMETER / dispositivo compatível / aplicação personalizada
                         │
             ┌───────────┼───────────┐
             │           │           │
            HTTP        MQTT       REST API
             │           │           │
             └───────────┼───────────┘
                         ▼
                  IAMMETER-Docker
                         │
       ┌─────────────────┼─────────────────┐
       ▼                 ▼                 ▼
 SQLite / MySQL     Assinantes MQTT     PVOutput

Utilize apenas as interfaces necessárias para o projeto. Uma instalação simples de monitoramento local não precisa de MySQL, clientes MQTT externos ou encaminhamento de dados.

1. Antes de Ativar Recursos Avançados

Confirme que a instalação básica está estável:

  • o container do IAMMETER-Docker está em execução;
  • /app/data está mapeado para armazenamento persistente;
  • o host Docker usa um endereço LAN estável;
  • o fuso horário do site está correto;
  • pelo menos um medidor ou fonte de dados de teste está funcionando;
  • as senhas padrão foram alteradas;
  • existe um backup atual.

A implantação padrão expõe:

  • 5050 para a aplicação web e API;
  • 1883 para MQTT.

Não publique nenhuma das portas diretamente na Internet. Use um firewall, VPN ou outra camada de acesso controlado quando o acesso remoto for necessário.

2. Escolha entre SQLite ou MySQL

O IAMMETER-Docker usa SQLite para uma implantação padrão simples e suporta MySQL para instalações com um conjunto de dados maior.

Banco de Dados Melhor para Vantagens Considerações
SQLite Implantações domésticas, de teste e locais menores Sem serviço de banco de dados separado; configuração inicial fácil Banco de dados permanece vinculado ao volume da aplicação
MySQL Instalações maiores ou de longa duração Serviço de banco de dados separado e melhor adequação para conjuntos de dados crescentes Requer implantação de banco de dados, credenciais, backup e manutenção

Não migre para MySQL apenas porque está disponível. Utilize-o quando o volume de dados esperado, o período de retenção ou os requisitos de gerenciamento de banco de dados justificarem um serviço adicional.

2.1 Prepare o MySQL primeiro

Antes de selecionar MySQL no IAMMETER-Docker:

  1. implante um servidor MySQL acessível;
  2. crie um banco de dados e um usuário dedicados;
  3. restrinja esse usuário ao banco de dados necessário;
  4. confirme o acesso de rede a partir do container do IAMMETER-Docker;
  5. configure backups regulares do banco de dados;
  6. registre o host, porta, nome e credenciais do banco de dados de forma segura.

Em seguida, insira as configurações de conexão MySQL no IAMMETER-Docker e confirme que novas medições estão sendo armazenadas.

Configure o MySQL no IAMMETER-Docker

Faça backup dos dados existentes do IAMMETER-Docker antes de alterar o modo de banco de dados. Verifique os dados históricos e novos uploads após a alteração.

3. Use o IAMMETER-Docker como um Servidor de Monitoramento de Energia MQTT

O IAMMETER-Docker inclui suporte MQTT para duas direções diferentes:

  1. Publicar para o IAMMETER-Docker: um medidor ou aplicação compatível envia medições para o servidor Docker.
  2. Assinar do IAMMETER-Docker: Node-RED, um serviço personalizado ou outro cliente MQTT recebe medições em tempo real do servidor.

Esses caminhos usam o mesmo padrão de tópico, mas modos de autenticação diferentes.

3.1 Tópico MQTT

O tópico em tempo real documentado é:

device/<SN>/realtime

Substitua <SN> pelo número de série registrado no IAMMETER-Docker. O SN no tópico MQTT e na configuração do cliente deve corresponder ao medidor criado na plataforma local.

3.2 Publicar dados de energia para o IAMMETER-Docker

Para um dispositivo ou aplicação de publicação:

Configuração Valor
Broker Endereço IP ou hostname do servidor IAMMETER-Docker
Porta 1883 por padrão
Autenticação ID do Cliente
ID do Cliente SN do medidor registrado no IAMMETER-Docker
Tópico device/<SN>/realtime
Payload Formato de dados de upload suportado pelo IAMMETER

Publique dados de energia para o IAMMETER-Docker através de MQTT

Antes de usar dados de produção:

  1. registre o SN no IAMMETER-Docker;
  2. publique um payload de teste;
  3. verifique os campos de tensão, corrente, potência e energia;
  4. confirme a contagem de fases ou canais;
  5. verifique as unidades e a direção da potência ativa;
  6. só então ative a publicação contínua.

3.3 Assinar dados de energia em tempo real

Para um assinante MQTT:

Configuração Valor
Broker Endereço do servidor IAMMETER-Docker
Porta 1883 por padrão
Autenticação Nome de usuário e senha do IAMMETER-Docker
Tópico device/<SN>/realtime

Assine os dados em tempo real do IAMMETER-Docker

Os assinantes típicos incluem:

  • fluxos de automação Node-RED;
  • um serviço local de processamento de dados;
  • um cliente de depuração MQTT;
  • um gateway que encaminha medições selecionadas;
  • um painel personalizado ou serviço de alertas.

Se o Node-RED for a aplicação principal e o armazenamento histórico no IAMMETER-Docker não for necessário, o medidor também pode se conectar ao Node-RED através de MQTT, Modbus TCP ou sua API local diretamente. Compare as opções no guia do medidor de energia Node-RED.

4. Teste e Resolva Problemas do MQTT

Comece com um único medidor e tópico exato, em vez de uma assinatura ampla com curinga.

Verifique o seguinte quando nenhum dado aparecer:

  • a porta 1883 está mapeada a partir do container;
  • o cliente consegue alcançar o host Docker através da LAN;
  • o SN existe no IAMMETER-Docker;
  • o ID do cliente MQTT e o tópico usam o mesmo SN;
  • o tópico é device/<SN>/realtime com a capitalização esperada;
  • os modos de autenticação de publicação e assinatura não estão sendo confundidos;
  • o payload JSON corresponde à ordem de campos e unidades suportadas;
  • outro cliente MQTT não está desconectando a sessão reutilizando o mesmo ID de cliente.

Para fluxos confiáveis:

  • use um ID de cliente único para cada assinante;
  • lide com reconexões e mensagens duplicadas;
  • valide o payload antes de gravá-lo em um banco de dados;
  • registre o SN de origem com cada medição armazenada;
  • use isolamento de rede em vez de expor a porta MQTT não criptografada publicamente.

5. Encaminhe Dados Solares para o PVOutput

O PVOutput é um serviço de terceiros para compartilhar e comparar dados de geração solar e consumo de energia. O IAMMETER-Docker pode encaminhar dados do site para o PVOutput.

Use esta opção quando o IAMMETER-Docker permanecer como o servidor de coleta local, mas o PVOutput for necessário para relatórios solares públicos ou externos.

Antes de ativar o encaminhamento:

  1. crie ou selecione o sistema PVOutput correto;
  2. obtenha as credenciais PVOutput necessárias;
  3. confirme que os canais Grid e Inverter estão atribuídos corretamente no IAMMETER-Docker;
  4. verifique o fuso horário do site;
  5. habilite o encaminhamento apenas para o site pretendido;
  6. compare um total diário em ambos os sistemas após o primeiro dia completo.

Encaminhe dados solares do IAMMETER-Docker para o PVOutput

O encaminhamento para o PVOutput requer acesso à Internet a partir do host Docker. É separado do monitoramento local: uma falha temporária de conexão com o PVOutput não deve impedir o medidor de continuar enviando dados para o servidor local.

6. Receba Dados de um Dispositivo Tasmota Compatível

O IAMMETER-Docker inclui um fluxo de trabalho MQTT documentado para um dispositivo com capacidade de medição executando Tasmota. O exemplo original usava um Sonoff POW R2.

Este é um caminho de compatibilidade para payloads de energia suportados, não uma afirmação de que todo dispositivo ou template Tasmota produz a mesma estrutura de medição. Teste o dispositivo e firmware reais antes da implantação.

Use a seguinte estrutura MQTT do Tasmota:

Configuração Valor
Host Endereço IP do IAMMETER-Docker
Porta Porta MQTT do IAMMETER-Docker, normalmente 1883
Cliente SN registrado no IAMMETER-Docker
Usuário Deixe em branco para este fluxo de trabalho de publicação documentado
Senha Deixe em branco para este fluxo de trabalho de publicação documentado
Tópico SN registrado no IAMMETER-Docker
Tópico Completo device/%topic%/%prefix%/

Configure um medidor Tasmota compatível para o IAMMETER-Docker

Após a configuração, verifique cada valor reportado no IAMMETER-Docker, incluindo tensão, corrente, potência ativa, energia e fator de potência quando suportado pelo dispositivo.

Dados de eletricidade do Tasmota no IAMMETER-Docker

7. Use a API REST do IAMMETER-Docker

O IAMMETER-Docker expõe documentação interativa da API no servidor local:

http://<docker-host-ip>:5050/docs

A API REST pode ser usada para:

  • enviar medições suportadas a partir de um gateway personalizado;
  • consultar dados para um painel privado;
  • conectar uma aplicação local ao servidor autogerenciado;
  • testar payloads antes de automatizar uma integração.

Mantenha o acesso à API em uma rede confiável. Se um sistema externo precisar se conectar remotamente, coloque o serviço atrás de uma camada de acesso seguro apropriada, em vez de expor a porta da aplicação sem proteção.

Para desenvolvedores que estão construindo um receptor completo ou plataforma personalizada em vez de usar o IAMMETER-Docker, consulte Desenvolva Seu Próprio Sistema de Monitoramento de Energia.

8. Combine Armazenamento Local e Serviços em Nuvem

O autogerenciamento não significa que todos os serviços externos devem ser desabilitados. O IAMMETER-Docker pode ser o sistema de registro local enquanto dados selecionados são encaminhados para outros lugares.

Arquitetura Dados Locais Dependência de Internet Melhor para
Apenas local IAMMETER-Docker Não necessária após a implantação Privacidade, sites offline e painéis LAN
Local + IAMMETER-Cloud IAMMETER-Docker e IAMMETER-Cloud Necessária para encaminhamento Cópia local mais relatórios do IAMMETER-Cloud e acesso remoto
Local + PVOutput IAMMETER-Docker e PVOutput Necessária para encaminhamento Usuários solares que utilizam PVOutput
Local + assinante MQTT IAMMETER-Docker mais armazenamento definido pelo assinante Não necessária com um assinante local Node-RED, automação e processamento personalizado

Habilite apenas os destinos que servem a um propósito claro. Mais destinos criam mais credenciais, dependências de rede e caminhos de solução de problemas.

9. Lista de Verificação de Implantação Avançada

  • A coleta básica do IAMMETER-Docker já está estável.
  • Os backups de dados persistentes e do banco de dados são verificados.
  • O MySQL é usado apenas quando sua sobrecarga operacional é justificada.
  • A porta MQTT 1883 é acessível apenas a partir de redes confiáveis.
  • Cada cliente MQTT usa um ID de cliente apropriado e único.
  • O SN do medidor, tópico e dispositivo registrado correspondem.
  • As unidades de payload, contagem de fases e direção de potência foram testadas.
  • Falhas de encaminhamento para PVOutput ou nuvem não interrompem a coleta local.
  • A compatibilidade com Tasmota foi confirmada com o dispositivo e firmware reais.
  • As alterações são testadas em um medidor antes de serem aplicadas a uma implantação maior.

10. Histórico de Versões e Notas Legadas

As seções acima descrevem os fluxos de trabalho atualmente documentados do IAMMETER-Docker. A página original foi escrita por volta das versões V1.8 e V1.9; o histórico a seguir é mantido para usuários que mantêm instalações mais antigas.

V2.4

V2.3

  • Corrigido um problema de upload do PVOutput.

V2.2

  • Adicionados logs para falhas de encaminhamento do IAMMETER-Cloud.

V2.1

V1.9

  • Adicionado suporte a MySQL.
  • Adicionada opção de imagem personalizada para cada Local (Place).

IAMMETER-Docker V1.9

V1.8

  • Adicionado upload MQTT para o IAMMETER-Docker.
  • Adicionada assinatura MQTT para dados em tempo real.
  • Adicionado encaminhamento direto para PVOutput.
  • Adicionado o fluxo de trabalho documentado de medição Tasmota/Sonoff.

11. Recursos Relacionados

Última atualização: 17 de julho de 2026.

Topo