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:
- Sending the file… 6 % … 100 % — cerca de 30 segundos na nossa bancada, por Wi-Fi.
- The hub wrote the firmware and is restarting…
- The hub is back. Waiting for the new firmware to confirm (about a minute)…
- 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
- Settings: Hub firmware · Restore point
- O que mudou na versão mais recente: RBgrid v1.1.6
- Atualizar o firmware de um módulo é outra tarefa, feita a partir do cartão do próprio módulo: Sensors and modules
- Dúvidas → Apoio