歡迎使用 Google Home 開發人員中心,探索全新功能,瞭解如何開發智慧住宅動作。注意:請繼續在「動作」控制台中建立動作。

支援裝置探索

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

當 Google 將本機控制的裝置與雲端執行要求在 SYNC 回應中傳回的裝置進行比對時,就會建立本機出貨路徑。

如要讓 Google 在區域網路上探索您的裝置並建立本機執行路徑,您必須在 Actions 主控台中新增探索資訊。此外,您也需要更新 Cloud 出貨要求中的 SYNC 回應,讓 Google 知道本機控制的裝置。

設定掃描設定資訊

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

  1. 在動作控制台中開啟智慧型住宅專案。
  2. 在左側導覽面板中按一下 [動作]
  3. 在「Configure local home SDK (Optional)」(設定本機家用 SDK (選用)) >「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 助理回報使用者控制的裝置及其功能。

為支援本機執行要求,本機主畫面平台會檢查智慧住宅動作的 Cloud 執行要求中的 SYNC 回應,並嘗試將 otherDeviceIds 欄位中的裝置 ID 與 IDENTIFY 處理常式傳回的驗證 ID 進行比對。不含 otherDeviceIds 欄位的裝置項目會從本機執行中排除。

SYNC 回應的 otherDeviceIds 欄位中,您必須設定本機控制的智慧住宅裝置的裝置 ID。該欄位會顯示在回應的 device 層級。Google 可以在具有指定 ID 的任何裝置上建立本機執行要求路徑。

使用 customData 欄位指定 Google 連線至獨立裝置時所需的任何其他資料,或是透過 Hub 指定終端裝置 (例如通訊埠編號和其他通訊協定專屬資訊)。

範例

下列程式碼片段說明如何建立 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": "..."
      }
    }]
  }
}