支援裝置探索

當 Google 將本機可控制的裝置與雲端執行結果傳回的裝置相符時,就會建立本機執行路徑。

如要讓 Google 在本機網路上找到你的裝置,並建立本機執行要求路徑,您必須在 Actions 主控台中新增探索資訊。您也需要更新雲端執行服務的 SYNC 回應,讓 Google 瞭解可透過本機控制的裝置。

設定掃描設定資訊

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

  1. 在 Actions 控制台中開啟智慧型住宅專案。
  2. 按一下左側導覽面板中的「動作」
  3. 依序點選「Configure local home SDK (optional)」>「Add device scan configuration」,然後點選「New scan config」
  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 處理常式。

獨立/Hub
{
  "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": "..."
      }
    }]
  }
}