Sorry, your browser does not suporte JavaScript!
Entrar

Monitoramento de Energia Auto-hospedado com Docker

Monitoramento de Energia Auto-hospedado com Docker

Um sistema de monitoramento de energia auto-hospedado mantém o servidor de monitoramento e os dados de eletricidade sob seu controle. Em vez de enviar cada leitura para uma nuvem pública, o medidor de energia envia dados para um contêiner Docker executado em um servidor local, NAS, Raspberry Pi ou roteador compatível.

IAMMETER-Docker fornece um servidor de monitoramento de energia local pronto para uso para sistemas de consumo de eletricidade e energia solar fotovoltaica. Ele pode coletar medições, exibir dados em tempo real e históricos, expor APIs e opcionalmente operar como um datalogger offline.

Medidor de energia IAMMETER
        │
        │ Wi-Fi / rede local
        ▼
IAMMETER-Docker
        │
        ├── Painel web local
        ├── Dados históricos de energia
        ├── REST API
        ├── MQTT
        ├── Datalogger CSV
        └── Encaminhamento opcional

IAMMETER-Docker é uma opção prática auto-hospedada, mas não reproduz todos os recursos e relatórios do IAMMETER-Cloud. Se você ainda está escolhendo uma arquitetura, compare as opções na página de soluções de monitoramento de energia auto-hospedado.

🎬 Assista ao tutorial em vídeo do IAMMETER-Docker

1. Quando Usar um Sistema de Monitoramento de Energia Auto-hospedado?

O IAMMETER-Docker é adequado quando você deseja:

  • manter os dados de energia em um servidor que você gerencia;
  • monitorar a eletricidade em uma LAN sem depender de acesso à Internet;
  • implantar um painel de monitoramento solar local;
  • coletar dados em um local remoto usando um datalogger offline;
  • acessar medições através de uma REST API ou MQTT local;
  • encaminhar dados selecionados para outra plataforma;
  • construir um painel privado ou integração em torno dos dados de energia armazenados.

Instalações típicas incluem:

  • monitoramento de eletricidade residencial e energia solar fotovoltaica;
  • oficinas, escritórios e pequenos estabelecimentos comerciais;
  • sistemas solares remotos e salas de equipamentos;
  • ambientes de desenvolvimento e teste;
  • projetos onde um caminho de dados local é necessário.

Se você precisa apenas de leituras diretas do medidor para Home Assistant, Node-RED, um CLP ou software personalizado, implantar um servidor completo pode ser desnecessário. Consulte opções de integração local e auto-hospedada antes de escolher.

2. O Que Você Precisa

Antes da implantação, prepare:

  • um dispositivo que possa executar Docker, como um servidor Linux, NAS, Raspberry Pi ou roteador compatível;
  • armazenamento persistente para o banco de dados da aplicação;
  • porta TCP 5050 disponível para a aplicação web e API;
  • porta TCP 1883 se o serviço MQTT integrado for utilizado;
  • um endereço IP estável ou reserva DHCP para o host Docker;
  • um medidor de energia IAMMETER, ou outra fonte de dados que possa enviar no formato de API suportado.

O host Docker e o medidor devem conseguir se comunicar entre si através da rede local. Para operação offline, o acesso à Internet não é necessário após a instalação da imagem e do software necessário.

3. Implantar o IAMMETER-Docker

A versão atual no Docker Hub é IAMMETER-Docker V2.4.

3.1 Opção A: Docker run

Crie um diretório de trabalho e execute o contêiner com armazenamento persistente:

docker run -d \
  --name myiammeter \
  --restart always \
  -p 5050:5050 \
  -p 1883:1883 \
  -e TZ=Etc/UTC \
  -v "$PWD/data:/app/data" \
  iammeter/iammeter

Altere TZ=Etc/UTC para o fuso horário correto do local de monitoramento. Os relatórios de energia dependem da data e hora local, portanto, configure isso antes de coletar dados de produção.

3.2 Opção B: Docker Compose

Crie compose.yaml:

services:
  iammeter:
    image: iammeter/iammeter
    container_name: myiammeter
    restart: always
    ports:
      - "5050:5050"
      - "1883:1883"
    environment:
      TZ: Etc/UTC
    volumes:
      - ./data:/app/data

Inicie o serviço:

docker compose up -d

Verifique seu status:

docker compose ps
docker compose logs --tail=100 iammeter

3.3 Abrir o painel local

Abra o seguinte endereço a partir de um navegador na mesma rede:

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

