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 người dùng đã cho và các tính năng của thiết bị.
Ý định 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 tự động đồng bộ lại thiết bị của họ. Quy trình thực hiện của bạn phải 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 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ể liên hệ với thiết bị cụ thể nào hay không. Việc này được xử lý bằng 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ộ 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 |
Array |
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, ...] |
Object |
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ị hằng số: 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
| Trường | Loại | Mô tả |
|---|---|---|
requestId |
String |
Bắt buộc. Mã của yêu cầu tương ứng. |
payload |
Object |
Bắt buộc. Tải trọng phản hồi ý định. |
agentUserId |
String |
Bắt buộc. Phản ánh mã 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 minh bạch đối với Google, vì vậy, nếu có một biểu mẫu không thay đổi 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 không thay đổi (ví dụ: số tài khoản thay vì email). |
errorCode |
String |
Đối với các lỗi có 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 |
Array |
Bắt buộc. Danh sách các thiết bị mà người dùng sở hữu. Trả về 0 hoặc nhiều thiết bị (0 thiết bị 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, ...] |
Object |
Siêu dữ liệu của thiết bị. |
id |
String |
Bắt buộc. Mã 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ể sử dụng mã này để loại bỏ các lượt xem trùng lặp của cùng một thiết bị. Mã này không được thay đổi đối với thiết bị; nếu mã 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ị. Phải khớp với mẫu: |
traits |
Array |
Bắt buộc. Danh sách các đặc điểm mà thiết bị này có. Điều 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ợ. Phải khớp với mẫu: |
name |
Object |
Bắt buộc. Tên của thiết bị này. |
defaultNames |
Array |
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 được đưa ra. Nhà phát triển chịu trách nhiệm xử lý tên dài. |
nicknames |
Array |
Tên bổ sung do người dùng cung cấp cho thiết bị. |
[item, ...] |
String |
Tên thiết bị. |
willReportState |
Boolean |
Bắt buộc. Cho biết liệu thiết bị này có được Nguồn cấp dữ liệu theo thời gian thực cập nhật trạng thái hay không. (true để sử dụng Nguồn cấp dữ liệu theo thời gian thực để báo cáo trạng thái 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 |
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 |
Object |
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ở X bị hỏng của đèn Y cần điều chỉnh màu" hoặc "lỗ hổng bảo mật yêu cầu thông báo cho tất cả người dùng về chương trình cơ sở Z"). |
manufacturer |
String |
Đặc biệt hữu ích khi nhà phát triển là trung tâm cho các thiết bị khác. Google có thể cung cấp danh sách tiêu chuẩn các nhà sản xuất tại đây để ví dụ: 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 đính kèm vào phần cứng (nếu có). |
swVersion |
String |
Số phiên bản cụ thể được đính kèm vào phần mềm/chương trình cơ sở (nếu có). |
attributes |
Object |
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 |
Object |
Đố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 |
Array |
Danh sách các mã thay thế dùng để xác định thiết bị được đồng bộ hoá trên đám mây để thực thi cục bộ. |
[item, ...] |
Object |
Mã thiết bị thay thế. |
agentId |
String |
Mã của tác nhân. 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ã 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" } } ] } }