O que acontece se a atualização do firmware parar a meio

  • Testado no firmware v1.1.6
  • Primeiros passos

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

Uma atualização pelo ar de uma caixa no seu quadro elétrico parece o tipo de coisa que pode correr mal. Por isso, primeiro o mecanismo, porque é a resposta ao receio:

O novo firmware é escrito num slot de reserva enquanto o hub continua a correr o antigo. A mudança só acontece depois de o ficheiro inteiro chegar e passar nas verificações. Se perder a alimentação ou a ligação Wi-Fi a meio, o firmware em execução fica intacto — o hub volta a arrancar com a versão que já tinha, e você instala de novo. Na nossa bancada, um envio interrompido aos 377 KB de 1650 KB fez exatamente isso, e o registo do hub disse-o com todas as letras: running image intact.

E se o novo firmware for escrito mas não arrancar, o hub volta sozinho ao anterior. Dois slots, e um deles está sempre comprovadamente a funcionar.

Há um minuto neste processo em que uma pessoa pode desfazer a atualização, e é a única parte desta página que vale a pena decorar.

Primeiro: um ponto de restauro recente

O firmware e as suas definições são coisas separadas. Uma atualização mantém as suas definições; um ponto de restauro é um seguro contra tudo o resto, e custa um toque.

Settings → Restore point → Save restore point. Guarda seis ficheiros — definições, hardware, pontos, tarifas, hora e módulos — tal como estão nesse momento. Só existe um ponto de restauro no hub: um novo registo substitui o anterior. Restore and restart repõe-no, e o hub volta a estar disponível em 20–30 segundos.

Há duas coisas que ele não guarda, e ambas importam se contar com ele:

  • Não guarda o seu histórico. A restauração escreve apenas esses seis ficheiros de definições; os registos de medição e os totais acumulados ficam intactos. (Medido: 71 registos horários byte a byte idênticos antes e depois de uma restauração.)
  • Não guarda o seu acesso. O token da API, a rede Wi-Fi e a respetiva palavra-passe, a palavra-passe do ponto de acesso, as origens de acesso do navegador (CORS) e o endereço do broker MQTT ficam fora do ponto de restauro — nem são guardados nem repostos.

Guarde-o imediatamente antes de atualizar, não semanas antes. Repõe o hub tal como estava quando foi guardado, por isso um ponto antigo traz de volta uma disposição antiga — os pontos que já mudou, a tarifa que já corrigiu.

Um ponto de restauro guardado na v1.1.5 foi reposto sem problemas num hub atualizado para a v1.1.6 — medido, os seis ficheiros, sem queixas. Não há verificação de versão; o hub não recusa um ponto mais antigo. Outros pares de versões não foram testados, e essa é a verdadeira razão para guardar um novo em vez de confiar num antigo.

O ficheiro

Da versão, precisa de main_release.bin e de mais nada. Os outros três ficheiros da versão servem para uma gravação USB de raiz e não funcionam aqui.

A aplicação web não está nesse ficheiro. É distribuída como um kit próprio, rbgrid-ui_<version>.zip, instalado depois — veja o fim desta página. Dois ficheiros, dois passos, e distinguir os dois é a forma mais comum de ficar confuso sobre o que acabou de atualizar.

O que vai realmente ver

Settings → Hub firmware. O painel abre com o que tem agora:

Now: version 1.1.5 · build Nov 6 2026 16:38:17 · image 3ecbbfde

Escolha o ficheiro, e ele diz o que contém antes de enviar fosse o que fosse — tamanho, versão, build e a framework com que foi compilado. As verificações também acontecem aqui: um ficheiro que não seja uma imagem de firmware é recusado, o mesmo acontece a um sem descrição, e também a firmware para outro dispositivo ("This is another device's firmware, not the hub's"). Escolha a build que já tem a correr e aparece "This build is already installed. No need to update." — Install continua disponível, e reinstalar funciona.

Carregue em Install e confirme. Vale a pena ler uma vez o diálogo, porque descreve a sequência completa:

Update the hub firmware? The hub takes the file, restarts (offline for about half a minute) and confirms the new firmware a minute after it starts. Don't power the hub off until it's done.

