當 Google 將本機可控制的裝置與雲端執行要求 SYNC 回應中傳回的裝置進行比對時,系統會建立本機執行要求路徑。
如要讓 Google 在區域網路上探索裝置,並建立本機執行路徑,您必須在 Actions 控制台中新增探索資訊。您也需要更新雲端執行服務的 SYNC 回應,讓 Google 知道裝置可由本機控制。
設定掃描設定資訊
如要指定探索資訊,請按照下列步驟操作:
在 Google Home Developer Console 中前往 Cloud-to-cloud 整合:
前往畫面左側的「專案」>「雲端對雲端」,然後選取整合項目的「編輯」。在「設定和配置」頁面中,捲動至「當地出貨」,然後開啟設定。在每個測試網址欄位中輸入下列網址,插入專案 ID,然後按一下「Save」(儲存):
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": "..." } }] } }