ご案内: 新しいデベロッパー プレビュー プログラムがまもなくリリースされます。こちらからお申し込みのうえ、新しいツールを試してフィードバックをいち早くご利用ください。

トランザクションの読み取り

トランザクションの読み取り

Matter でノードを操作する最初のユースケースの 1 つは、センサーからの温度値など、別のノードから属性を読み取ることです。このようなやり取りでは、最初に実行する必要があるアクションは読み取りリクエスト アクションです。

読み取りトランザクションのオペレーションの順序
図 1: 読み取りトランザクション

読み取りリクエストの操作

方向: イニシエータ -> ターゲット

このアクションでは、イニシエータは次のターゲットに対してクエリを実行します。

  • Attribute Requests: ゼロ個以上のターゲットの属性のリスト。このリストは、ターゲットのリクエストされた属性への 0 個以上のパスで構成されます。
  • イベント リクエスト: ターゲットがリクエストしたイベントへのゼロ以上のパスのリスト。

ターゲットは、読み取りリクエスト アクションを受信すると、リクエストされた情報を含むレポート データ アクションを組み立てます。

レポート データ アクション

方向: ターゲット -> イニシエータ

このアクションでは、ターゲットは次のように応答します。

  • 属性レポート: 読み取りアクション リクエストでリクエストされたゼロ個以上の属性のリスト。
  • イベント レポート: 報告されたゼロ件以上のイベントのリスト。
  • レスポンスの抑制: このアクションに対するステータス レスポンスを抑制するかどうかを決定するフラグ。
  • 定期購入 ID: このレポートが定期購入トランザクションに含まれる場合は、定期購入の取引を識別する整数を含める必要があります。

ステータス対応アクション

方向: [Target] -> [Initiator] または [Initiator] -> [Target]

イニシエータは、リクエストされたデータを受信すると、デフォルトでステータス レスポンス アクションを生成する必要があります。このアクションはイニシエータから送信され、報告されたデータの受信が確認されます。[Suppress Status Response] フラグが設定されている場合、イニシエータはステータス レスポンス アクションを送信できません。

[Insator] からステータス レスポンス アクションが送信されるか、[Suppress Response] フラグを有効にしてレポート データ アクションがイニシエータで受信されると、読み取り/レポートクエリが終了します。

ステータス レスポンス アクションに含まれる status フィールドは、オペレーションの成功を通知するか、エラーコードかを示します。

読み取りの制限

読み取りリクエスト アクションとレポートデータ アクションは Unicast 専用です。また、これらのリクエストのパスはノードのグループをターゲットとしない場合があります。

ステータス レスポンス アクションは Unicast のみとなり、グループキャストへのレスポンスとして生成することはできません。

サブスクリプション取引

サブスクリプション トランザクションのオペレーションの順序
図 2: 定期購入取引

購読リクエスト アクション

方向: イニシエータ -> ターゲット

イニシエータは、単一の読み取りリクエスト アクションに加えて、属性やイベントの定期的な更新をサブスクライブすることもできます。したがって、定期購入トランザクションの後に定期的なデータ更新が行われても、同じレポートデータ アクションを生成できます。

サブスクリプション インタラクションは、ターゲットが定期的にレポートデータ アクションをイニシエータに生成する 2 つのノード間の関係を作成します。開始者はサブスクライバー、ターゲットはパブリッシャーです。

購読リクエスト アクションに含まれる内容:

  • 最小間隔(最小): レポートの最小間隔。
  • Max Interval Ceiling: レポートの最大間隔。
  • 属性レポート: 読み取りアクション リクエストでリクエストされたゼロ個以上の属性のリスト。
  • イベント レポート: 0 個以上のレポートされたイベントのリスト。

サブスクライブ リクエスト後、ターゲットはイニシエータに、レポートデータの最初のバッチ(Primed 公開データ)を含むレポートデータ アクションを返します。

次に、イニシエータは、ターゲットに送信されたステータス レスポンス アクションを使用して、レポートデータ アクションを確認します。ターゲットは、エラーを報告しないステータス レスポンス アクションを受信すると、登録レスポンス アクションを送信します。

その後、ターゲットは交渉済みの間隔でレポート データ アクションを定期的に送信し、サブスクリプションが失われるかキャンセルされるまでイニシエータがこれらのアクションに応答します。

購読の応答アクション

方向: ターゲット -> イニシエータ

これは、定期購入取引での最後のアクションであり、プロセスが終了します。次の内容が含まれます。

  • 定期購入 ID: 定期購入を識別する整数。
  • Min Interval: レポートの最小間隔(最終)
  • 最大間隔: レポートの最大間隔(最終)

定期購入の制限

  • 購読リクエスト アクションと購読レスポンス アクションは Unicast のみのアクションです。
  • 定期購入のインタラクション内のすべてのレポートデータ アクションは同じサブスクリプション ID を持つ必要があります。
  • サブスクライバーが、アクション間の最大交渉間隔内でレポートデータ アクションを受信しない場合、サブスクリプションは終了します。
  • 前述のルールにより、ニュース メディアは定期的なレポートデータ アクションの送信を停止するだけで、定期購入インタラクションを終了できます。
  • 定期購入者は、INACTIVE_SUBSCRIPTION ステータス コードでレポートデータ アクションに応答することで、定期購入の操作を終了できます。