action.devices.EXECUTE
Ý định này sẽ gửi lệnh để thực thi trên các thiết bị nhà thông minh.
Phương thức thực hiện của bạn phải xử lý từng lệnh, truyền lệnh đó đến thiết bị tương ứng rồi trả về
trạng thái mới trong phản hồi EXECUTE
.
Một ý định EXECUTE
có thể nhắm đến nhiều thiết bị bằng nhiều lệnh.
Ví dụ: một ý định được kích hoạt có thể đặt cả độ sáng và màu sắc trên một nhóm
đèn hoặc có thể đặt nhiều đèn thành một màu khác nhau.
Để biết thêm thông tin chi tiết, hãy xem phần Truy vấn và thực thi.
Đị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. |
|
payload |
Đối tượng |
Bắt buộc. THỰC THI tải trọng yêu cầu. |
commands |
Mảng |
Bắt buộc. Danh sách các cặp lệnh và mục tiêu thiết bị. |
[item, ...] |
Đối tượng |
Tập hợp các lệnh để thực thi trên các đích đến của thiết bị được đính kèm. |
devices |
Mảng |
Bắt buộc. Danh sách thiết bị mục tiêu. |
[item, ...] |
Đối tượng |
Đích đến của thiết bị để thực thi. |
id |
String |
Bắt buộc. Mã thiết bị, theo mã nhận dạng được cung cấp trong chế độ SYNC. |
customData |
Đối tượng |
Nếu đối tượng customData mờ được cung cấp trong SYNC, thì đối tượng đó sẽ được gửi ở đây. |
execution |
Mảng |
Bắt buộc. Danh sách các lệnh sẽ thực thi trên thiết bị mục tiêu. |
[item, ...] |
Đối tượng |
Lệnh thiết bị. |
command |
String |
Bắt buộc. Lệnh thực thi, thường là với các tham số đi kèm. |
params |
Đối tượng |
Căn chỉnh với các tham số của mỗi lệnh. |
Ví dụ
Thực thi yêu cầu về ý định
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123", "customData": { "fooValue": 74, "barValue": true, "bazValue": "sheepdip" } }, { "id": "456", "customData": { "fooValue": 36, "barValue": false, "bazValue": "moarsheep" } } ], "execution": [ { "command": "action.devices.commands.OnOff", "params": { "on": true } } ] } ] } } ] }
Đị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. |
errorCode |
String |
Mã lỗi của toàn bộ giao dịch đối với các lỗi xác thực và tình trạng không sử dụng được của hệ thống dành cho nhà phát triển. Đối với các lỗi thiết bị riêng lẻ, hãy sử dụng errorCode trong đối tượng thiết bị. |
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. |
commands |
Mảng |
Mỗi đối tượng chứa một hoặc nhiều thiết bị có thông tin chi tiết về phản hồi. Không áp dụng Các đường liên kết này có thể không được nhóm theo cách giống như trong yêu cầu. Ví dụ: yêu cầu có thể bật 7 đèn, với 3 đèn thành công và 4 đèn không thành công, do đó có hai nhóm trong phản hồi. |
[item, ...] |
Đối tượng |
Kết quả thực thi trên thiết bị. |
ids |
Mảng |
Bắt buộc. Danh sách mã thiết bị tương ứng với trạng thái này. |
[item, ...] |
String |
Mã thiết bị. |
status |
String |
Bắt buộc. Kết quả của thao tác thực thi. Các giá trị được hỗ trợ:
|
states |
Đối tượng |
Phù hợp với các trạng thái theo đặc điểm được mô tả trong mỗi tệp tham chiếu giản đồ đặc điểm. Đây là các trạng thái sau khi thực thi, nếu có. |
online |
Boolean |
Cho biết thiết bị có đang kết nối mạng (tức là, có thể truy cập được) hay không. |
errorCode |
String |
Mở rộng trạng thái LỖI (nếu cần) trong các mã lỗi đặt trước. Trạng thái này sẽ liên kết với các lỗi mà người dùng nhìn thấy. |
Ví dụ
Thực thi phản hồi ý định
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }