當 Google 將本機可控制的裝置與雲端執行結果傳回的裝置相符時,就會建立本機執行路徑。SYNC
如要讓 Google 在本機網路上偵測裝置並建立本機執行路徑,您必須在 Actions 主控台中新增偵測資訊。您也需要更新雲端執行服務的 SYNC
回應,讓 Google 瞭解可透過本機控制的裝置。
設定掃描設定資訊
如要指定探索資訊,請按照下列步驟操作:
前往 Google Home Developer Console 中的 Cloud-to-cloud 整合:
前往畫面左側的「Project」>「Cloud-to-cloud」,然後選取要整合的「Edit」。在「設定和配置」頁面中,捲動至「本機訂單履行」,然後將設定切換為開啟。在每個測試網址欄位中輸入下列網址,插入專案 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 |
Discovery 封包 | 必要欄位。要在 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": "..." } }] } }