Mosquittoサーバーの特定のトピックにサブスクライブしているクライアントをリストする
それが一般的な質問ですが、ここではシナリオを提供します。 私はMosquittoサーバーを実行して、espリレーモジュール(IteadのSonoff)とHome Assistantの間にmqtt通信を提供しています。ほとんどの場合、問題なく動作します。各モジュールには独自のトピックがあり、HASSにはモジュールと同じ数の「軽い」構成があるため、個々のトグルボタンでWebフロントエンドから制御できます。 ただし、ライトが実際にオンになっていて、HASSのトグルがオフとして表示される(およびその逆の状況も)一貫性のない状態の状況を経験しました。ログを調査したところ、MosquittoがHASSに特定のメッセージを発行していないことがわかりました(すべてのモジュール状態トピックにサブスクライブする必要があります)。具体的には、4つのモジュールとそれに対応する状態トピック(state/sonoff_xx/POWER)を指定すると、HASSはモジュール2と4のトピックにのみサブスクライブされ、1と3にはサブスクライブされないようです。モジュール4の予想される動作は次のとおりです。他の作業モジュールですが、HASSへの公開は他の2つにはありません。 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)) これはHASSとリレーモジュールに関する問題ではありませんが、特定のクライアントがサブスクライブしていると想定されているMQTTサーバーのステータスを調べる方法についてですが、ログを見るとわかりません。