RBgrid v1.1.7

RBgrid v1.1.7 já está disponível. Há duas novidades: a energia e as definições que tem guardadas passam a sobreviver a falhas que antes as perdiam, e o hub pode recolher medições de nós remotos por ESP-NOW — uma segunda caixa, noutra parte do edifício, sem fios de ligação ao hub.

Obter

  • Firmware: a versão v1.1.7 tem o conjunto de imagens para uma gravação inicial por USB, cada ficheiro com o seu SHA-256, e main_release.bin para uma atualização pelo ar.
  • Aplicação web: instale rbgrid-ui_v1.1.7.zip a partir da mesma página, como descrito em Build & flash, ou use a aplicação alojada em webapp.rbgrid.io.
  • Firmware do nó, se quiser um: rbgrid-node_v1.1.7.bin (gravar em 0x10000), ou rbgrid-node_v1.1.7_full.zip com o carregador de arranque e a tabela de partições.
  • Já está na v1.1.x? Atualize pelo ar a partir da aplicação com main_release.bin; o seu Wi-Fi, as definições, os pontos de medição e o histórico mantêm-se. Passo a passo, e o que fazer se parar a meio: O que acontece se a atualização do firmware parar a meio.

Corrigido: os seus dados guardados sobrevivem a falhas

Esta é a parte que vale um minuto, mesmo que nada na sua configuração pareça errado. Uma revisão de código independente procurou formas de uma falha fazer perder energia, duplicá-la ou repor as definições do hub. Cada correção foi reproduzida na bancada de testes, com falhas injetadas, antes e depois.

  • Uma gravação falhada na memória flash já não perde a hora. O registo dessa hora é guardado e escrito de novo no período de 15 minutos seguinte.
  • Um erro de leitura do armazenamento no arranque já não apaga as suas definições. Este é o que deve conhecer. O armazenamento de definições era reformatado com qualquer erro de montagem — o que também removia os tokens da API e deixava o hub aberto. Agora só é formatado quando está realmente danificado ou vazio; com qualquer outro erro, o hub mantém os seus dados e fica bloqueado até ao próximo reinício.
  • Guardar as definições reporta uma escrita falhada em vez de dizer OK, e o valor anterior mantém-se.
  • Um ponto de restauro é tudo ou nada. Um incompleto é recusado e nada muda; uma restauração que falhe a meio repõe as definições anteriores.
  • A energia medida com o hub desligado durante mais de um dia é mantida. Antes era descartada. Agora entra nos totais e na hora atual, que fica marcada como outage, para a distinguir.
  • Um período de 15 minutos é valorizado pela sua própria hora, incluindo quando é processado tarde, e um novo plano tarifário é aplicado num só passo.

Novo: nós remotos por ESP-NOW

Até agora tudo tinha de chegar ao hub por I²C — um barramento, uma caixa, um sítio no edifício. Um nó é um segundo ESP32 que mede onde está e envia as suas leituras para o hub por rádio.

O emparelhamento não exige reinício. Abra uma janela de emparelhamento na aplicação (10–600 segundos) e ligue o nó. Os dois trocam chaves, e os pontos de medição do nó aparecem de imediato, com histórico desde a primeira hora.

Cada hub cria a sua própria chave na primeira vez que precisa de uma. Nenhuma chave vem incluída no firmware — a árvore publicada traz apenas um cabeçalho de exemplo com marcadores.

A energia cai na hora certa, não na hora em que chegou. O nó fecha cada período de 15 minutos pelo seu próprio relógio e retém-no enquanto o hub está fora de alcance — até 8 períodos, cerca de duas horas. Cada um é depois registado e valorizado pela hora em que fechou. É isso que torna um nó utilizável numa ligação que falha.

Na aplicação pode ligar ou desligar cada entrada do nó e escolher a sua pinça, e o cartão indica quando o nó aplicou a alteração. Para o estado da ligação há a intensidade do sinal, os pacotes perdidos no último minuto e a última vez que o nó foi ouvido; por MQTT, um tópico de estado e eventos por nó, e no Home Assistant um sensor de sinal por nó.

Os limites: até 6 nós por hub e 4 entradas por nó. O histórico é o de 12 espaços que o hub já tem — os pontos de medição dos nós partilham essa mesma reserva com os do hub, em vez de a aumentar, por isso um nó que adicione ocupa espaços dos pontos cujo histórico já guarda.

O firmware do nó está publicado — código-fonte em node/, com os passos de compilação, gravação e emparelhamento no seu próprio README. Um nó precisa de um ESP32 com 4 MB de flash (sem PSRAM) e de módulos rbAmp em I²C.

⚠️ Um nó não se atualiza pelo ar. O hub atualiza-se; o nó não. Para pôr novo firmware num nó, grave-o por USB, como o gravou da primeira vez — por isso coloque os nós num sítio ao qual ainda consiga chegar.

Alterado: tarifas e medição líquida

  • O relógio ainda não está acertado — um arranque sem internet — e os períodos de 15 minutos são valorizados pela zona predefinida do plano, em vez de esperarem.
  • Com a medição líquida desligada, já não se recolhe em segundo plano a importação e a exportação do mês.
  • Uma condição de zona que esteja desligada já não impede que a sua zona inteira seja aplicada.

Segurança

  • As leituras por MQTT exigem o token de leitura quando o hub tem os tokens de leitura e de administração definidos, exatamente como as leituras por HTTP.
  • MQTT sobre TLS funciona agora com um broker cujo certificado vem de uma autoridade de certificação pública. O que isso cobre, e o que não cobre, está na página MQTT.
  • Dados em direto sem token no endereço: a aplicação usa agora um bilhete de uso único, válido 30 segundos, para o fluxo em direto.

Plataforma

O firmware passa para o ESP-IDF 5.5.1 (de 5.4.1). A atualização pelo ar a partir da v1.1.x funciona com o carregador de arranque que já está no seu hub, e tanto a reversão como o regresso à v1.1.6 foram testados. O núcleo de medição está agora separado do servidor web e do código MQTT; a API não muda.

Aplicação web 1.1.7

  • Uma secção Nodes na página Points: rádio ligado e desligado, emparelhamento com contagem decrescente, cartões de nó e definições de nó.
  • O fluxo em direto usa o bilhete de uso único acima, e o painel de restauro passa a dizer o que realmente aconteceu.

Lista completa: o registo de alterações. Guia do utilizador: rbgrid.io/webapp/docs.