action.devices.SYNC

Ý định này yêu cầu danh sách các thiết bị liên kết với người dùng đã cho và các khả năng của họ.

Kích hoạt này được kích hoạt trong quá trình liên kết tài khoản hoặc khi người dùng đồng bộ hoá lại thiết bị của họ theo cách thủ công. Phương thức thực hiện đơn hàng phải phản hồi bằng các đặc điểm và thuộc tính được hỗ trợ cho mỗi thiết bị.

Phản hồi SYNC của bạn phải trả về tất cả thiết bị liên kết với người dùng. Chỉ số này không xác định liệu có thiết bị nào có thể truy cập được hay không. Việc này được xử lý bởi các phản hồi QUERYEXECUTE.

Để biết thêm thông tin chi tiết, hãy xem bài viết Xác định và đồng bộ hóa.

Định dạng yêu cầu

Các trường Loại Mô tả
requestId Chuỗi

Bắt buộc.

Mã nhận dạng của yêu cầu.

inputs Mảng

Bắt buộc.

Danh sách dữ liệu đầu vào khớp với yêu cầu ý định.

[item, ...] Đối tượng

Nhập và trọng tải liên quan đến yêu cầu ý định.

intent

Bắt buộc.

(Giá trị không đổi: "action.devices.SYNC")

Loại yêu cầu ý định.

Ví dụ

Yêu cầu ý định SYNC

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}

Định dạng phản hồi

Các trường Loại Mô tả
requestId Chuỗi

Bắt buộc.

Mã của yêu cầu tương ứng.

payload Đối tượng

Bắt buộc.

Dung lượng phản hồi của ý định.

agentUserId Chuỗi

Bắt buộc.

Thể hiện mã nhận dạng duy nhất (và không thể thay đổi) của người dùng trên nền tảng của nhân viên hỗ trợ. Chuỗi này không rõ ràng đối với Google. Vì vậy, nếu có một biểu mẫu không thể thay đổi và một biểu mẫu có thể thay đổi ở phía nhân viên hỗ trợ, hãy sử dụng biểu mẫu không thể thay đổi (ví dụ: số tài khoản thay vì email).

errorCode Chuỗi

Đối với các lỗi có hệ thống trên SYNC

debugString Chuỗi

Lỗi chi tiết sẽ không bao giờ được trình bày cho người dùng nhưng có thể được ghi lại hoặc sử dụng trong quá trình phát triển.

devices Mảng

Bắt buộc.

Danh sách thiết bị do người dùng sở hữu. Không có hoặc có thiết bị nào được trả về (không có thiết bị nào có nghĩa là người dùng không có thiết bị nào hoặc đã ngắt kết nối tất cả thiết bị).

[item, ...] Đối tượng

Siêu dữ liệu của thiết bị.

id Chuỗi

Bắt buộc.

Mã của thiết bị trên đám mây của nhà phát triển. Thông tin này phải là duy nhất đối với người dùng và nhà phát triển. Trong trường hợp chia sẻ, chúng tôi có thể sử dụng thông tin này để loại bỏ nhiều chế độ xem của cùng một thiết bị. Bạn không thể thay đổi giá trị của thiết bị này. Nếu thay đổi, Trợ lý sẽ xem đây là một thiết bị mới.

type Chuỗi

Bắt buộc.

Loại phần cứng của thiết bị.

traits Mảng

Bắt buộc.

Danh sách các đặc điểm mà thiết bị này có. Mục này xác định các lệnh, thuộc tính và trạng thái mà thiết bị hỗ trợ.

[item, ...] Chuỗi

Tên của đặc điểm được hỗ trợ.

name Đối tượng

Bắt buộc.

Tên của thiết bị này.

defaultNames Mảng

Danh sách các tên do nhà phát triển cung cấp thay vì người dùng, thường là tên nhà sản xuất, SKU, v.v.

[item, ...] Chuỗi

Tên mặc định của thiết bị.

name Chuỗi

Bắt buộc.

Tên chính của thiết bị, thường do người dùng cung cấp. Đây cũng là tên mà Trợ lý sẽ dùng để mô tả thiết bị trong phản hồi.

nicknames Mảng

Tên bổ sung do người dùng cung cấp cho thiết bị.

[item, ...] Chuỗi

Biệt hiệu của thiết bị.

willReportState Boolean

Bắt buộc.

Cho biết liệu thiết bị này có trạng thái của nguồn cấp dữ liệu theo thời gian thực được cập nhật hay không. (true để sử dụng Nguồn cấp dữ liệu theo thời gian thực cho trạng thái báo cáo và false để sử dụng mô hình thăm dò ý kiến).

