Como é que o Home Assistant deteta e reconcilia alterações entre dispositivos?

Eva Wong é a Redatora Técnica e e entusiasta residente na ZimaSpace. Uma geek de longa data com paixão por homelabs e software de código aberto, ela é especialista em traduzir conceitos técnicos complexos em guias acessíveis e práticos . Eva acredita que o auto-hospedagem deve ser divertida, não intimidante. Através dos seus tutoriais, ela capacita a comunidade adesmistificar configurações de hardware , desde a construção do seu primeiro NAS até dominar os contêineres Docker., from building their first NAS to mastering Docker containers.

O Home Assistant deteta e reconcilia alterações nos dispositivos, associando novas observações a identificadores estáveis da integração e atualizando depois os registos de dispositivos, entidades e estados.

A deteção pode ocorrer através de multicast, Bluetooth, USB, MQTT, uma API na nuvem ou uma pesquisa da integração. O nome ou endereço observado pode mudar, pelo que o Home Assistant depende dos identificadores fornecidos pela integração para determinar se está perante um dispositivo existente, um novo dispositivo ou um conflito. A reconciliação atualiza os metadados e a disponibilidade, tentando preservar as referências das entidades utilizadas nos painéis e nas automatizações.

A deteção produz candidatos, não uma identidade final

Um pacote de deteção ou uma pesquisa pode revelar um endereço, modelo, serviço anunciado, número de série ou tópico. Essas observações são candidatos, porque os nomes e endereços IP podem mudar e podem existir anúncios duplicados. A integração interpreta o protocolo e propõe uma entrada de configuração ou uma atualização, em vez de tratar cada pacote como um novo dispositivo doméstico.

Os limites da rede determinam qual o tráfego de deteção que chega ao Home Assistant. Esta discussão sobre deteção de rede em contentores demonstra por que motivo um contentor pode ter conectividade IP normal e, ainda assim, não detetar multicast que dependa do modo de rede e do comportamento da sub-rede.

A adição manual pode continuar a funcionar quando a deteção passiva não consegue atravessar o limite, mas isso não corrige a deteção em si. Distinga a resolução de nomes, o unicast encaminhado, o reencaminhamento de multicast e os gateways específicos do protocolo. Um dispositivo que só aparece depois de uma alteração de rede indica uma relação de acessibilidade, não necessariamente um defeito da integração.

Os identificadores estáveis preservam a continuidade dos registos

As integrações atribuem identificadores únicos que ligam um dispositivo físico ou lógico aos registos de configuração, dispositivos e entidades. Os nomes amigáveis e os IDs das entidades são referências visíveis para o utilizador e podem ser renomeados; constituem evidências de identidade mais fracas do que um número de série do protocolo, um identificador derivado do MAC ou uma chave de conta específica da integração.

Substituir hardware mantendo o histórico revela a distinção entre identidade e nome apresentado. Este fluxo de substituição de entidades mostra como as escolhas relativas ao registo e ao ID da entidade afetam a continuidade das automatizações e das estatísticas de longo prazo.

A continuidade falha quando o firmware altera um identificador, dois dispositivos assumem o mesmo identificador ou uma integração altera a sua regra de mapeamento. Não elimine e volte a detetar repetidamente antes de registar os valores antigos e novos do registo. Essas evidências determinam se a resposta segura é uma renomeação, uma migração, uma correção da integração ou um dispositivo genuinamente novo.

A reconciliação combina eventos com o estado existente

Após a configuração, uma integração consulta, subscreve ou aguarda eventos enviados e traduz os dados do protocolo em estados e atributos de entidades. A reconciliação compara as observações atuais com as definições do registo, marca as entidades como indisponíveis, adiciona capacidades recentemente suportadas e pode retirar metadados obsoletos. Trata-se de um ciclo de vida contínuo, não de um ecrã de deteção único.

A deteção MQTT torna especialmente visíveis as alterações de identificadores e nomes, porque os dispositivos publicam payloads de configuração que o Home Assistant consome repetidamente. A discussão sobre a alteração de nomes MQTT ilustra por que motivo a política de renomeação deve preservar uma identidade estável, permitindo simultaneamente a evolução dos metadados apresentados.

Um dispositivo atrasado pode ficar temporariamente indisponível sem ser eliminado, enquanto um payload com um novo identificador único pode criar um duplicado. O limite da falha é a instabilidade da identidade que interrompe as automatizações ou divide o histórico. Preserve as mensagens e os registos antes de tentar efetuar a limpeza.

-15% OFF

Verifique a reconciliação com uma matriz de alterações

Escolha um dispositivo de teste e registe a respetiva integração, os identificadores únicos, o registo do dispositivo, os IDs das entidades, os nomes amigáveis, a área, as automatizações e o histórico recente. Em seguida, teste separadamente quatro alterações controladas: endereço IP, nome amigável, período temporário offline e atualização de uma capacidade suportada. Reverta cada alteração antes de avançar para a seguinte.

Utilize o modelo da ZimaSpace sobre deteção e encaminhamento para interpretar se uma alteração não detetada pertence ao transporte ou à reconciliação do registo.

O teste é bem-sucedido quando o mesmo registo de dispositivo permanece, os metadados esperados são alterados, as entidades recuperam após um período offline, as automatizações mantêm as suas referências e o histórico permanece coerente. Pare se surgir um dispositivo duplicado ou se um ID de entidade mudar inesperadamente. Exporte os diagnósticos e compare os identificadores antes de eliminar qualquer um dos registos.

Centro de Tecnologia e IA

Mais para Ler

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.