O Home Assistant fica parado vinte minutos — uma atualização, um reinício, um corte de energia. Volta, e o painel de energia tem ou uma lacuna onde esteve a noite, ou um pico na hora em que voltou que ninguém consumiu.
A forma é tão familiar que as pessoas a reconhecem numa linha:
"É simplesmente somar toda a energia que perdeu à hora em que o sistema voltou a ser ligado." — anon11644107, tópico 965144 do fórum do Home Assistant
E a outra forma, quando é um dispositivo que reinicia:
"Isto faz com que os nossos Shelly 3EMs reiniciem e depois o HA regista um pico enorme de 1000's de kWh consumidos." — msa, tópico 479362
Porque acontece, e porque não é a sua configuração
Dois mecanismos, ambos comuns.
O contador recupera tudo de uma vez. O seu contador continuou a contar enquanto o Home Assistant não estava a ouvir. Quando volta e lê o contador outra vez, toda a diferença chega numa só leitura — e cai na hora do reinício, porque é quando ficou registada. A energia é real. A hora não.
Ou o contador volta atrás. Um dispositivo que perde a alimentação pode voltar a zero. Um sensor acumulado lê isso como uma reposição do contador, e o que se segue é ou um total que desaparece ou um total inventado:
"Isto faz com que a sua energia passe de 4445 kWh para 0kWh" — anon11644107, tópico 386521
"sempre que o sensor caía e voltava, o seu valor era somado ao utility meter" — TimoVerbrugghe, tópico 1010856
Nenhuma das duas é um erro na sua configuração, e é exatamente por isso que custa tantas noites — está a procurar uma avaria num sítio onde não existe. O Home Assistant guarda a energia como estatísticas de longo prazo por hora, e um contador acumulado que reinicia não encaixa bem nesse modelo. As duas metades são razoáveis por si só.
Corrigir à mão funciona, mas não fica
A resposta que as pessoas partilham é Developer Tools → Statistics, onde pode corrigir uma linha, ou editar diretamente a tabela de estatísticas. Funciona de facto — dentro dos seus limites: pode ajustar uma hora que está errada, mas não pode criar horas que nunca foram registadas. E não escala para o tamanho de uma lacuna real:
"Tenho uma lacuna de 2 dias nas minhas estatísticas de energia porque o meu inversor esteve offline." — ConfusedTA, tópico 803010
"Isto já foi levantado muitas vezes e eu também me deparei com isso, sem conseguir encontrar uma solução fácil." — VaReTaS, tópico 803010
"Gostava que isto ficasse normalizado de alguma forma. Mas nem consigo perceber por onde começar." — 104mapo, tópico 965144
Dois dias são cerca de cinquenta linhas. Três semanas são perto de quinhentas. E a correção ataca o sintoma, não a causa, por isso o próximo reinício volta a começar o trabalho.
O que muda quando o registo fica no contador
A lacuna existe porque a única cópia do registo estava no Home Assistant, e o Home Assistant não estava a correr.
Um hub RBgrid mantém o seu próprio livro: mede, fecha cada período de 15 minutos, valoriza-o com o preço (price) em vigor naquele momento, e escreve o resultado na sua memória flash. Nada disto depende de o Home Assistant estar ligado. Quando é o hub que faz o registo, um reinício do Home Assistant é uma interrupção na visualização, não na medição.
Cada hora guardada traz também a sua própria nota de qualidade, para que um registo invulgar o indique em vez de parecer normal. Uma hora que absorveu energia de uma interrupção na medição fica marcada como cobrindo um corte, e a página History mostra essa nota ao lado do valor — o número não é apresentado discretamente como se nada tivesse acontecido.
Isto é sobre o registo do hub, não sobre o do Home Assistant. Nada aqui muda o que o Home Assistant guarda nem a forma como o guarda. A secção seguinte é sobre a parte que chega ao Home Assistant.
A importação horária, e a definição que decide o que vê
A integração RBgrid pertence a uma das duas formas de executar o hub: o hub gravado como dispositivo ESPHome. Se o seu usa o firmware autónomo e comunica com o Home Assistant por MQTT, não há importação para ativar, e passar de uma forma para a outra é uma nova gravação do firmware, não uma definição — por isso isto escolhe-se no início, não se muda depois.
Nessa rota, o livro do hub não fica só no hub. Em cada hora, a integração pede-o e escreve-o nas estatísticas de longo prazo do próprio Home Assistant, como um segundo conjunto de linhas, ao lado das que o Home Assistant já guarda para os seus sensores em tempo real — uma linha por hora, com a energia e o custo que o hub registou para essa hora, não para a hora em que a leitura chegou. Continua de onde ficou, por isso uma pausa de dias é preenchida hora a hora, em vez de cair num único bloco. A primeira importação, que ainda não tem onde continuar, recua no tempo: até 30 dias do livro horário do hub entram nas estatísticas numa única passagem. Vêm com dois limites, e ambos pesam mais do que o número: as horas em que o hub esteve sem alimentação não estão no seu livro, por isso nada as pode preencher; e a importação acrescenta as suas próprias linhas sem tocar nas que já tem.
A importação corre sozinha, uma vez por hora. O botão Import into HA statistics no separador History do painel executa essa mesma passagem imediatamente — é um único mecanismo com um disparo manual, não dois. Nos seletores do próprio Home Assistant — as definições de origem do painel de energia, um cartão de estatísticas — as linhas aparecem com nomes como RBgrid Hub Main energy in e … cost. Uma hora importada pode surgir com a energia e sem o custo, e ganhar o custo numa passagem posterior; isso acontece porque o plano tarifário ainda não era conhecido no momento da importação, e não porque algum dinheiro se perdeu.
⚠️ Por defeito, o painel de energia não lhe mostra essas linhas. O assistente de configuração da integração liga o painel aos contadores em tempo real, e nesses o reinício continua a produzir o degrau familiar na hora em que o Home Assistant voltou. As linhas importadas, que não têm lacuna, estão nas definições de origem do painel de energia — tem de as escolher.
Por isso há três coisas diferentes, e confundi-las é o que deixa as pessoas desiludidas:
| Tem uma lacuna depois de um reinício? | |
|---|---|
| O registo do próprio hub | Não — nunca deixou de medir |
| As linhas de estatísticas importadas no Home Assistant | Não — são uma cópia desse registo, hora a hora |
| Os contadores em tempo real que o painel usa por defeito | Sim — o mesmo degrau de antes, na hora em que o HA voltou |
Na rota MQTT não há importação nenhuma: o hub publica valores em tempo real, e as estatísticas do Home Assistant comportam-se exatamente como sempre. O registo do próprio hub continua intacto, e continua a ser o sítio onde ver quando um valor está em dúvida.
Como verificar, em vez de confiar
- No hub: abra a página History do hub para o dia em causa. Uma hora que absorveu energia de uma interrupção indica-o na sua nota de qualidade, por isso consegue distinguir uma hora com aspeto estranho de uma hora errada.
- No Home Assistant: compare a origem em tempo real com as linhas
RBgrid Hub …importadas para o mesmo dia. Se diferirem, a diferença é a lacuna — e as linhas importadas são as que têm as horas nos seus devidos lugares. - Face à sua fatura: o registo de preços aplicados do hub guarda 40 dias em CSV, uma linha por cada período de 15 minutos fechado, com a origem de cada preço.
O que isto não faz
- Não repara o histórico existente do Home Assistant. As linhas que já estavam erradas continuam erradas; a importação acrescenta as suas próprias linhas a partir do livro do próprio hub, não reescreve as suas.
- Não muda a origem por defeito do painel. Essa escolha é sua, nas definições do painel de energia, e este artigo não prevê que venha a mudar.
- Não dá ao Home Assistant resolução de 15 minutos. Os períodos são do hub; o que chega ao Home Assistant é de hora a hora, como sempre foi.
- Não impede os seus sensores de falharem. Retira a consequência para o registo, não a causa na sua rede.
Onde ler mais
- Preços dinâmicos da eletricidade no Home Assistant — a mesma separação, aplicada ao dinheiro em vez da energia.
- History and record quality — o que significa cada nota de qualidade e o que verificar quando uma aparece.
- Cada circuito no Home Assistant — as duas formas de executar o hub com o Home Assistant.
As citações são reproduzidas de tópicos públicos do fórum do Home Assistant e de problemas (issues) do GitHub, com os respetivos autores e números de tópico, para que possa ler cada tópico na íntegra.