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
QUERY
và
EXECUTE
.
Để 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: 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: 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" } } ] } }