Hora

Visão geral

O hub precisa da hora certa para duas coisas: para registar cada medição na hora, dia e mês corretos, e para escolher a zona tarifária certa para o seu custo. Obtém a hora pela rede (SNTP) a partir de servidores de hora, ou uma única vez a partir do seu navegador, se o hub não tiver internet.

Abra-a na aplicação: Settings → Time. O assistente de configuração mostra um painel compacto: o fuso horário com a sugestão do navegador, o estado de sincronização, os dois botões de relógio e Save. As definições de NTP estão apenas aqui.

Campos

Field What it does
Network time sync (SNTP) Ativa ou desativa a sincronização de hora a partir de servidores de hora da internet.
NTP server O servidor de hora principal. Predefinição: pool.ntp.org. Um nome de máquina ou endereço, até 63 caracteres, sem espaços nem "/": o campo diz "A server name, without spaces or “/”, up to 63 characters" quando não é um, e "Required" quando está vazio.
Backup NTP server Usado quando o servidor principal não responde. Predefinição: time.nist.gov. Vazio, ou uma máquina sob a mesma regra.
Resync interval, s De quanto em quanto tempo o hub volta a sincronizar, depois de ter a hora. Predefinição 3600 s (uma hora), e tem de estar entre 60 e 86400 s: a partir da aplicação v1.1.6, o painel não guarda um valor fora desse intervalo, e aceita apenas segundos inteiros: mostra "At least 60", "At most 86400" ou "Required" por baixo do campo e deixa Save desativado até corrigir. Na aplicação v1.1.5 e anteriores, tanto a aplicação como o hub aceitavam qualquer número, e um valor fora do intervalo desativava a sincronização NTP após o reinício seguinte. Um hub que ainda tenha esse valor é reposto no intervalo quando arranca pela primeira vez com o firmware v1.1.6.
Time zone A sua zona local, com as suas regras de horário de verão.

Fuso horário

O fuso horário é uma zona com nome e com as suas regras de horário de verão, e não um desvio fixo em relação ao UTC, pelo que o relógio muda nas datas certas por si.

⚠️ O próprio fuso horário do hub decide o que é "um dia" — não o do seu telemóvel nem o do Home Assistant. Ele situa as suas zonas tarifárias e os seus dias, e a partir da v1.2.0 também as horas de uma janela barata, o dia em que começa um ciclo de faturação para os picos de importação, e o dia em que um preço é "today" ou "tomorrow". Um hub configurado com a zona errada erra todos estes em conjunto, com o mesmo desvio — por isso uma janela que abre uma hora antes é quase sempre uma questão de relógio e não de regra.

  • Escolha uma das predefinições, por exemplo "Central Europe — Berlin, Paris… (CET/CEST)".
  • A lista inclui zonas do hemisfério sul, onde o horário de verão decorre ao contrário ao longo do ano: Sydney/Melbourne/Canberra/Hobart, Adelaide, Brisbane, Perth, Auckland/Wellington, Santiago, São Paulo/Buenos Aires e Johannesburg.
  • Se a sua zona não estiver na lista, escolha Other (POSIX TZ) e introduza a zona como uma cadeia POSIX TZ. A cadeia tem de incluir a sua própria regra de horário de verão.
  • A aplicação sugere a zona do navegador que está a usar ("This browser's zone: … Use it"). A sugestão só aparece quando a aplicação conhece a zona do navegador e ela é diferente da do hub. Na aplicação v1.1.4 e anteriores, as zonas do hemisfério sul com horário de verão não são oferecidas como predefinições e não recebem sugestão: escolha uma cadeia POSIX TZ, ou atualize o hub.

Guardar e quando as alterações se aplicam

O painel Time tem o seu próprio botão Save; não faz parte da barra de Settings no topo. Até o premir, o painel diz "The zone isn't saved yet — press "Save"." Quando o hub tem um token de administrador, guardar requer esse token.

Depois de guardar:

  • Time zone: de imediato. É a única definição de hora que se aplica em tempo real.
  • SNTP on/off, the time source, the NTP server, the backup NTP server and the resync interval: após um reinício do hub. O painel diz então "Time settings saved. Some settings take effect after a restart." com Restart now.

⚠️ A atualizar a partir da v1.1.5 ou anterior? Abra esta página uma vez depois. No firmware v1.1.5 e anteriores, o hub guardava este painel como um único ficheiro inteiro, enquanto a aplicação envia apenas os campos que alterou — por isso, guardar apenas o fuso horário apagava os servidores NTP, e após o reinício seguinte o hub não tinha qualquer sincronização de hora: o relógio ficava por definir, o histórico aguardava uma data real, e a energia era tarifada com base na hora que o hub julgava ter. Corrigido na v1.1.6, que funde o que a aplicação envia com o que já está guardado. Um hub recupera no primeiro arranque na v1.1.6 — o fuso horário guardado mantém-se, e os servidores voltam a pool.ntp.org e time.nist.gov. Se o hub tiver reiniciado mais do que uma vez nesse estado, o fuso horário também se perde: defina-o novamente aqui. Considere suspeitos os custos registados enquanto o relógio esteve por definir, tal como qualquer leitura feita antes da primeira sincronização.

Se o seu hub tiver de continuar em firmware mais antigo, atualize na mesma o pacote da aplicação: o pacote v1.1.6 envia este painel completo a um hub na v1.1.5 ou anterior, pelo que os servidores sobrevivem também a uma gravação aí. O risco estava nos pacotes da aplicação v1.1.2 a v1.1.5 a comunicar com o firmware v1.1.5 ou anterior.

Estado

