action.devices.EXECUTE
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Ý định này 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 sẽ xử lý từng lệnh, truyền lệnh đó đến thiết bị tương ứng và 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 nhiều màu khác nhau.
Để biết thêm thông tin, 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ã 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 về ý đị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ị hằng số: Loại yêu cầu theo ý định. |
|
payload |
Đối tượng |
Bắt buộc. Tải trọng yêu cầu EXECUTE. |
commands |
Mảng |
Bắt buộc. Danh sách các cặp mục tiêu thiết bị và lệnh. |
[item, ...] |
Đối tượng |
Tập hợp các lệnh để thực thi trên các mục tiêu thiết bị đính kèm. |
devices |
Mảng |
Bắt buộc. Danh sách thiết bị mục tiêu. |
[item, ...] |
Đối tượng |
Mục tiêu thiết bị để thực thi. |
id |
String |
Bắt buộc. Mã thiết bị, theo mã được cung cấp trong 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 đến đây. |
execution |
Mảng |
Bắt buộc. Danh sách lệnh để 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 đi kèm với các tham số. |
params |
Đối tượng |
Được căn chỉnh với các tham số cho từng lệnh. |
Ví dụ
Yêu cầu thực thi ý đị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 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 |
Đối tượng |
Bắt buộc. Trọng tải phản hồi ý định. |
errorCode |
String |
Mã lỗi cho toàn bộ giao dịch khi không xác thực được và hệ thống dành cho nhà phát triển không hoạt động. Đối với từng lỗi thiết bị, hãy sử dụng errorCode trong đối tượng thiết bị. |
debugString |
String |
Lỗi phản hồi chi tiết sẽ không bao giờ được hiển thị 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. |
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. Lưu ý: Các giá trị 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 bóng đèn, trong đó 3 bóng đèn bật thành công và 4 bóng đèn không bật được, 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 |
Được căn chỉnh với các trạng thái theo từng đặc điểm được mô tả trong mỗi 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 liệu thiết bị có đang trực tuyến (có thể kết nối) hay không. |
errorCode |
String |
Mở rộng trạng thái LỖI nếu cần từ các mã lỗi đặt trước, các mã này sẽ liên kết với các lỗi được hiển thị cho người dùng. |
debugString |
String |
Lỗi cấp lệnh chi tiết sẽ không bao giờ được hiển thị cho người dùng nhưng có thể được ghi nhật ký hoặc sử dụng trong quá trình phát triển. |
Ví dụ
Phản hồi ý định EXECUTE
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }