Ir para o conteúdo

Guia de rede · Português (Brasil)

QoS no MQTT e Home Assistant: escolha antes de automatizar

QoS no MQTT define expectativas de entrega entre clientes e broker. Ele não prova que um sensor mediu corretamente nem que uma automação terminou. Este guia ajuda a escolher e testar um nível de QoS de acordo com a consequência de uma mensagem antes de confiar nela para uma ação.

Defina o que a mensagem precisa significar

Antes de mudar o QoS, registre o tópico, o conteúdo, quem publica e o que recebe a mensagem. Uma leitura periódica de temperatura, o toque em um botão e um aviso de disponibilidade têm consequências diferentes. Uma leitura pode ser substituída pela próxima; uma ação repetida pode ser inadequada.

A integração MQTT do Home Assistant recebe mensagens de tópicos configurados, mas isso não transforma uma publicação em teste completo do aparelho ou serviço. Separar estes fatos ajuda a investigar depois: o broker aceitou a publicação, o Home Assistant recebeu a mensagem e a automação concluiu são observações diferentes.

Como funcionam os níveis QoS 0, 1 e 2

No QoS 0, não há confirmação de recebimento nem retransmissão pelo protocolo MQTT; a mensagem pode chegar uma vez ou se perder. Ele pode servir para dados frequentes e substituíveis, quando perder uma leitura isolada é aceitável. A ausência de uma mensagem, porém, não mostra por si só em qual ponto da rede ou dos clientes houve falha.

No QoS 1, há confirmação de recebimento e podem ocorrer duplicatas. Na versão 5.0 do MQTT, mensagens pendentes são retransmitidas quando a conexão é restabelecida e a sessão anterior é retomada. No QoS 2, o protocolo troca mais mensagens de controle para garantir a entrega exatamente uma vez entre o remetente e o destinatário daquele trecho da comunicação. Nenhum dos dois prova que o evento físico ocorreu uma vez, que um serviço está disponível ou que outra integração executou uma ação apenas uma vez.

Verifique também a assinatura

Publicar e assinar são escolhas separadas. Uma assinatura solicita o QoS máximo para mensagens entregues naquele tópico. O QoS entregue ao assinante é o menor entre o QoS da publicação original e o máximo concedido pelo broker à assinatura. Portanto, aumentar apenas um campo na configuração não eleva automaticamente todas as mensagens nem corrige um tópico escrito de forma diferente.

Confirme nos registros do seu próprio broker e no YAML ou na interface do Home Assistant quais tópico e QoS estão realmente configurados. Não conclua o comportamento de outros aparelhos a partir de uma única conexão de teste.

Faça um teste pequeno e reversível

Teste apenas um broker, rede e tópico que você administra. Use um tópico de laboratório, não um tópico de comando nem dados de dispositivos importantes. Os clientes de linha de comando do Mosquitto permitem publicar e assinar com QoS escolhido, o que é útil para isolar o comportamento do broker.

Se for testar uma automação, comece com uma ação sem efeito sobre dispositivos físicos, como uma entrada no logbook ou uma notificação persistente. Confira separadamente o registro do broker e o rastreamento da automação; uma conexão bem-sucedida não confirma que a regra foi executada.

  1. Crie um tópico exclusivo, por exemplo lab/qos-check-2026-10-21, sem credenciais nem dados pessoais.
  2. Assine o tópico e anote o QoS escolhido e o horário da conexão.
  3. Publique uma mensagem de teste identificável com QoS 0; depois repita com QoS 1.
  4. Desconectar e reconectar apenas o assinante de laboratório, por si só, não valida a recuperação de mensagens. Para testar a entrega após a reconexão, configure uma sessão persistente e uma assinatura com QoS 1 antes de desconectar o assinante, publique uma mensagem identificável com QoS 1 enquanto ele estiver desconectado e reconecte-o com o mesmo identificador de cliente, retomando a sessão anterior. Registre o que chegou antes de tocar em qualquer dispositivo real.
  5. Para uma regra do Home Assistant, compare o rastreamento da automação com o registro do broker antes de mudar o nível em produção.

Evite que uma repetição cause uma ação repetida

Para uma automação com efeito externo, trate repetição como possibilidade antes de usar QoS 1. Se o publicador documentar um identificador de evento, contador crescente ou horário confiável, a regra pode comparar esse dado. Não invente um campo nem suponha que horários de máquinas diferentes são comparáveis.

Mensagens retidas também merecem uma verificação separada: ao assinar um tópico, o cliente pode receber uma mensagem de estado retida, mesmo que ela tenha sido publicada antes da conexão. A entrega depende das opções da assinatura. Não use o mesmo tópico para evento e estado retido, a menos que o projeto do publicador explique esse uso.

Registre uma conclusão limitada

Quando uma mensagem faltar ou chegar duas vezes, guarde tópico, conteúdo, QoS, horário e registros do cliente antes de alterar a configuração. Isso pode separar uma nova publicação de uma nova tentativa, de duas assinaturas ou de uma regra duplicada. Mude uma coisa por vez e repita o teste de laboratório.

DeviceShelf Server pode publicar observações de rede em uma instalação do Home Assistant que você administra. Use cada observação MQTT como dado para comparar com o horário e os registros do aparelho; ela não garante entrega MQTT, identidade, disponibilidade ou sucesso de uma automação.

Ferramentas de rede gratuitas

A consulta acontece no navegador. Uma atribuição IEEE é uma pista, não uma prova do modelo ou de quem usa o aparelho.

Consultar o fabricante de um endereço MAC

Fontes e referências

Quais dispositivos estão na sua rede?

Demonstração de 52 segundos com dados fictícios e interface em inglês (versões 1.9.23 e 1.9.27). Sem narração; legendas em português.
Ler a transcrição

Quais dispositivos estão na sua rede? Uma breve demonstração do DeviceShelf.

Faça uma varredura na sua rede local e confira os dispositivos encontrados.

Compare nomes, fabricantes e endereços IP no mesmo inventário.

Abra um dispositivo para consultar os detalhes e as portas abertas.

A IA opcional oferece pistas de identificação. Confira as evidências antes de concluir.

Confira a disponibilidade, os tempos de resposta e as quedas registradas.

A edição para servidor reúne o inventário da rede em um só lugar.

Confira eventos de conexão, desconexão e novos dispositivos.

Teste o DeviceShelf grátis por 7 dias. Licença Personal: €59 em pagamento único · deviceshelf.app

Continue a leitura

Como saber quem está conectado ao seu Wi-Fi

Confira sua rede com DeviceShelf

Teste a lista de aparelhos e o monitoramento por 7 dias em Windows, macOS ou Linux. Depois, a licença Personal custa €59 em pagamento único. A varredura básica funciona sem conta e sem IA. Este guia em português não indica que a interface do aplicativo tenha tradução para português.

Baixe e teste na sua própria rede

Escolha o instalador para o seu computador e abra o aplicativo na rede que você administra.

Versão 1.9.80 · Personal: €59 em pagamento único

Teste grátis por 7 dias, sem cartão. Baixar o instalador não ativa uma licença. A interface do aplicativo não está disponível em português.

Instruções de instalação (inglês)