Um contador de potência para Home Assistant, do flashing à secção «Energia»

  • Testado no firmware v1.1.4
  • Primeiros passos

Escrito para o firmware v1.1.4. A versão atual é a v1.2.1, por isso alguns detalhes podem ser diferentes.

Parte 1 de 3 · Receitas de Home Assistant

Diagram: a clamp on one circuit feeds an rbAmp Basic module, which passes readings over I²C to the RBgrid ESP32 hub, which sends them via MQTT to an hourly bar chart in the Home Assistant Energy dashboard.

Este guia segue o caminho autónomo — o hub com aplicação própria, ligado ao Home Assistant através de MQTT. Há duas formas de executar o RBgrid com o Home Assistant; se o Home Assistant for a sua interface principal, leia primeiro a escolha.

O painel de energia do Home Assistant quer sensores de energia que só contam para cima. Com uma leitura de potência simples, isso costuma obrigar a um helper utility_meter ou a um template. O RBgrid guarda os contadores de energia total e diária no próprio hub, e o Home Assistant recebe-os como sensores prontos através de MQTT discovery: escolhe-os no painel de energia.

Versão curta: grave o hub (o módulo passa a ser o seu ponto Main) → aponte o hub para o seu broker MQTT e reinicie-o → em Settings → Dashboards → Energy, escolha o Energy In total do ponto. Já tem um broker? Salte para o passo 3.

Um ponto é uma medição com nome, como "Cozinha", ligada a uma pinça num canal de um módulo. O hub é a placa ESP32 que executa o RBgrid. Use a aplicação RBgrid apenas para configurar o hub (ou a sua API REST, se preferir); depois disso, o Home Assistant é onde lê os dados.

O que precisa: uma placa ESP32 com PSRAM e 16 MB de flash — um ESP32-WROVER, ou um ESP32-S3 com o módulo N16R8 — um módulo rbAmp Basic para SCT-013 (uma entrada de tensão mais um a sete canais de corrente, conforme o modelo), uma pinça SCT-013 de saída de tensão e um Home Assistant com um broker MQTT. Módulos a partir de $3.99; veja rbamp.com.

Segurança. Para qualquer trabalho dentro de um quadro elétrico, chame um eletricista qualificado. Veja as notas de segurança rbAmp.

Prenda apenas um condutor (L), nunca o cabo inteiro: as correntes em L e N anulam-se.

1. Grave o hub e meça um circuito

Use um módulo Basic com entrada de tensão (os modelos UI): mede a tensão por si, para que o hub possa calcular a potência e a energia. Um módulo só de corrente, sozinho, não consegue.

  1. Ligue o módulo ao hub e prenda a pinça em volta do condutor vivo do circuito, como em Primeiros passos. Deixe o módulo no endereço de fábrica 0x50.
  2. Grave o hub com os quatro ficheiros de versão e ligue-o ao seu Wi-Fi através da rede própria rbgrid-xxxx em 192.168.4.1. → Quick start
  3. Abra a aplicação, em webapp.rbgrid.io ou instalada no hub.
  4. Abra Points. Um hub novo já fez do primeiro canal do módulo o seu ponto Main, mais um ponto de tensão: não há nada a associar para ele.
  5. Verifique o modelo da pinça (Current sensor nas definições do ponto) e defina-o para a pinça que está realmente no fio, para que as leituras usem a escala certa.
  6. Pinças nos outros canais do módulo? Associe-as como pontos extra, com nomes que reconheça, como "Cozinha". O Home Assistant usa os nomes para os seus dispositivos.
  7. Reinicie o hub uma vez (Settings → Administration) para que os novos pontos comecem a guardar histórico.

A sua pinça tem de ser um SCT-013 de saída de tensão (1 V à corrente nominal: −005, −010, −020, −030, −050, −060 ou −100). O SCT-013-000 de saída de corrente não é suportado. Não sabe qual tem? Veja Qual SCT-013 tem?

Vai ver que funciona quando o ponto mostrar potência em tempo real que sobe em poucos segundos ao ligar uma carga conhecida, como uma chaleira. O Home Assistant só consegue mostrar o que o hub mede.

2. Tenha um broker MQTT no Home Assistant

O hub precisa de um endereço de broker, uma porta, um nome de utilizador e uma palavra-passe. Se ainda não tem um broker, o caminho habitual no Home Assistant OS é o add-on Mosquitto broker mais a integração MQTT:

  1. Settings → Add-ons → Add-on store → Mosquitto broker → Install, depois Start.
  2. Settings → Devices & services: o Home Assistant encontra o broker sozinho. Escolha Configure e Submit (ou Add integration → MQTT).
  3. Crie um utilizador para o hub: Settings → People → Users → Add user. O separador Users só aparece com o Advanced mode ativo no seu perfil. O add-on Mosquitto verifica os clientes MQTT contra os utilizadores do Home Assistant.

Em Home Assistant Container ou Core não há add-ons: execute um broker MQTT qualquer (por exemplo, a imagem Docker eclipse-mosquitto), crie o utilizador com mosquitto_passwd e depois adicione a integração MQTT à mão: Settings → Devices & services → Add integration → MQTT, com o endereço do broker, a porta 1883, o nome de utilizador e a palavra-passe.

