Hỗ trợ khám phá thiết bị

Đường dẫn thực hiện cục bộ được thiết lập khi Google so khớp một thiết bị có thể điều khiển cục bộ với một thiết bị được trả về trong phản hồi SYNC từ quá trình thực hiện trên đám mây.

Để cho phép Google khám phá thiết bị của bạn trên mạng cục bộ và thiết lập đường dẫn thực hiện cục bộ, bạn cần thêm thông tin khám phá trong Bảng điều khiển Actions. Bạn cũng cần cập nhật phản hồi SYNC từ phương thức thực hiện trên đám mây để cho Google biết về thiết bị có thể điều khiển cục bộ.

Thiết lập thông tin cấu hình quét

Để chỉ định thông tin khám phá, hãy làm theo các bước sau:

  1. Chuyển đến phần tích hợp Cloud-to-cloud trong Google Home Developer Console:

    Chuyển đến Developer Console.

  2. Chuyển đến Project > Cloud-to-cloud (Dự án > Từ đám mây sang đám mây) ở bên trái màn hình, sau đó chọn Edit (Chỉnh sửa) để tích hợp. Trên trang Thiết lập và định cấu hình, hãy di chuyển đến mục Thực hiện đơn hàng tại địa phương rồi bật chế độ cài đặt này. Nhập URL sau vào từng trường URL thử nghiệm, chèn mã dự án của bạn rồi nhấp vào Lưu:

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

  3. Nhấp vào + Thêm cấu hình quét trong phần Phát hiện thiết bị để thêm cấu hình quét mới.

  4. Chọn một loại giao thức so khớp quét trong trình đơn thả xuống rồi nhập các giá trị để Google quét.

Các bảng sau đây cho thấy những thuộc tính bạn có thể thêm, dựa trên giao thức mà bạn muốn Google sử dụng để quét tìm thiết bị của bạn:

mDNS
Thuộc tính Mô tả Giá trị mẫu
Tên dịch vụ Bắt buộc. Tên dịch vụ do thiết bị xuất bản ở định dạng service.domain. _http._tcp.local
Tên

Bắt buộc. Lọc một phiên bản dịch vụ duy nhất theo định dạng instance.service.domain.

Nền tảng coi giá trị này là một biểu thức chính quy và trả về mọi thiết bị phù hợp.
my-device-[0-9]{4}\._http\._tcp\.local
UPnP
Thuộc tính Mô tả Giá trị mẫu
Loại dịch vụ Bắt buộc. Giá trị nhận dạng đủ điều kiện của dịch vụ UPnP ở định dạng domain:service:type:version. schemas-upnp-org:service:SwitchPower:1
OUI

Không bắt buộc. Mã nhận dạng duy nhất về mặt tổ chức.

Giá trị 24 bit xác định nhà sản xuất thiết bị. Thường là ba octet đầu tiên của địa chỉ MAC của thiết bị.
1A:2B:3C
UDP
Thuộc tính Mô tả Giá trị mẫu
Địa chỉ khám phá Bắt buộc. Địa chỉ IP đích cho thông báo truyền tin UDP. 255.255.255.255
Cổng phát sóng Bắt buộc. Cổng đích cho thông báo truyền tin UDP. 5555
Cổng nghe Bắt buộc. Cổng nghe cho phản hồi khám phá UDP. 5556
Gói thông tin khám phá

Bắt buộc. Phần tải trọng cần gửi trong thông báo truyền tin UDP.

Được định dạng dưới dạng chuỗi byte được mã hoá thập lục phân.
48454C4C4F

Cập nhật phản hồi SYNC trong phương thức thực hiện trên đám mây

Ý định SYNC báo cáo cho Trợ lý biết những thiết bị mà người dùng điều khiển và chức năng của các thiết bị đó.

Để hỗ trợ phương thức thực hiện tại địa phương, nền tảng Local Home sẽ kiểm tra phản hồi SYNC từ phương thức thực hiện trên đám mây của Hành động nhà thông minh và cố gắng so khớp mã thiết bị trong trường otherDeviceIds với mã xác minh do trình xử lý IDENTIFY trả về. Các mục thiết bị không có trường otherDeviceIds sẽ bị loại trừ khỏi quy trình thực hiện tại địa phương.

Trong trường otherDeviceIds của phản hồi SYNC, bạn cần đặt mã thiết bị của các thiết bị nhà thông minh có thể điều khiển cục bộ. Trường này xuất hiện ở cấp device trong phản hồi. Google có thể thiết lập đường dẫn thực hiện tại địa phương trên mọi thiết bị có mã nhận dạng đã cho.

Sử dụng trường customData để chỉ định mọi dữ liệu bổ sung mà Google cần để kết nối với một thiết bị độc lập hoặc để nhắm đến các thiết bị cuối bằng một trung tâm (ví dụ: số cổng và thông tin khác theo giao thức cụ thể).

Ví dụ

Đoạn mã sau đây cho biết cách bạn có thể tạo trình xử lý SYNC.

Độc lập/Trung tâm
{
  "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": "..."
      }
    }]
  }
}