Essa é a pergunta geral, mas vou fornecer o cenário aqui.
Estou executando o servidor Mosquitto para fornecer o mqtt comm entre os módulos de retransmissão esp ( Sonoff da Itead ) e o Home Assistant . Na maioria das vezes, funciona muito bem. Cada módulo tem seu próprio tópico e há tantas configurações "leves" no HASS quanto os módulos, para que possam ser controlados a partir da interface da Web por botões de alternância individuais.
Porém, experimentei situações de estado inconsistentes em que a luz está realmente acesa e a alternância no HASS é mostrada como desligada (e a situação oposta também). Ao inspecionar os logs, descobri que o Mosquitto não está publicando determinadas mensagens no HASS (que devem ser assinadas em todos os tópicos de estado do módulo). Mais especificamente, dados 4 módulos e seus tópicos de estado correspondentes ( state/sonoff_xx/POWER
), o HASS parece ser inscrito apenas nos módulos 2 e 4, mas não 1 e 3. A seguir, o comportamento esperado para o módulo 4, o mesmo pode ser verificado para o outro módulo de trabalho, mas a publicação no HASS está ausente para os outros dois.
Jun 15 19:22:46 nas mosquitto[9486]: Received PUBLISH from sonoff4 (d0, q0, r1, m0, 'stat/sonoff4/POWER', ... (2 bytes))
Jun 15 19:22:46 nas mosquitto[9486]: Sending PUBLISH to home-assistant (d0, q0, r0, m0, 'stat/sonoff4/POWER', ... (2 bytes))
Esta não é uma pergunta sobre o HASS e os módulos de retransmissão, mas sobre como cavar o status do MQTT Server que deveria ter certos clientes inscritos, mas, observando os logs, não o fez.
fonte
log_type all
inmosquitto.conf
); na verdade, verifiquei a entrada de inscrição conectando-me a partir de um console enquanto estiver emjournalctl -f
execução. Porém, não consegui encontrar entradas sobre as assinaturas do HASS porque isso aconteceu dias atrás e o journald não está configurado como persistente; portanto, eu tinha em mãos apenas a inicialização atual. Essa é a razão pela qual eu esperava inspecionar o status do Mosquitto.Você pode ativar o log de mosquito para todos e assinar o log. Você encontrará mensagens que podem ser decodificadas para cada ação do cliente, como conectar, desconectar, assinar e publicar até erros.
você irá definir
no mosquitto.conf, você assinará
fonte