Um reinício do contentor do Home Assistant pode fazer com que o sistema pareça brevemente diferente, mesmo quando a configuração persistente está perfeitamente intacta. A razão é que uma instância em execução contém tanto estado duradouro no disco como estado transitório na memória. Reiniciar o contentor destrói este último e pede às integrações que o reconstruam.
É por isso que uma entidade pode passar por unknown ou unavailable, que um dispositivo MQTT pode reaparecer assim que chegam mensagens retidas e que um serviço externo pode continuar ausente até que a tentativa de repetição seja bem-sucedida. O reinício é um evento de reconstrução do estado, não simplesmente uma pausa e retoma do mesmo processo em memória.
O ambiente de execução do contentor é substituível; /config é o limite duradouro
O Home Assistant Container é normalmente operado recriando a imagem do contentor e mantendo o volume de configuração montado. Atualizar a imagem, alterar o ambiente de execução ou reiniciar o processo não deve exigir a reconstrução da casa do zero quando o caminho persistente continua corretamente associado.
O fluxo de trabalho atual do Home Assistant Container recria explicitamente o contentor ao alterar versões. Esse modelo funciona porque se espera que o estado da aplicação sobreviva fora do ambiente de execução descartável.
Tudo o que exista apenas na memória do processo desaparece ao reiniciar. O processo seguinte tem de reler a configuração, os registos, as bases de dados e as entradas das integrações antes de poder recriar a mesma vista ativa.
O Core inicia uma nova máquina de estados de execução
A cada arranque, o Home Assistant cria um processo Core novo, com um novo ciclo de eventos, uma Máquina de Estados, serviços, temporizadores e objetos de execução das integrações. O registo de entidades pode identificar entidades conhecidas, mas o valor atual de um dispositivo físico ainda precisa de ser restaurado, obtido ou comunicado.
O Recorder também cria uma nova execução do recorder sempre que o Home Assistant arranca. As linhas históricas da base de dados persistem, mas o processo atual corresponde a um novo intervalo de execução, e não à continuação do anterior.
Esta distinção é importante ao comparar registos ou marcas temporais da base de dados em torno de um reinício. Um registo histórico prova o que o Home Assistant observou anteriormente; não prova automaticamente que o novo processo já restabeleceu a ligação ao dispositivo ativo.
As integrações repovoam o estado de execução a velocidades diferentes
Algumas integrações ligam-se imediatamente a um dispositivo local. Outras aguardam pelo DNS, por um broker, por uma API na cloud, por uma ponte de rádio ou por outro contentor. Por isso, as respetivas entidades ficam disponíveis em momentos diferentes, embora o Home Assistant Core já esteja em execução.
O modelo atual de falhas de configuração do Home Assistant exige que as integrações temporariamente indisponíveis entrem num percurso de novas tentativas para poderem recuperar quando o dispositivo ou serviço ficar acessível. Isto significa que o estado visível após um reinício pode continuar a evoluir durante vários minutos, sem que isso implique uma alteração dos dados persistentes.
Um segundo reinício, depois de todas as dependências já estarem ativas, pode parecer muito mais rápido do que um reinício de toda a stack, porque a rede, o broker, a base de dados e os dispositivos já não têm de convergir ao mesmo tempo.
O MQTT torna a reconstrução do estado especialmente visível
O MQTT é um exemplo útil porque o broker pode manter mensagens de descoberta ou de estado de forma independente do processo do Home Assistant. Quando o Home Assistant volta a ligar-se, os dados retidos podem ser reproduzidos e as entidades podem recuperar rapidamente o último valor comunicado.
A integração MQTT documenta que as entidades descobertas ficam indisponíveis após um reinício até a descoberta ser processada, enquanto as mensagens de descoberta e de estado retidas podem ser reproduzidas à medida que as subscrições são reconstruídas. O Home Assistant também envia uma mensagem Birth que os dispositivos podem utilizar para voltar a publicar a descoberta e o estado atualizado.
Um valor retido continua a ser o último valor comunicado, e não uma prova de que o dispositivo físico está atualmente acessível. Os tópicos de disponibilidade e a telemetria atualizada devem ser avaliados separadamente.
O comportamento após um reinício depende do local onde reside a fonte de verdade
- Configuração persistente e registos: relidos a partir do armazenamento duradouro do Home Assistant.
- Estado atual do dispositivo: frequentemente obtido ou comunicado novamente por uma integração.
- Estado MQTT: pode ser reconstruído a partir de mensagens retidas ou de novas publicações.
- Estado baseado na cloud: depende da conectividade à API remota e das credenciais.
- Estado histórico: permanece no Recorder, mas não é o mesmo que o estado ativo.
- Objetos puramente de execução: recriados pelo novo processo do Home Assistant.
A explicação da ZimaSpace sobre o estado MQTT após um reinício mostra um percurso específico de reconstrução. A regra mais abrangente é que o comportamento após um reinício segue a localização da fonte de verdade de cada componente.
Perguntas frequentes
Reiniciar o contentor do Home Assistant elimina o histórico?
Não, desde que a configuração persistente e a base de dados do Recorder estejam corretamente montadas. O reinício substitui o processo de execução; os dados históricos permanecem na base de dados persistente.
Porque pode uma entidade mostrar imediatamente o seu valor antigo após um reinício?
O valor pode vir de um mecanismo de restauro do Home Assistant, de uma cache da integração, de um estado MQTT retido ou de uma consulta imediata ao dispositivo. Verifique a integração e o percurso de disponibilidade antes de considerar o valor apresentado uma leitura física atualizada.
Centro de Tecnologia e IA
Mais para Ler

Estado em tempo de execução vs. estado persistente no Home Assistant: o que tem de sobreviver ao reinício?
O Home Assistant não persiste todos os valores em tempo real; a configuração, os registos, os estados restaurados selecionados, o histórico e os dados...

Como é que o Home Assistant autentica sessões locais e remotas?
As sessões locais e remotas do Home Assistant utilizam o mesmo modelo de identidade do lado do servidor; o acesso remoto altera a rota...

Porque é que as consultas ao histórico do Home Assistant podem ficar mais lentas à medida que os dados do Recorder aumentam?
O crescimento do gravador pode aumentar o custo das consultas do Histórico quando o intervalo solicitado abrange mais linhas, as falhas de cache aumentam...