O painel mostra o estado de sincronização e de onde veio a hora atual:

  • synchronized: o hub tem a hora.
  • synchronizing…: o hub está a obter a hora neste momento.
  • not synchronized: o relógio ainda não foi definido, ou a última sincronização falhou.
  • source: a palavra que o hub indica:
    • SNTP: a hora veio de um servidor de hora.
  • MANUAL: uma hora manual — o relógio foi definido a partir de um navegador com Use this device's time. A partir do firmware v1.1.6 o hub conta isso como uma sincronização, pelo que o estado ao lado mostra synchronized.
  • NONE: o hub ainda não tem nenhuma fonte de hora confirmada.

Se o hub não indicar qualquer estado, o painel não mostra estado.

Até à primeira sincronização bem-sucedida, o hub volta a tentar a cada 30 segundos. Depois disso, sincroniza de acordo com o intervalo de resincronização.

Sem internet? Defina a hora a partir do navegador

Numa rede sem acesso à internet, o hub não consegue chegar a um servidor de hora. Use Use this device's time: o hub obtém a hora do navegador que está a usar. No firmware v1.1.6 isso conta como uma sincronização — o estado mostra synchronized com a fonte MANUAL, o passo de hora do assistente de configuração fica satisfeito, e o hub regista os seus registos com datas reais a partir daí. Nada corrige o relógio depois, pelo que continua a derivar.

No firmware v1.1.5 e anteriores, um relógio definido pelo navegador não contava como tal. Num hub em Wi-Fi que não conseguia chegar a um servidor de hora, o painel continuava a indicar not synchronized com a fonte NONE; num hub sem qualquer rede, o estado mantinha-se synchronized mas a fonte continuava a indicar NONE. Em ambos os casos o hub tratava o seu próprio relógio como não confirmado, pelo que o passo de hora do assistente ficava por assinalar e os registos guardados continuavam à espera de uma data real em vez de serem registados. Se for esse o seu hub, atualizar é o que o corrige.

Sync with NTP pede ao hub que sincronize agora com o servidor de hora.

O hub não tem relógio com bateria. O seu relógio sobrevive a um reinício, mas não a um corte de energia. Após um corte de energia sem internet, o relógio fica novamente por definir. Defina-o pelo navegador mais uma vez, ou deixe-o sincronizar quando a rede voltar.

O que acontece enquanto o relógio não estiver definido

  • Os valores em tempo real continuam a chegar. A aplicação indica que o relógio não está definido: na Overview, Imported today mostra "hub clock not set", e o cartão Today diz que "today" conta a partir da última meia-noite ou reinício do próprio hub, e não do dia do seu calendário. O último passo do assistente mostra "not synced".
  • O relógio fica "not set". O hub não inventa uma data. Só usa uma hora manual guardada anteriormente se essa hora for recente.
  • Os registos do histórico feitos antes da primeira sincronização ficam à espera na memória do hub. Na primeira sincronização recebem as suas marcas de hora reais. Se a espera for muito longa, os mais antigos são descartados. Os registos que ainda não têm data real são assinalados como "clock not synced": o gráfico do History e a exportação CSV deixam-nos de fora, e a tabela do History mostra-os assinalados como "before sync".
  • Custo: enquanto o relógio do hub não estiver definido, os períodos são tarifados à zona predefinida do plano. A partir do firmware v1.1.7 isso é uma alternativa deliberada e não uma suposição: sem relógio não há forma de saber a que zona pertence uma hora, pelo que o hub usa a única zona que não depende da hora, e guarda esses custos como quaisquer outros. Na v1.1.6 e anteriores, a energia era tarifada com a zona em que o relógio não definido caísse, que podia ser qualquer uma. Em qualquer caso, defina a hora antes de confiar no custo. → How cost is calculated

Os relógios dos módulos rbAmp

O hub não define os relógios dos módulos rbAmp. O relógio do próprio hub é o que regista as suas leituras e lhes atribui preço.

Requisitos de rede

O SNTP usa a porta UDP 123, de saída, para os servidores que definir. Se a sua rede a bloquear, use um servidor de hora dentro da sua rede, ou defina a hora a partir do navegador.

Resolução de problemas

O estado nunca mostra "synchronized"

  • Verifique se o hub está numa rede com acesso à internet (o cartão Status em Settings).
  • Verifique se a porta UDP 123 de saída está permitida.
  • Experimente outro servidor, ou o endereço IP de um servidor em vez do nome (um problema de DNS).
  • Numa rede sem internet, use Use this device's time.

As horas na aplicação estão erradas por uma hora ou mais

  • Verifique o Time zone. Um desvio UTC simples não muda com o horário de verão; use a zona com nome.
  • Quando o desvio do hub e o do seu navegador diferem em 30 minutos ou mais, a Overview indica-o e oferece Change the zone →.

Os custos parecem errados num período

  • Verifique se o relógio foi definido durante esse período. Até o relógio ser definido (por exemplo, após um corte de energia sem internet), as leituras podem ser tarifadas na zona errada.

A sincronização de hora deixou de funcionar após um reinício

  • No firmware v1.1.5 e anteriores há duas causas, ambas corrigidas na v1.1.6: guardar o fuso horário sozinho apagava os servidores NTP (ver a nota acima), e um Resync interval fora de 60–86400 s desativava a sincronização no reinício seguinte. Atualize o hub, depois abra este painel uma vez e verifique a zona e os servidores.
  • Caso contrário, verifique se o hub tem acesso à internet, se a porta UDP 123 de saída está permitida, e se o Resync interval está entre 60 e 86400 s.

O painel Time por vezes não abre

  • Corrigido na v1.1.6. Na v1.1.5 e anteriores, abrir Settings → Time num hub sem nenhum servidor de hora acessível falhava cerca de uma vez em cada três enquanto o hub tentava novamente o NTP. Abra-o de novo, ou atualize o hub.