Vai precisar do endereço do broker, da porta, do nome de utilizador e da palavra-passe no passo seguinte.

3. Aponte o hub para o broker

Na aplicação RBgrid, abra Settings → Home Assistant. Enquanto não introduzir um broker, o MQTT está desligado e o painel indica-o.

No formulário MQTT broker, preencha:

  • Broker address: o IP ou o nome de host do seu broker (com o add-on Mosquitto, é o endereço da máquina do Home Assistant)
  • Port: 1883
  • Login e Password: o utilizador que criou

Guarde e depois carregue em Restart now: o hub liga-se ao novo broker depois de reiniciar.

Não há um interruptor de discovery para encontrar: o hub publica sempre o discovery do Home Assistant quando está ligado a um broker. Também escolhe o seu próprio ID de cliente.

A ligação ao broker não é cifrada, por isso mantenha o broker na sua rede local, com os seus próprios utilizadores. Tudo sobre tópicos, canal de comandos e segurança do broker está em MQTT broker.

4. O que aparece no Home Assistant

Depois do reinício, o Home Assistant adiciona os dispositivos do hub sozinho. Procure RBGrid na lista de dispositivos ou em qualquer seletor de entidades.

Dispositivo O que contém
RBGrid System Net Power, Frequency e alguns outros sensores que este guia não usa
RBGrid Voltage Bus Bus Voltage
RBGrid Main o ponto de entrada (chamado sempre "Main")
RBGrid + o nome do seu ponto (por exemplo RBGrid Cozinha) as leituras desse ponto

Cada dispositivo de ponto tem Current, Power, Reactive Power e Power Factor, além de Energy In e Energy Out. Ambos os sensores de energia são contadores totais em Wh (device_class: energy, state_class: total_increasing). As suas versões (Day) recomeçam à meia-noite local. Um ponto sem nome aparece com o seu ID de quatro caracteres.

Com que frequência atualizam: potência, corrente e tensão a cada 3 segundos. Nos módulos que contam a energia no próprio módulo, os contadores de energia avançam uma vez por período de 15 minutos, por isso um Energy In parado durante alguns minutos é normal.

Se o broker ou o Wi-Fi caírem: o hub continua a medir e mantém o seu histórico; os valores em tempo real não são guardados em buffer nem reenviados. O Home Assistant marca os sensores como indisponíveis cerca de 30 segundos depois de o hub deixar de enviar. Quando o hub volta a ligar-se, os contadores totais incluem a energia de toda a interrupção, por isso os totais não têm lacunas; o Home Assistant põe essa energia na hora em que os dados retomaram.

Mudar o nome de um ponto altera o nome do dispositivo no Home Assistant, não os seus IDs de entidade: esses vêm do ID fixo do ponto.

Se não aparecer nada: verifique o endereço, o utilizador e a palavra-passe do broker no hub, confirme que carregou em Restart now e que a integração MQTT está configurada no Home Assistant. O tópico de estado MQTT do hub (rbgrid/<mac>/status) mostra online enquanto estiver ligado. → MQTT broker

5. Adicione-os ao painel de energia

No Home Assistant, abra Settings → Dashboards → Energy e escolha os contadores totais, não os (Day):

No painel de energia Escolha
Grid consumption o Energy In do seu contador de fornecimento (ver abaixo)
Return to grid o Energy Out do seu contador de fornecimento
Individual devices o Energy In de cada ponto de circuito, incluindo Main nesta configuração de um módulo

Estes são contadores de energia que só sobem, em Wh, por isso o Energy dashboard aceita-os diretamente e converte a unidade sozinho: sem utility_meter, sem template.

A primeira barra aparece dentro de uma a duas horas: os contadores de energia avançam em passos de 15 minutos, e o Home Assistant constrói as suas estatísticas de hora a hora. A potência mostra-se em tempo real logo.

Para todo o fornecimento, use um contador STD (um STD-UI1 para monofásico, um STD-U3I3 para trifásico): um contador de energia de precisão para medição exata do fornecimento, que conta a energia no próprio módulo, nos dois sentidos. Com um STD em 0x50, passa a ser Main e o seu Energy In e Energy Out vão para Grid consumption e Return to grid; adicione o módulo Basic para os circuitos. → Monitorizar um apartamento: o fornecimento, cinco circuitos e uma tarifa de dia/noite

Um módulo dá-lhe de um a sete circuitos com pinça, conforme o modelo; um hub aceita até oito módulos. → Sensores e módulos

6. Onde encaixa a sua tarifa

A sua tarifa, e o custo de cada circuito à tarifa, estão na aplicação RBgrid. Configurar a sua própria tarifa é o próximo guia desta série.

O que isto não faz

  • Não há entidades por fase: com um contador trifásico, as leituras por fase estão na aplicação RBgrid, e o Home Assistant recebe os totais. → Cenário: um contador principal
  • O RBgrid mede; não liga nem controla nada. Se automatizar uma carga no Home Assistant, é o Home Assistant que atua.

Próximo