意圖

智慧住宅意圖是簡單的訊息物件,用於描述要執行的 Cloud-to-cloud 整合,例如開啟燈具或將音訊投放到音箱。

所有 smart home 意圖都包含在 action.devices 命名空間中,您必須為這些意圖提供執行要求。每當 Google Assistant 將意圖傳送至執行要求時,系統都會在授權標頭中傳遞使用者的第三方 OAuth 2 存取權杖。

支援的 smart home 意圖如下:

同步處理

action.devices.SYNC 意圖用於要求使用者已連結且可用的 smart home 裝置清單。

使用者透過 Google Home app (GHA) 設定裝置時,也會通過雲端基礎架構的驗證。接著,Assistant 會收到 OAuth2 權杖。此時,Assistant 會傳送 action.devices.SYNC 意圖至執行要求,從雲端基礎架構擷取使用者裝置和功能的初始清單。

下圖顯示 Google 基礎架構與合作夥伴基礎架構之間的互動。Google 基礎架構會向 Google 助理用戶端應用程式提供合作夥伴清單,然後傳送至合作夥伴基礎架構,完成 OAuth 驗證。合作夥伴端的 OAuth 驗證包括合作夥伴設定網頁檢視、OAuth 網頁檢視、選用設定和條款,以及合作夥伴雲端服務。合作夥伴基礎架構會將 OAuth 憑證傳回 Google 助理用戶端應用程式。合作夥伴雲端服務會將可用的裝置和功能傳送至 Google 助理服務,後者會將資訊儲存在 Home Graph 中。
圖 1:Google 與合作夥伴基礎架構之間的互動

如要避免取消連結及重新連結使用者帳戶,您可以傳送同步要求至 Assistant。這會將 action.devices.SYNC 意圖傳送至執行要求,同步處理裝置和功能清單。詳情請參閱「實作要求同步」。

SYNC 意圖的流程圖
圖 2:SYNC 意圖

設定本機執行時,Local Home 平台會檢查smart home動作雲端執行的SYNC回應。如要進一步瞭解如何修改 SYNC 回應以支援本機執行,請參閱「更新雲端執行中的 SYNC 回應」。

QUERY

action.devices.QUERY 意圖用於查詢 smart home 裝置的目前狀態。

使用者查詢裝置狀態時,例如「Ok Google,廚房開了哪些燈?」,Assistant 會將 action.devices.QUERY 意圖傳送至執行要求。

QUERY 意圖的流程圖
圖 3:QUERY 意圖

為提供最佳使用者體驗,建議您導入回報狀態功能,主動將使用者裝置的目前狀態直接回報給Google Home Graph。舉例來說,Assistant 可藉此得知使用者是否透過實體燈具開關開啟智慧型燈具。

使用 Report State 回報裝置狀態
圖 4:回報裝置狀態

執行

action.devices.EXECUTE 意圖用於提供要在 smart home 裝置上執行的指令。

使用者透過 Assistant 向裝置傳送指令時,執行要求會收到 action.devices.EXECUTE 意圖,其中說明要執行的動作和裝置。使用者可以透過「Ok Google,打開客廳的燈」等指令,在裝置上執行動作。

EXECUTE 意圖的流程圖
圖 5:EXECUTE 意圖

取消連結

當使用者取消連結應用程式帳戶與 Assistant 時,系統會觸發 action.devices.DISCONNECT 意圖通知您。收到 action.devices.DISCONNECT 意圖後,請勿回報這位使用者裝置的狀態。