Credenciais padrão:

Usuário: testuser
Senha: 123456

Altere a senha padrão imediatamente. Não exponha a porta 5050 ou 1883 diretamente à Internet pública sem um firewall apropriado, autenticação e design de rede seguro.

Login do IAMMETER-Docker

4. Configuração Inicial

Após fazer login:

  1. Crie um Local para a casa, local solar ou instalação monitorada.
  2. Adicione um Medidor.
  3. Insira o número de série (SN) do medidor.
  4. Selecione o tipo de medidor monofásico ou trifásico correto.
  5. Atribua cada fase ou canal como Rede, Inversor ou Carga.
  6. Confirme o fuso horário do local e a estrutura de medição antes de avaliar os relatórios.

Configurar um medidor no IAMMETER-Docker

A atribuição correta dos canais é especialmente importante para o monitoramento solar. O sistema precisa saber qual medição representa a rede, o inversor ou a carga antes de poder exibir resultados significativos de fluxo de energia.

5. Conectar um Medidor de Energia IAMMETER

Os medidores IAMMETER podem enviar dados diretamente para o servidor Docker local.

Na interface web do medidor, configure o envio HTTP de terceiros e use o endereço do host Docker:

<docker-host-ip>:5050/api/v1/sensor/uploadsensor

O IP do host Docker deve ser acessível a partir da rede Wi-Fi do medidor. Use o mesmo SN do medidor que foi adicionado ao IAMMETER-Docker.

Configurar envio HTTP para IAMMETER-Docker

Após salvar a configuração do medidor:

  1. aguarde o primeiro envio;
  2. confirme que o medidor aparece online no IAMMETER-Docker;
  3. compare os valores de tensão, potência e energia com os dados locais do medidor;
  4. verifique a direção e a atribuição dos canais antes de confiar nos cálculos solares ou de importação/exportação.

Usar o IAMMETER-Cloud ao mesmo tempo

O IAMMETER-Docker pode opcionalmente encaminhar dados do medidor para o IAMMETER-Cloud. Habilite o encaminhamento apenas quando desejar armazenamento local e serviços do IAMMETER-Cloud simultaneamente.

Encaminhar dados locais para IAMMETER-Cloud

Para uma instalação offline ou independente de nuvem, deixe o encaminhamento para a nuvem desabilitado.

6. Enviar Dados de Outro Dispositivo ou Aplicação

O IAMMETER-Docker também pode receber dados de energia suportados através de sua REST API. Isso é útil para simuladores, gateways ou aplicações personalizadas que não utilizam um medidor IAMMETER.

Crie um medidor com um SN personalizado e use esse mesmo SN em cada requisição à API.

A documentação interativa da API está disponível no servidor local:

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

Documentação da API do IAMMETER-Docker

Testar uma requisição à API do IAMMETER-Docker

Teste a API em um medidor não produtivo primeiro. Mantenha o SN, a contagem de fases, a ordem dos campos e as unidades consistentes para que os dados históricos permaneçam utilizáveis.

7. Executar um Datalogger de Energia Offline

O IAMMETER-Docker V2.4 pode salvar dados em CSV quando um diretório de datalogger é montado. Isso é útil para um local solar remoto, fábrica ou sala de equipamentos sem conexão confiável à Internet.

Docker run com armazenamento de datalogger

docker run -d \
  --name myiammeter \
  --restart always \
  -p 5050:5050 \
  -p 1883:1883 \
  -e TZ=Etc/UTC \
  -v "$PWD/data:/app/data" \
  -v "$PWD/datalogger:/app/datalogger" \
  iammeter/iammeter

Para Docker Compose, adicione este volume:

volumes:
  - ./data:/app/data
  - ./datalogger:/app/datalogger

Abra a página do datalogger em:

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

A página do datalogger usa inicialmente:

Usuário: admin
Senha: admin

Altere esta senha como parte da implantação. Para o fluxo completo baseado em roteador e exportação CSV, consulte Datalogger de Energia Offline com IAMMETER-Docker.

8. MQTT e Outros Recursos Avançados

A porta 1883 é usada pelo serviço MQTT do IAMMETER-Docker. Um medidor ou outra aplicação pode publicar dados de medição suportados para o IAMMETER-Docker, e clientes MQTT podem assinar valores em tempo real.

O IAMMETER-Docker também suporta recursos como:

  • MySQL em vez do banco de dados local padrão para conjuntos de dados maiores;
  • publicação e assinatura MQTT;
  • encaminhamento PVOutput;
  • dados de energia Tasmota compatíveis;
  • alarmes em tempo real e cenários de datalogger de um segundo.

