本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
管理 IoT 裝置命令和事件
除了執行重要的安全性、軟體和硬體更新之外,裝置命令還可讓您遠端管理實體裝置,確保完全控制裝置。使用大型裝置機群時,知道裝置何時執行命令可讓您監督整個裝置實作。裝置命令或自動更新會觸發裝置狀態變更,進而建立新的裝置事件。此裝置事件將觸發自動傳送至客戶受管目的地的通知。
裝置命令
命令請求是傳送至裝置的命令。命令請求包含承載,指定要採取的動作,例如開啟燈泡。若要傳送裝置命令,受管整合會代表最終使用者呼叫 SendManagedThingCommand
API,並將命令請求傳送至裝置。
對 的回應SendManagedThingCommand
是 traceId
,您可以盡可能使用此回應traceId
來追蹤命令交付和任何相關的命令回應工作流程。
如需 SendManagedThingCommand
API 操作的詳細資訊,請參閱 SendManagedThingCommand。
UpdateState
動作
若要更新裝置的狀態,例如光線開啟的時間,請在呼叫 SendManagedThingCommand
API 時使用 UpdateState
動作。提供您在 中更新的資料模型屬性和新值parameters
。以下範例說明將燈泡的 更新為 OnTime
的 SendManagedThingCommand
API 請求5
。
{ "Endpoints": [ { "endpointId": "1", "capabilities": [ { "id": "matter.OnOff", "name": "On/Off", "version": "1", "actions": [ { "name": "UpdateState", "parameters": { "OnTime": 5 } } ] } ] } ] }
ReadState
動作
若要取得裝置的最新狀態,包括所有資料模型屬性的目前值,請在呼叫 SendManagedThingCommand
API 時使用 ReadState
動作。在 中propertiesToRead
,您可以使用下列選項:
-
提供特定資料模型屬性以取得 的最新值,例如
OnOff
判斷光線是開啟還是關閉。 -
使用萬用字元運算子 (
*
) 讀取功能的所有裝置狀態屬性。
以下範例說明使用 ReadState
動作之 SendManagedThingCommand
API 請求的兩種案例:
{ "Endpoints": [ { "endpointId": "1", "capabilities": [ { "id": "aws.OnOff", "name": "On/Off", "version": "1", "actions": [ { "name": "ReadState", "parameters": { "propertiesToRead": [ "OnOff" ] } } ] } ] } ] }
{ "Endpoints": [ { "endpointId": "1", "capabilities": [ { "id": "aws.OnOff", "name": "On/Off", "version": "1", "actions": [ { "name": "ReadState", "parameters": { "propertiesToRead": [ "*" ] } } ] } ] } ]}
裝置事件
裝置事件包含裝置的目前狀態。這可能表示裝置已變更狀態,或正在報告其狀態,即使狀態未變更。它包含資料模型中定義的屬性報告和事件。事件可能是洗水機器週期已完成,或調溫器已達到最終使用者設定的目標溫度。
裝置事件通知
最終使用者可以訂閱他們建立的特定客戶受管目的地,以更新特定裝置事件。若要建立客戶受管目的地,請呼叫 CreateDestination
API。當裝置向受管整合報告裝置事件時,如果有客戶受管目的地,則會通知該目的地。