讀取交易
與 Matter 中的節點互動時,最先遇到的用途之一是從另一個節點讀取屬性,例如感應器的溫度值。在這種互動中,必須執行的第一個動作是讀取要求動作。

讀取要求動作
方向:啟動器 -> 目標
在此動作中,發起者會查詢目標,並提供下列資訊:
- 屬性要求:零或多個目標屬性的清單。這份清單由零或多個路徑組成,指向目標要求的屬性。
- 事件要求:零或多個路徑清單,指向目標要求的事件。
目標收到讀取要求動作後,會組裝包含所要求資訊的報表資料動作。
回報資料動作
方向:目標 -> 啟動器
在此動作中,目標會回應:
- 屬性報表:零或多個回報屬性的清單,這些屬性是在讀取動作要求中要求。
- 事件報表:零或多個回報事件的清單。
- 抑制回應:這個旗標會決定是否要抑制對這項動作的狀態回應。
- 訂閱 ID:如果這份報表屬於訂閱交易,則必須包含用於識別訂閱交易的整數。
狀態回應動作
方向:目標 -> 啟動器或啟動器 -> 目標
發起者收到要求的資料後,預設必須產生「狀態回應動作」。這項動作是由發起者傳送,用來確認已收到回報的資料。如果設定了「Suppress Status Response」旗標,發起者就不得傳送「Status Response Action」。
發起者傳送「狀態回應動作」,或發起者收到「報表資料動作」且已啟用「禁止回應」旗標後,讀取/報表查詢就會完成。
狀態回應動作只包含 status 欄位,用於確認作業成功或顯示失敗代碼。
讀取限制
「讀取要求動作」和「報表資料動作」為Unicast專用。此外,這些要求的路徑可能不會以節點群組為目標。
狀態回覆動作為 Unicast,無法做為群播的回覆。
訂閱交易

訂閱要求動作
方向:啟動器 -> 目標
除了單一讀取要求動作外,發起者也可以訂閱屬性或事件的定期更新。因此,定期資料更新後,可能會產生與訂閱交易相同的報表資料動作。
訂閱互動會在兩個節點之間建立關係,其中目標會定期產生報表資料動作,傳送給啟動器。發起者是「訂閱者」,目標是「發布者」。
訂閱要求動作包含:
- 間隔下限:報表間隔下限。
- 間隔上限:報表間隔時間上限。
- 屬性報表:零或多個在讀取動作要求中要求的已回報屬性清單。
- 事件報表:零或多個回報事件的清單。
在「訂閱要求」之後,目標會以「報表資料動作」回應發起者,其中包含第一批回報資料:已準備發布的資料。
發起者接著會傳送「狀態回應動作」給目標,確認「報表資料動作」。目標收到「狀態回應動作」後,如果回報沒有錯誤,就會傳送「訂閱回應動作」。
目標隨後會以協商間隔定期傳送「報表資料動作」,而發起者會回應這些動作,直到訂閱項目遺失或取消為止。
訂閱回覆動作
方向:目標 -> 啟動器
這是訂閱交易的最後一個動作,程序到此結束。It includes:
- 訂閱 ID:用於識別訂閱項目的整數。
- 間隔下限:報告間隔的最終決定下限。
- 時間間隔上限:報表間隔時間的最終決定上限。
訂閱限制
- 「訂閱要求動作」和「訂閱回應動作」是Unicast專用動作。
- 訂閱互動中的所有報表資料動作都必須有相同的訂閱 ID。
- 如果訂閱者在動作之間的最大協商間隔內未收到報表資料動作,訂閱就會終止。
- 根據先前的規則,發布商只要停止傳送週期性報表資料動作,即可終止訂閱互動。
- 訂閱者可以透過
INACTIVE_SUBSCRIPTION
狀態碼回應「報告資料動作」,終止訂閱互動。