Estes recursos são intencionalmente mantidos fora do caminho básico de implantação. Configure e teste o contêiner principal primeiro, depois continue com o guia avançado do IAMMETER-Docker.

9. Fazer Backup dos Seus Dados de Energia

O volume /app/data contém dados persistentes da aplicação. Faça backup do diretório host correspondente regularmente.

Um processo básico seguro é:

  1. pare ou pause as gravações no contêiner;
  2. copie o diretório data montado completo para o armazenamento de backup;
  3. inclua o diretório datalogger quando o registro em CSV estiver habilitado;
  4. mantenha mais de uma geração de backup;
  5. teste a restauração em um contêiner separado antes de depender do plano de backup.

Não trate o sistema de arquivos do contêiner como armazenamento permanente. Se /app/data não estiver montado, a remoção do contêiner pode remover o banco de dados de monitoramento junto.

10. Atualizar o IAMMETER-Docker

Antes de atualizar, faça backup do diretório de dados persistentes.

Para Docker Compose:

docker compose pull
docker compose up -d
docker compose logs --tail=100 iammeter

Para um contêiner criado com docker run:

  1. registre as portas existentes, fuso horário e montagens de volume;
  2. baixe a nova imagem;
  3. pare e remova o contêiner antigo;
  4. crie o contêiner novamente com o mesmo volume persistente;
  5. verifique login, status do medidor e dados históricos.
docker pull iammeter/iammeter
docker stop myiammeter
docker rm myiammeter

Em seguida, repita o comando docker run original. Remover um contêiner é seguro apenas quando os dados da aplicação foram armazenados em um diretório host corretamente montado e com backup.

11. Solução de Problemas

A página web não abre

  • Confirme que o contêiner está em execução com docker ps ou docker compose ps.
  • Verifique se a porta 5050 do host já está em uso.
  • Revise os logs do contêiner.
  • Confirme que o firewall permite o acesso da rede local.

O medidor não aparece online

  • Confirme que o medidor consegue alcançar o IP do host Docker.
  • Verifique a URL e a porta de envio.
  • Confirme que o SN no IAMMETER-Docker corresponde ao SN do medidor.
  • Evite usar localhost como endereço do servidor no medidor; ele se refere ao próprio medidor, não ao host Docker.
  • Confirme que o isolamento de cliente ou uma rede Wi-Fi para convidados não está bloqueando o tráfego LAN.

Os dados solares parecem incorretos

  • Verifique a direção do CT e a fiação.
  • Confirme qual canal está atribuído à Rede e qual está atribuído ao Inversor.
  • Verifique o sinal da potência ativa durante importação e exportação.
  • Confirme o fuso horário antes de comparar totais diários de energia.

Os dados desaparecem após recriar o contêiner

  • Confirme que /app/data foi montado em um diretório host persistente.
  • Verifique as permissões do diretório.
  • Restaure o backup verificado mais recente se o volume original não estiver disponível.

12. IAMMETER-Docker, IAMMETER-Cloud ou um Sistema Personalizado?

Opção Melhor para Local dos dados Esforço de configuração Principal compensação
IAMMETER-Docker Um servidor de monitoramento local pronto Seu host Docker Baixo a médio Menos recursos gerenciados na nuvem
IAMMETER-Cloud Monitoramento, relatórios e acesso remoto prontos IAMMETER-Cloud Baixo Usa um serviço de nuvem hospedado
Home Assistant / Node-RED Entidades smart home e automação personalizada Sua própria plataforma Médio Você projeta o painel e os fluxos de trabalho
Servidor personalizado Um produto, EMS ou pipeline de dados especializado Sua infraestrutura Alto Você desenvolve e mantém o sistema

Continue com:

13. Lista de Verificação de Implantação

  • O host Docker tem um endereço LAN estável.
  • /app/data está montado em armazenamento persistente.
  • O fuso horário corresponde ao local de monitoramento.
  • As senhas padrão foram alteradas.
  • As portas 5050 e 1883 não estão expostas desnecessariamente à Internet.
  • O SN do medidor e as atribuições de canal estão corretos.
  • O envio local foi verificado com medições ao vivo.
  • O encaminhamento para a nuvem está habilitado apenas quando necessário.
  • Os procedimentos de backup e atualização foram testados.
  • O volume do datalogger está montado se a exportação CSV for necessária.

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

Topo