notificationSupportedByAgent Boolean

(Mặc định: false)

Cho biết liệu thông báo có được bật cho thiết bị hay không.

roomHint Chuỗi

Cung cấp phòng hiện tại của thiết bị trong nhà của người dùng để đơn giản hóa quá trình thiết lập.

deviceInfo Đối tượng

Chứa các trường mô tả thiết bị để sử dụng trong logic một lần nếu cần (ví dụ: "phiên bản chương trình cơ sở bị hỏng X của ánh sáng Y yêu cầu điều chỉnh màu" hoặc "lỗi bảo mật yêu cầu thông báo cho tất cả người dùng chương trình cơ sở Z").

manufacturer Chuỗi

Đặc biệt hữu ích khi nhà phát triển là trung tâm dành cho các thiết bị khác. Google có thể cung cấp danh sách nhà sản xuất tiêu chuẩn tại đây, chẳng hạn như TP-Link và Smartthings đều mô tả theo cách "osram" giống nhau.

model Chuỗi

Mẫu hoặc giá trị nhận dạng SKU của thiết bị cụ thể.

hwVersion Chuỗi

Số phiên bản cụ thể được đính kèm với phần cứng, nếu có.

swVersion Chuỗi

Số phiên bản cụ thể đính kèm với phần mềm/chương trình cơ sở, nếu có.

attributes Đối tượng

Điều chỉnh cho phù hợp với các thuộc tính theo từng đặc điểm được mô tả trong mỗi tham chiếu giản đồ đặc điểm.

customData Đối tượng

Đối tượng do nhà phát triển xác định sẽ được đính kèm vào các yêu cầu QUERY và ExeccutE trong tương lai, tối đa 512 byte/thiết bị. Hãy sử dụng đối tượng này để lưu trữ thêm thông tin về thiết bị mà dịch vụ đám mây của bạn có thể cần, chẳng hạn như khu vực toàn cầu của thiết bị. Dữ liệu trong đối tượng này có một số hạn chế: Không có thông tin nhạy cảm, bao gồm nhưng không giới hạn ở Thông tin nhận dạng cá nhân.

otherDeviceIds Mảng

Danh sách mã nhận dạng thay thế dùng để xác định một thiết bị đã đồng bộ hoá trên đám mây để thực thi trên máy.

[item, ...] Đối tượng

Mã thiết bị thay thế.

agentId Chuỗi

Mã nhận dạng của nhân viên hỗ trợ. Nói chung, đây là mã dự án trong bảng điều khiển Actions.

deviceId Chuỗi

Bắt buộc.

Mã thiết bị do nhân viên hỗ trợ xác định. Mã thiết bị không được trùng lặp.

Ví dụ

Phản hồi ý định đồng bộ hoá

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "agentUserId": "1836.15267389",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.OUTLET",
        "traits": [
          "action.devices.traits.OnOff"
        ],
        "name": {
          "defaultNames": [
            "My Outlet 1234"
          ],
          "name": "Night light",
          "nicknames": [
            "wall plug"
          ]
        },
        "willReportState": false,
        "roomHint": "kitchen",
        "deviceInfo": {
          "manufacturer": "lights-out-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        },
        "otherDeviceIds": [
          {
            "deviceId": "local-device-id"
          }
        ],
        "customData": {
          "fooValue": 74,
          "barValue": true,
          "bazValue": "foo"
        }
      },
      {
        "id": "456",
        "type": "action.devices.types.LIGHT",
        "traits": [
          "action.devices.traits.OnOff",
          "action.devices.traits.Brightness",
          "action.devices.traits.ColorSetting"
        ],
        "name": {
          "defaultNames": [
            "lights out inc. bulb A19 color hyperglow"
          ],
          "name": "lamp1",
          "nicknames": [
            "reading lamp"
          ]
        },
        "willReportState": false,
        "roomHint": "office",
        "attributes": {
          "colorModel": "rgb",
          "colorTemperatureRange": {
            "temperatureMinK": 2000,
            "temperatureMaxK": 9000
          },
          "commandOnlyColorSetting": false
        },
        "deviceInfo": {
          "manufacturer": "lights out inc.",
          "model": "hg11",
          "hwVersion": "1.2",
          "swVersion": "5.4"
        },
        "customData": {
          "fooValue": 12,
          "barValue": false,
          "bazValue": "bar"
        }
      }
    ]
  }
}