當 Google 將本機可控制的裝置與雲端執行結果傳回的裝置相符時,就會建立本機執行路徑。
如要讓 Google 在本機網路上找到你的裝置,並建立本機執行要求路徑,您必須在 Actions 主控台中新增探索資訊。您也需要更新雲端執行服務的 SYNC
回應,讓 Google 瞭解可透過本機控制的裝置。
設定掃描設定資訊
如要指定探索資訊,請按照下列步驟操作:
- 在 Actions 控制台中開啟智慧型住宅專案。
- 按一下左側導覽面板中的「動作」。
- 依序點選「Configure local home SDK (optional)」>「Add device scan configuration」,然後點選「New scan 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 |
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": "..." } }] } }