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