當 Google 將可由本機控制的裝置與 Cloud 執行要求所傳回的 SYNC
回應中傳回的裝置進行比對時,系統就會建立本機執行要求路徑。
如要讓 Google 在區域網路上發現您的裝置並建立本機執行要求路徑,您必須在 Actions 控制台中新增探索資訊。此外,您也需要從雲端執行要求更新 SYNC
回應,讓 Google 知道該本機可控制的裝置。
設定掃描設定資訊
如要指定探索資訊,請按照下列步驟操作:
- 在動作主控台中開啟智慧型住宅專案。
- 在左側導覽面板中按一下「動作」。
- 在「Configure local home SDK (optional)」(設定本機 Home SDK (選用)) >「Add device 掃描設定」(新增裝置掃描設定) 底下,按一下「NewScan config」(新增掃描設定)。
- 從下拉式選單中選取掃描相符的通訊協定類型,然後輸入值供 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 |
排卵 |
選用設定。 機構專屬 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": "..." } }] } }