支援裝置探索

當 Google 將可在本機控制的裝置與雲端履行回覆中傳回的裝置相符時,就會建立本機履行路徑 SYNC

如要讓 Google 在區域網路上探索裝置,並建立本機履行路徑,請在 Actions 控制台中新增探索資訊。您也需要更新雲端服務的 SYNC 回應,讓 Google 知道可從本機控制的裝置。

設定掃描設定資訊

如要指定探索資訊,請按照下列步驟操作:

  1. Google Home Developer Console 中前往 Cloud-to-cloud 整合:

    前往開發人員控制台

  2. 前往畫面左側的「專案」>「雲端對雲端」,然後選取整合的「編輯」。 在「設定與配置」頁面中,捲動至「店內取貨」,然後開啟這項設定。在每個測試網址欄位中輸入下列網址,插入專案 ID,然後按一下「儲存」

    https://<project-id>.web.app/local-home/index.html

  3. 按一下「裝置探索」下方的「+ 新增掃描設定」,即可新增掃描設定。

  4. 從下拉式選單中選取掃描比對通訊協定類型,然後輸入 Google 要掃描的值。

下表列出可新增的屬性,具體取決於您希望 Google 用來掃描裝置的通訊協定:

mDNS
屬性 說明 範例值
服務名稱 必要欄位。裝置發布的服務名稱,格式為 service.domain _http._tcp.local
名稱

必要欄位。以 instance.service.domain 格式篩選專屬服務執行個體。

平台會將這個值視為規則運算式,並傳回任何相符的裝置。
my-device-[0-9]{4}\._http\._tcp\.local
UPnP
屬性 說明 範例值
服務類型 必要欄位。UPnP 服務的完整 ID,格式為 domain:service:type:version schemas-upnp-org:service:SwitchPower:1
OUI

(選用步驟) 組織專屬 ID

識別裝置製造商的 24 位元值。 通常是裝置 MAC 位址的前三個八位元。
1A:2B:3C
UDP
屬性 說明 範例值
探索地址 必要欄位。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": "..."
      }
    }]
  }
}