MQTT ノードでのローカル環境変数の使用

MQTT メッセージを処理するために MQTTSubscribe ノードおよび MQTTPublish ノードによって使用された値を見つけることができます。 ローカル環境のフィールドを使用して、 MQTTPublish ノードの動作を動的に変更することもできます。

それらのフィールドは、以下のメッセージ・ツリー構造内で利用できます。

LocalEnvironment フィールド

MQTTSubscribe ノードを使用すると、アクセス可能な情報が LocalEnvironment.MQTT.Input メッセージ・ツリーに保管されます。 この構造内フィールドについて、以下の表で説明します。
表 1. LocalEnvironment.MQTT.Input サブツリーに含まれるエレメントのリスト
エレメント名 エレメント・データ・タイプ 説明
複写 BOOLEAN メッセージが以前のメッセージの重複であるかどうか。 次のように設定TRUEORFALSE.
Retained BOOLEAN メッセージが保持されたメッセージかどうか。 次のように設定TRUEORFALSE.「保存」は次のように設定されます。TRUEメッセージがサーバーによって保持され、クライアントが最初にサーバーに接続したときに現在送信されている場合。
トピック CHARACTER 受信メッセージがパブリッシュされた先の MQTT トピックの名前。
QualityOfService INTEGER 受信メッセージのサービスの品質 次のように設定0(多くても 1 回)、1(少なくとも 1 回)、または2(正確に 1 回)。
この構造には、 MQTTSubscribe ノードの Out ターミナルに書き込まれる各メッセージが取り込まれます。

LocalEnvironment.Destination の各フィールド

MQTTPublish ノードを使用する場合、特定のプロパティーを LocalEnvironment.Destination.MQTT.Output メッセージ・ツリー内のエレメントで指定変更できます。 この構造内フィールドについて、以下の表で説明します。
表 2. LocalEnvironment.Destination.MQTT.Output サブツリーに含まれるエレメントのリスト
エレメント名 エレメント・データ・タイプ 説明
Retained BOOLEAN メッセージが保持されたメッセージかどうか。 次のように設定TRUEORFALSEデフォルトは次のとおりです。FALSE. Set to (設定)TRUEトピックのメッセージが、現在接続されているすべてのクライアントへの送達後に MQTT サーバーによって保持され、そのトピックへの接続時に新規クライアントに送達される必要がある場合。 各トピックに対して保持されるメッセージは、そのトピックに対してその前に保持されていたメッセージと置き換えられます。 このようにして、デバイスはトピックに接続すると即時に、最新の保持メッセージを受け取ることができます。
TopicName CHARACTER メッセージのパブリッシュ先の MQTT トピックの名前。
qos INTEGER パブリッシュされたメッセージのサービスの品質 次のように設定0(多くても 1 回)、1(少なくとも 1 回)、または2(正確に 1 回)。
connectionUrl CHARACTER MQTT サーバーに接続するために使用される URL。 この URL には、プロトコル、ホスト名、およびポートが含まれます。 以下に例を示します。
tcp://myMQTTserver.com:1883
接続が暗号化されている場合の例は以下のとおりです。
ssl://myMQTTserver.com:8883
connectionUrl プロパティーの値が設定された場合、以下の MQTT メッセージ・フロー・ノードのプロパティーの値よりも優先されます。
  • ホスト名
  • ポート
  • SSL の使用

LocalEnvironment.WrittenDestination の各フィールド

MQTTPublish ノードを使用すると、アクセス可能な情報が LocalEnvironment.WrittenDestination.MQTT メッセージ・ツリーに保管されます。 この構造内フィールドについて、以下の表で説明します。
表 3. LocalEnvironment.WrittenDestination.MQTT サブツリーに含まれるエレメントのリスト
エレメント名 エレメント・データ・タイプ 説明
ClientId CHARACTER クライアントの固有の名前。
DeliveryToken.isComplete BOOLEAN メッセージが MQTT トピックに正常にパブリッシュされたかどうか。 次のように設定TRUEORFALSE.
この構造には、 MQTTPublish ノードの Out ターミナルに書き込まれる各メッセージが取り込まれます。