Questa è la domanda generale, ma fornirò lo scenario qui.
Sto eseguendo il server Mosquitto per fornire comunicazioni mqtt tra i moduli relè esp ( Sonoff di Itead ) e Home Assistant . Il più delle volte funziona perfettamente. Ogni modulo ha il suo argomento, e ci sono tante configurazioni "leggere" in HASS quanti moduli, quindi possono essere controllati dal frontend web da singoli pulsanti di attivazione / disattivazione.
Ho sperimentato, tuttavia, situazioni di stato incoerenti in cui la luce è effettivamente accesa e l'interruttore in HASS è mostrato come spento (e anche la situazione opposta). Ispezionando i registri ho scoperto che Mosquitto non sta pubblicando alcuni messaggi su HASS (che dovrebbe essere abbonato a tutti gli argomenti sullo stato del modulo). Più specificamente, dati 4 moduli e i relativi argomenti di stato ( state/sonoff_xx/POWER
), HASS sembra essere abbonato solo agli argomenti dei moduli 2 e 4, ma non 1 e 3. Di seguito è riportato il comportamento previsto per il modulo 4, lo stesso può essere verificato per il altro modulo funzionante, ma la pubblicazione su HASS è mancante per gli altri due.
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))
Questa non è una domanda riguardante HASS e i moduli di inoltro, ma riguarda come scavare nello stato del server MQTT che dovrebbe avere alcuni client sottoscritti ma, guardando i registri, non lo è.
log_type all
inmosquitto.conf
), in realtà ho controllato la voce di iscrizione connettendomi da una console mentre ero injournalctl -f
esecuzione. Tuttavia, non sono riuscito a trovare voci sugli abbonamenti HASS perché ciò potrebbe accadere giorni fa e journald non è configurato come persistente, quindi avevo a portata di mano solo l'avvio corrente. Questo è il motivo per cui speravo di ispezionare lo stato di Mosquitto.