「智慧型住宅意圖」是簡單的訊息物件,用來描述要執行的 smart home 動作,例如開燈或將音訊投放到揚聲器。
action.devices
命名空間包含所有 smart home 意圖,您必須為這些意圖提供執行要求。每當 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 驗證包括合作夥伴設定 WebView、OAuth WebView、選用設定與條款,以及合作夥伴雲端服務。接著,合作夥伴基礎架構會將 OAuth 憑證傳回 Google 助理用戶端應用程式。合作夥伴雲端服務會將可用的裝置和功能傳送至 Google 助理服務,再將資訊儲存在 Home Graph 中。](https://developers.home.google.com/static/cloud-to-cloud/primer/images/smarthome001.png?authuser=7&hl=zh-tw)
為避免取消連結帳戶或重新連結使用者帳戶,您可以傳送要求同步處理至 Assistant。這會將 action.devices.SYNC
意圖傳送至執行要求,以同步處理裝置和功能清單。詳情請參閱「實作要求同步處理」一文。
![SYNC 意圖的流程圖](https://developers.home.google.com/static/cloud-to-cloud/primer/images/smarthome002.png?authuser=7&hl=zh-tw)
在本機執行要求設定期間,本機首頁平台會檢查 smart home Action 雲端執行要求的 SYNC
回應。如要進一步瞭解如何修改 SYNC
回應以支援本機執行要求,請參閱在雲端執行要求中更新 SYNC 回應。
查詢
action.devices.QUERY
意圖是用於查詢 smart home 裝置目前的狀態。
當使用者查詢裝置狀態時,可以回答如「Ok Google,廚房的燈號是多少?」這類問題。Assistant 會將 action.devices.QUERY
意圖傳送至執行要求。
![QUERY 意圖的流程圖](https://developers.home.google.com/static/cloud-to-cloud/primer/images/query-diagram.png?authuser=7&hl=zh-tw)
為提供最佳使用者體驗,建議您實作回報狀態,主動將使用者裝置的目前狀態直接回報給 Google Home Graph。舉例來說,這可讓 Assistant 瞭解使用者是否透過實體燈具開關開啟智慧型燈具。
![使用「回報狀態」功能回報裝置狀態](https://developers.home.google.com/static/cloud-to-cloud/primer/images/smarthome004.png?authuser=7&hl=zh-tw)
執行
action.devices.EXECUTE
意圖的用途是提供在 smart home 裝置上執行的指令。
當使用者透過 Assistant 將指令傳送至裝置時,執行要求會收到 action.devices.EXECUTE
意圖,說明要執行的動作和要執行操作的裝置。使用者可以使用「Ok Google,打開客廳的燈」這類指令,在裝置上執行動作。
![執行意圖的流程圖](https://developers.home.google.com/static/cloud-to-cloud/primer/images/smarthome003.png?authuser=7&hl=zh-tw)
取消連結
當使用者將應用程式帳戶與 Assistant 取消連結時,系統會觸發 action.devices.DISCONNECT
意圖,通知您。收到 action.devices.DISCONNECT
意圖後,請勿回報這位使用者裝置的狀態。