Decidiu medir os seus próprios circuitos e acompanhá-los no Home Assistant. As pinças são baratas, passam à volta de um fio sem lhe tocar, e não faltam pessoas que já o fizeram.
O que quase ninguém lhe diz logo à partida é que existem duas formas diferentes de executar isto. No painel de energia ficam com um aspeto muito parecido. Por dentro, não são a mesma coisa — e passar de uma para a outra mais tarde significa começar o seu histórico do zero.
Por isso, este artigo trata da escolha, não da ligação elétrica. As duas rotas executam o mesmo núcleo de medição no seu próprio ESP32 e medem da mesma forma. O que muda é onde se configura, com o que o dispositivo pode comunicar e o que chega ao Home Assistant.
Faça a escolha antes de começar a recolher histórico
A passagem de uma rota para a outra é uma regravação por USB com a outra imagem. Não é oferecida como atualização over-the-air em nenhum dos sentidos, ninguém migra nada por si, e o instalador para navegador oferece um apagamento total quando instala de raiz.
⚠️ Escolha a rota antes de começar a recolher histórico. Mudar mais tarde significa regravar por USB, introduzir de novo os seus pontos, módulos, plano tarifário e janelas, e começar o histórico registado do zero. Na rota autónoma, exporte primeiro o que tem em CSV se quiser guardá-lo.
Esse é todo o conselho sobre migração, e está aqui e não no fim do artigo porque só é útil antes da decisão. Os dois sentidos são um início do zero; nenhum é o barato.
O que é igual nas duas formas
A maior parte do que está a comprar não depende da rota:
- A medição. O mesmo núcleo de medição, as mesmas pinças, os mesmos períodos de 15 minutos fechados no dispositivo.
- Preços de mercado. O hub obtém ele próprio o preço do dia seguinte para a sua zona, aplica o seu contrato — zonas, taxas, impostos, IVA — e valoriza cada período de 15 minutos com o preço desse período.
- Janelas baratas. Regras para «abaixo de um nível», «os períodos mais baratos num intervalo» e «o mais barato antes de uma hora», avaliadas no dispositivo.
- Picos de importação. A importação mais alta de 15 minutos e a mais alta por hora, na entrada da rede, por ciclo de faturação.
- Nós remotos. Os nós ESP-NOW são o mesmo dispositivo e o mesmo firmware nas duas rotas.
- O registo pertence ao dispositivo. As horas são fechadas e valorizadas no hub, por isso o que o Home Assistant estiver a fazer — reiniciar, atualizar, desligado — não altera o que foi medido.
- Nenhuma cloud no caminho. Nenhuma das rotas precisa de uma conta em lado nenhum, que é a parte que as pessoas mais perguntam e menos vezes recebem resposta:
"Também, parece que nenhum deles é local, o que é uma chatice enorme." — ncd, tópico 607039 do fórum do Home Assistant
O que muda
| A aplicação própria do hub | Dentro do Home Assistant | |
|---|---|---|
| Onde se configura | a aplicação web do hub, no endereço do próprio hub | o painel RBgrid no Home Assistant |
| Aplicação web | sim | não |
| Como o Home Assistant o vê | descoberta MQTT | a API nativa do ESPHome |
| Um broker para executar | sim, se quiser o Home Assistant | nenhum |
| MQTT, REST, WebSocket | sim | não — o ESPHome gere o lado da rede |
| Preços de mercado, plano, zonas | sim | sim |
| Janelas baratas | estado publicado em MQTT | um evento do Home Assistant para as suas automatizações |
| Picos de importação | na aplicação | mostrados no separador Prices do painel, só de leitura; o dia do ciclo de faturação é definido por uma ação, não por um formulário |
| Nós ESP-NOW remotos | na aplicação | emparelhados e listados no separador Network do painel |
| Histórico horário para as estatísticas do Home Assistant | não — apenas totais em tempo real | sim, até 30 dias na configuração, depois hora a hora |
| Cópia de segurança da configuração e exportação CSV como ficheiros | sim | não |
| Atribuição de preço apresentada para si | a página Prices da aplicação | o painel apresenta-a |
Duas linhas dessa tabela merecem ser lidas duas vezes.
O broker. Se executar o hub na sua rota própria e o quiser no Home Assistant, precisa de um broker MQTT — é assim que os dois se encontram. Um hub usado apenas pela sua aplicação web não precisa de nenhum. Na rota do Home Assistant não há broker algum, porque é o protocolo nativo do ESPHome que faz a comunicação.
A importação do histórico. Esta é a única assimetria real — e é uma adição, não uma substituição. O Home Assistant mantém as suas próprias estatísticas horárias nas duas rotas, a partir dos valores em tempo real que recebe; essa parte não muda. O que a rota ESPHome acrescenta é um segundo conjunto de linhas: a integração escreve o registo horário do próprio hub nas estatísticas de longo prazo, ao lado das outras, e a primeira importação recua no tempo, de modo que até 30 dias do que o hub já tinha registado chegam de uma só vez — se o hub já estava a funcionar antes de configurar a integração. Essas linhas não duplicam nada no seu painel até as escolher como origem. Na rota MQTT não existe segunda cópia; as estatísticas do Home Assistant são as que ele próprio calculou, como sempre. Em qualquer dos casos, nada se perde no hub.
Se o Home Assistant já é a sua interface
Grave a imagem ESPHome, adote o dispositivo, e o painel RBgrid no Home Assistant passa a ser o sítio onde configura tudo: pontos, módulos, o plano tarifário, as janelas. Não há uma segunda aplicação para manter nem um broker para executar.
Lá chegar tem duas formas, e ambas são normais: gravar a imagem pronta de fábrica para a sua placa a partir de um navegador e adotar o dispositivo como faria com qualquer outro dispositivo ESPHome; ou, se já mantém os seus dispositivos ESPHome em YAML, adicionar o componente como fonte externa e incorporá-lo na sua própria configuração. As atualizações seguintes são as habituais do ESPHome: instala-as a partir do painel do ESPHome, e uma imagem que falhe volta à anterior. Os passos exatos, incluindo a única exportação que produz uma placa que não arranca, estão na página da rota ESPHome.
Concretamente, nesta rota:
- Os picos estão no separador Prices do painel, num cartão Import peaks (capacity tariff): o dia em que começa o ciclo de faturação, a média mais alta de 15 minutos, a hora mais alta. Lê-os ali; para mudar o dia do ciclo, chama a ação da integração a partir de uma automatização ou das Developer tools.
- Os nós estão no separador Network do painel: emparelhamento, a lista, o estado de cada nó, o sinal, o firmware e as entradas que transporta. Um nó que desapareça aparece como offline, é contado no cartão Overview, fica registado no log do hub no separador Events, e é lançado como evento do Home Assistant — para que uma automatização o possa avisar.
- Os preços vêm com a fonte creditada no painel, como os termos do fornecedor exigem.
O que abdica é a lista da tabela: sem aplicação web, sem MQTT, sem REST, sem WebSocket, e sem cópia de segurança da configuração nem CSV que possa guardar como ficheiro.
Esse último ponto é mais estreito do que parece, e convém não o ler mal: os períodos de preço de 15 minutos continuam lá. O separador Prices do painel apresenta cada período que o hub guarda — hoje e amanhã — com a origem de cada um quando há mais de uma fonte em jogo, e uma ação devolve o mesmo em JSON, para que uma automatização o possa entregar a quem quiser. O que falta é um ficheiro, não os dados.
Se quer que o hub funcione sozinho
O hub serve a sua própria aplicação web no seu próprio endereço. As tarifas, os pontos, o histórico e os preços são definidos lá, e ele não precisa do Home Assistant para ser útil — o que importa se o Home Assistant for um dos vários sítios onde olha, ou se preferir que o contador não dependa dele de todo.
A partir daí, o Home Assistant é opcional: execute um broker, aponte o hub para ele, e os pontos chegam por descoberta MQTT. Há também REST e um WebSocket, para um painel próprio ou para qualquer coisa que fale HTTP. E tanto uma cópia de segurança da configuração como uma exportação CSV existem como ficheiros que pode guardar noutro lado.
Se esta for a sua rota, o passo a passo desde a gravação até ao painel de energia está descrito em separado: Um contador de energia para o Home Assistant, da gravação ao painel de energia.
Custo por circuito: o que o Home Assistant não consegue fazer sozinho
É a parte que faz as pessoas andar às voltas, e vale a pena percebê-la antes de escolher, porque é igual nas duas rotas.
O painel de energia do Home Assistant calcula de bom grado o custo da casa inteira. Não lhe diz quanto custou a bomba de calor, porque ali o custo pertence a uma fonte de rede, não a um equipamento. A solução a que as pessoas recorrem é declarar cada aparelho como uma fonte de eletricidade própria, o que produz um número e também é claramente errado:
"Adiciono um dispositivo individual como fonte de eletricidade só para ver os custos de funcionamento. O que é bastante estúpido." — degreal, tópico 334932
Esse tópico está aberto desde 2021. A outra metade do problema é a própria tarifa: zonas, taxas fixas e IVA acabam em sensores template e helpers utility_meter, e são frágeis de uma forma difícil de depurar, porque nada dá erro — o número simplesmente está errado:
"Não, continua a contar em 'peak' independentemente do que ponho em offpeak." — um utilizador no tópico 313300
"Foi mesmo difícil com isto — é muito simples, mas há algumas armadilhas que convém conhecer." — steve_jo, tópico 484105
O que muda quando a tarifa vive no contador é que a aritmética deixa de ser sua para montar. O plano — zonas por hora, taxas, impostos, IVA — é configurado uma vez no dispositivo, e cada ponto tem o custo calculado separadamente, em tempo real e hora a hora, com a energia exportada valorizada ao seu próprio preço.
⚠️ Mas seja claro quanto a onde esse dinheiro aparece, porque não está dentro do painel de energia. O Home Assistant não tem um campo de custo para um equipamento individual — essa é a lacuna, e nenhuma integração a consegue preencher a partir do exterior. O que obtém é o valor em três sítios que pode usar: uma entidade de custo por ponto, em tempo real, para pôr em qualquer cartão; o custo horário por ponto nas estatísticas de longo prazo, para um cartão de estatísticas; e as tabelas Points e History do próprio painel. O painel de energia continua a mostrar os seus pontos como dispositivos com a energia. Por isso, o dinheiro por circuito lê-se ao lado do painel de energia, não dentro dele — que é a forma honesta, e melhor do que a solução alternativa, mas não é a coluna do painel que possa estar a imaginar. Nenhum sensor template está no caminho, o que elimina uma classe de problemas e não todos: os limites das zonas e o IVA são aplicados onde a energia é medida, e não reconstruídos a jusante.
⚠️ Um limite honesto. O que chega às estatísticas do Home Assistant é horário, porque esse é o período mais curto que o Home Assistant guarda. Os períodos de 15 minutos ficam no hub, onde o registo do preço aplicado os guarda em CSV. Se o seu contrato se move em períodos de 15 minutos, o dispositivo é o sítio onde essa resolução existe — o Home Assistant mostrar-lhe-á horas dela.
Três perguntas que decidem
- O Home Assistant é onde vê tudo, ou um de vários sítios? Se tudo já vive lá, a rota ESPHome elimina uma aplicação e um broker. Se for um de vários, o hub autónomo mantém a sua própria porta de entrada.
- Quer um sítio onde olhar quando o Home Assistant estiver em baixo? A medição continua independentemente, nas duas rotas. Mas na rota ESPHome o painel é parte do Home Assistant, por isso, enquanto ele estiver em baixo, não tem onde abrir.
- As suas próprias ferramentas precisam de MQTT, REST ou WebSocket? Se sim, a escolha já está feita por si: estes existem apenas na rota autónoma.
Se, depois disso, continuar empatado, escolha o hub autónomo — não porque possa sair com o seu histórico, porque não pode: nada se move em nenhum dos sentidos, e isso é verdade para as duas rotas. Escolha-o porque os seus dados saem em ficheiros. Uma exportação CSV e uma cópia de segurança da configuração são coisas que pode guardar noutro lado, e no dia em que mudar de ideias essa é a diferença entre recomeçar o registo com o antigo na mão ou recomeçá-lo sem ele.
O que isto não faz
- Nenhuma das rotas liga nem desliga seja o que for. O hub mede e valoriza; o que fazer numa janela barata é decisão da sua automatização, não do contador.
- Nenhuma das rotas dá ao Home Assistant resolução de 15 minutos. Os períodos são do dispositivo; o Home Assistant guarda horas.
- Nenhum histórico passa entre as rotas. Uma mudança é uma regravação e um início do zero, nos dois sentidos.
- A rota não altera a forma como o dispositivo mede. Mesmo núcleo, mesmas pinças, mesmos períodos — só o envolvente é diferente.
Onde ler mais
- Qual das duas quer — a mesma escolha, em dois cartões, com as ligações para fora.
- Executar dentro do Home Assistant — a rota ESPHome, incluindo o que o painel faz.
- Preços de mercado — como o preço do dia seguinte e o seu contrato se transformam num custo por período.
- Import peaks e Remote nodes — as duas funcionalidades que funcionam nas duas rotas e aparecem de forma diferente.
- History and record quality — o que o hub guarda, e como marca uma hora que não conseguiu concluir.
- Um contador de energia para o Home Assistant — a rota autónoma, passo a passo.
- O hardware — hub, módulos e pinças.