action.devices.SYNC

Ý định này yêu cầu danh sách các thiết bị được liên kết với một người dùng nhất định và các chức năng của họ.

Sự kiện 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ị theo cách thủ công. Dịch vụ thực hiện đơn hàng của bạn phải phản hồi bằng các thuộc tính và đặc điểm được hỗ trợ cho từng thiết bị.

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

Để biết thêm thông tin chi tiết, hãy xem phần Xác định và đồng bộ hoá.

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

Trường Loại Mô tả
requestId String

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 các đầu vào khớp với yêu cầu về ý định.

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

Loại và tải trọng liên kết với yêu cầu về ý định.

intent

Bắt buộc.

(Giá trị hằng số: "action.devices.SYNC")

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

Ví dụ

Yêu cầu về ý định SYNC

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

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

Trường Loại Mô tả
requestId String

Bắt buộc.

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

payload Đối tượng

Bắt buộc.

Tải trọng phản hồi về ý định.

agentUserId String

Bắt buộc.

Phản ánh mã nhận dạng người dùng duy nhất (và không thay đổi) trên nền tảng của tác nhân. 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 bất biến so với một biểu mẫu có thể thay đổi ở phía tác nhân, hãy sử dụng biểu mẫu bất biến (ví dụ: số tài khoản thay vì email).

errorCode String

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

debugString String

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 các thiết bị thuộc sở hữu của người dùng. Trả về không hoặc nhiều thiết bị (không thiết bị có nghĩa là người dùng không có thiết bị 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 String

Bắt buộc.

Mã nhận dạng của thiết bị trong đám mây của nhà phát triển. Mã này phải là duy nhất đối với người dùng và nhà phát triển, vì trong trường hợp chia sẻ, chúng tôi có thể dùng mã này để loại bỏ các lượt xem trùng lặp trên cùng một thiết bị. Đây là một giá trị bất biến đối với thiết bị; nếu giá trị này thay đổi, Trợ lý sẽ coi đó là một thiết bị mới.

type String

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 của thiết bị này. Thao tá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, ...] String

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 tên do nhà phát triển cung cấp chứ không phải người dùng, thường là tên nhà sản xuất, SKU, v.v.

[item, ...] String

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

name String

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ẽ ưu tiên dùng để mô tả thiết bị trong các câu trả lời. Tên sẽ bị cắt bớt nếu vượt quá giới hạn 60 điểm mã Unicode (ký tự) và sẽ không có lỗi nào xảy ra. Nhà phát triển chịu trách nhiệm xử lý tên dài.

nicknames Mảng

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

[item, ...] String

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

willReportState Boolean

Bắt buộc.

Cho biết liệu Nguồn cấp dữ liệu theo thời gian thực có cập nhật trạng thái của thiết bị này 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 thiết bị có bật thông báo hay không.

roomHint String

Cung cấp thông tin về phòng hiện tại của thiết bị trong nhà người dùng để đơn giản hoá 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 phần mềm X bị lỗi của đèn Y cần điều chỉnh màu" hoặc "lỗ hổng bảo mật cần thông báo cho tất cả người dùng về phần mềm Z").

manufacturer String

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

model String

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

hwVersion String

Số phiên bản cụ thể được gắn vào phần cứng (nếu có).

swVersion String

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

attributes Đối tượng

Phù hợp với các thuộc tính theo đặc điểm được mô tả trong từng tài liệu tham khảo về 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à EXECUTE trong tương lai, tối đa 512 byte cho mỗi thiết bị. Sử dụng đối tượng này để lưu trữ thông tin bổ sung 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 các mã nhận dạng thay thế dùng để xác định một thiết bị được đồng bộ hoá trên đám mây để thực thi cục bộ.

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

Mã thiết bị thay thế.

agentId String

Mã nhận dạng của nhân viên hỗ trợ. Thông thường, đây là mã dự án trong Bảng điều khiển Actions.

deviceId String

Bắt buộc.

Mã thiết bị do tác nhân xác định. Mã nhận dạng thiết bị phải là duy nhất.

Ví dụ

Phản hồi ý định 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": {
          "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"
        }
      }
    ]
  }
}