標準化されたMQTTトピックはありますか?


7

私はMQTTに不慣れです(そして一般的にホームオートメーションです。システムと開発者の方がずっと好きです)、WiFiスイッチ(Sonoff Basic)をフラッシュし、それをMosquittoとHome Assistantのインスタンスに接続しました。これまでのところ、すべてが正常に機能しています。

Mosquittoバスを監視すると、次のようなメッセージが表示されます。

tele/hass1/LWT Online
tele/home/room1/switch1/LWT Online
cmnd/home/room1/switch1/POWER OFF

home/room1/switch1は自分のWiFiスイッチで定義したものを認識し、スイッチはcmnd(コマンド?誰もスイッチを操作しなかったので驚くでしょう)およびtele(テレメトリ?)で始まるいくつかのトピックを送信しました。tele/hass1/...Home Assistantによって生成されます。

プレフィックスの標準または一般に受け入れられている慣行はありますか?

MQTTドキュメントはトピックのフォーマット方法を説明しますが、構造は導入していません(で始まるトピックを除く$)ので、ベストプラクティスは、ベストプラクティス(またはフルストップ)であると思います。


1
トピックの先頭/にを付けないことでポイントを獲得しますが、これはトピックツリーに余分なnullセグメントを追加するため不要であり、ワイルドカードを適切に使用するのが少し難しくなるため、これは間違っています。
hardillb 2018年

回答:


7

一般に、いいえ— MQTT仕様を超えるトピックの命名に関する標準はありません

MQTTトピックをどのように作成するかについては、多くの固定規則ではなく、多くの意見があります。ベストプラクティスを正確に知りたい場合、これは少し不安になりますが、厳密なルールがないことは、MQTTブローカーで多くの柔軟性を得ることを意味します。

Home Assistantを使用している場合は、これにより少し絞り込まれますが、具体的には、見ているトピックはSonoffスイッチに固有のものです。APIはこのwikiで説明されています

  • メッセージ:cmnd

    • 発行元:右側に表示されるデバイス

    • 意図:Sonoffを制御します。構成を設定します。ステータスを尋ねる

  • メッセージ:統計

    • 発行:左側のソノフ

    • 意図:報告ステータスまたは構成メッセージ

  • メッセージ:テレ

    • 発行元:一部のSonoffs(温度測定デバイスなど)

    • 意図:定期的な間隔で非請求テレメトリ情報を報告する

参照されている図はここにありますが、上にリンクされているWikiページで最もよく表示されます。

一般に、使用される階層はメーカーまたはシステムに固有です。Sonoffデバイスは通常、文書化されたMQTTトピック構造に従い、他のメーカーは別のものを使用する場合があります。すべてのメーカーが自社の製品を適切に(またはまったく!)文書化するわけではありません。したがって、製品を購入するときは注意してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.