當 Google 將可在本機控制的裝置與雲端履行回覆中傳回的裝置相符時,就會建立本機履行路徑 SYNC
。
如要讓 Google 在區域網路上探索裝置,並建立本機履行路徑,請在 Actions 控制台中新增探索資訊。您也需要更新雲端服務的 SYNC
回應,讓 Google 知道可從本機控制的裝置。
設定掃描設定資訊
如要指定探索資訊,請按照下列步驟操作:
在 Google Home Developer Console 中前往 Cloud-to-cloud 整合:
前往畫面左側的「專案」>「雲端對雲端」,然後選取整合的「編輯」。 在「設定與配置」頁面中,捲動至「店內取貨」,然後開啟這項設定。在每個測試網址欄位中輸入下列網址,插入專案 ID,然後按一下「儲存」:
https://<project-id>.web.app/local-home/index.html
按一下「裝置探索」下方的「+ 新增掃描設定」,即可新增掃描設定。
從下拉式選單中選取掃描比對通訊協定類型,然後輸入 Google 要掃描的值。
下表列出可新增的屬性,具體取決於您希望 Google 用來掃描裝置的通訊協定:
屬性 | 說明 | 範例值 |
---|---|---|
服務名稱 |
必要欄位。裝置發布的服務名稱,格式為 service.domain 。 |
_http._tcp.local |
名稱 |
必要欄位。以 |
my-device-[0-9]{4}\._http\._tcp\.local |
屬性 | 說明 | 範例值 |
---|---|---|
服務類型 |
必要欄位。UPnP 服務的完整 ID,格式為 domain:service:type:version 。 |
schemas-upnp-org:service:SwitchPower:1 |
OUI |
(選用步驟) 組織專屬 ID。 識別裝置製造商的 24 位元值。 通常是裝置 MAC 位址的前三個八位元。 |
1A:2B:3C |
屬性 | 說明 | 範例值 |
---|---|---|
探索地址 | 必要欄位。UDP 廣播的目的地 IP 位址。 | 255.255.255.255 |
廣播通訊埠 | 必要欄位。UDP 廣播的目標通訊埠。 | 5555 |
監聽通訊埠 | 必要欄位。UDP 探索回應的接聽埠。 | 5556 |
探索包 | 必要欄位。要在 UDP 廣播中傳送的酬載。 格式為以十六進位編碼的位元組字串。 |
48454C4C4F |
在雲端服務中更新 SYNC 回應
SYNC
意圖會向 Google 助理回報使用者控制的裝置及其功能。
為支援本機出貨,Local Home 平台會檢查智慧居家動作雲端出貨的 SYNC
回應,並嘗試將 otherDeviceIds
欄位中的裝置 ID 與 IDENTIFY
處理常式傳回的驗證 ID 相符。如果裝置項目沒有 otherDeviceIds
欄位,就會排除在本地履行程序之外。
在 SYNC
回應的 otherDeviceIds
欄位中,您需要設定可在本機控制的智慧住宅裝置 ID。該欄位會顯示在回應的 device
層級。Google 可以在任何具有指定 ID 的裝置上建立本機履行路徑。
使用 customData
欄位指定 Google 需要連線至獨立裝置的任何額外資料,或使用中樞裝置指定目標終端裝置 (例如連接埠號碼和其他通訊協定專屬資訊)。
範例
下列程式碼片段說明如何建立 SYNC
處理常式。
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "agentUserId": "1836.15267389", "devices": [{ "id": "123", "type": "action.devices.types.OUTLET", "traits": [ "action.devices.traits.OnOff" ], "name": { "name": "Night light" }, "willReportState": false, "otherDeviceIds": [{ "deviceId": "local-device-id" }], "customData": { "port": 5555, "authToken": "..." } }] } }