action.devices.SYNC

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

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

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

Để biết thêm thông tin, 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ã của yêu cầu.

inputs Mảng

Bắt buộc.

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

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

Loại và tải trọng liên kết với 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 câu trả lời

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

Bắt buộc.

Mã 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 theo ý đị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 thể 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ó dạng không thể thay đổi so với dạng có thể thay đổi ở phía tác nhân, hãy sử dụng dạng 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 chế độ SYNC

debugString String

Lỗi chi tiết mà người dùng sẽ không nhìn thấy 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 nhiều thiết bị đượ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 về thiết bị.

id String

Bắt buộc.

Mã của thiết bị trên đám mây của nhà phát triển. Giá trị này phải là duy nhất cho người dùng và nhà phát triển, vì trong trường hợp chia sẻ, chúng tôi có thể sử dụng phương thức này để loại bỏ nhiều chế độ xem của cùng một thiết bị. Giá trị này phải là không thay đổi được cho thiết bị; nếu có thay đổi, Trợ lý sẽ coi thiết bị đó 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 điểm của thiết bị này. Thông tin 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 trait đượ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ẽ muốn dùng để mô tả thiết bị khi phản hồ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 trạng thái của thiết bị này có được cập nhật bằng Nguồn cấp dữ liệu theo thời gian thực 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ò).

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 String

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 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 theo logic một lần nếu cần (ví dụ: "phiên bản chương trình cơ sở X bị hỏng của đèn Y cần phải điều chỉnh màu" hoặc "lỗi bảo mật cần phải thông báo cho tất cả người dùng chương trình cơ sở Z").

manufacturer String

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

model String

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

hwVersion String

Số phiên bản cụ thể được gắn với 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 từng đặc điểm được mô tả trong mỗi tệp 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à EXECUTE sau này, tối đa 512 byte cho mỗi thiết bị. Hãy 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 chứa 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 nhằm thực thi cục bộ.

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

Mã thiết bị thay thế.

agentId String

Mã 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 nhân viên hỗ trợ xác định. Mã 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"
        }
      }
    ]
  }
}