Depois, o painel vai narrando o processo, e nada acontece em silêncio:

  1. Sending the file… 6 % … 100 % — cerca de 30 segundos na nossa bancada, por Wi-Fi.
  2. The hub wrote the firmware and is restarting…
  3. The hub is back. Waiting for the new firmware to confirm (about a minute)…
  4. Done: the hub runs the new firmware — version 1.1.6, build Nov 6 2026 21:28:48.

De início ao fim, cerca de 1 minuto e 40 segundos na bancada — bem dentro dos três minutos que a aplicação espera antes de desistir. O seu tempo depende da sua Wi-Fi; tome o nosso como a forma do processo, não como o número. O cabeçalho passa então a mostrar a nova versão, e é isso: atualização concluída.

O minuto que importa

Entre o passo 3 e o passo 4, o novo firmware está instalado mas ainda não confirmado. Um reinício nessa janela — feito à mão ou por corte de energia — repõe o hub no firmware que tinha antes. Tudo vai parecer como se a atualização simplesmente não tivesse acontecido.

Portanto: não desligue o hub nem o reinicie até o painel dizer Done. É essa a única coisa para a qual esta página existe.

É pouco provável que encontre a recusa do próprio hub nessa janela, e vale a pena saber porquê: Done só aparece depois da confirmação, por isso, quando o painel lhe oferece alguma coisa, o minuto já passou. Ela surge se um segundo separador do navegador, outro dispositivo ou um script tentar instalar enquanto o primeiro ainda está à espera:

Failed: The hub is still confirming the firmware installed less than a minute ago. Try again in about a minute.

Nada está errado quando vê isso. Espere um minuto e instale de novo. (A mensagem em si pertence ao firmware v1.1.6 com a respetiva aplicação; na v1.1.5 e anteriores, a mesma situação falhava com um erro genérico.)

Quando não resulta

  • O novo firmware não arrancou. O hub volta ao anterior por si e a aplicação informa-o: "The new firmware didn't start — the hub went back to the previous one. Details in 'Events → Hub log'." O registo do hub está no separador Log. → Events
  • O hub não voltou dentro de três minutos. A aplicação deixa de esperar e diz isso. Verifique se o hub tem alimentação e está na sua rede, depois recarregue a aplicação e veja a versão no cabeçalho do painel: ela indica-lhe qual o firmware que está a correr.
  • A alimentação ou a ligação falhou durante o envio. O hub fica no firmware que tinha. Instale de novo.

Em todos estes casos, o ponto de restauro é a segunda rede de segurança, e serve para as suas definições — não para o firmware, que tem a sua própria.

Voltar a uma versão mais antiga

Pode. O hub não bloqueia: instalar um main_release.bin mais antigo funciona da mesma forma que um mais recente, e foi medido ao passar da v1.1.6 para a v1.1.5.

O que obtém com isso é o comportamento dessa versão, com os erros incluídos — um hub abaixo da v1.1.6, por exemplo, pode apagar os seus servidores NTP quando guardar o fuso horário, o que a v1.1.6 corrigiu.

⚠️ E uma regra que não é opcional: se a sua entrada trifásica for medida com um ponto por fase, mude-a para um ponto antes de instalar qualquer coisa anterior à v1.1.5. O firmware mais antigo trata apenas um ponto de alimentação. → Your three-phase supply is being measured on one phase

O que uma atualização mantém

Wi-Fi, definições, pontos, tarifa, tokens, histórico e a aplicação web instalada são todos mantidos. Os módulos continuam a contar durante o processo — a atualização é assunto do hub, não dos medidores.

Depois, instale o ficheiro rbgrid-ui_<version>.zip correspondente à versão, para que a aplicação que abre seja a construída para o firmware que agora corre. Várias das alterações de uma versão vivem na aplicação e não no firmware, e enquanto o kit não estiver instalado estará a ver a aplicação antiga sobre o hub novo.

Uma última coisa, porque é a pergunta por trás da pergunta: o hub não vai buscar firmware por si. Não há transferência em segundo plano, nenhum aviso de "atualização disponível" e nada que se aplique durante a noite. Atualiza quando uma pessoa escolhe um ficheiro e carrega em Install, e nunca de outra forma.

A seguir