hành động.thiết bị.thực hành

Ý định này gửi các lệnh để thực thi trên thiết bị nhà thông minh.

Phương thức thực hiện đơn hàng 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 kích hoạt có thể đặt cả độ sáng và màu sắc trên một nhóm ánh sáng hoặc có thể đặt nhiều đèn ở một màu khác nhau.

Để biết thêm thông tin chi tiết, hãy xem Truy vấn và thực thi.

Đị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: "action.devices.EXECUTE")

Loại yêu cầu ý định.

payload Đối tượng

Bắt buộc.

thực thi yêu cầu tải trọng

commands Mảng

Bắt buộc.

Danh sách các cặp mục tiêu và lệnh của thiết bị.

[item, ...] Đối tượng

Bộ lệnh để thực thi trên các mục tiêu thiết bị được đính kèm.

devices Mảng

Bắt buộc.

Danh sách các thiết bị mục tiêu.

[item, ...] Đối tượng

Mục tiêu thiết bị để thực thi.

id Chuỗi

Bắt buộc.

Mã thiết bị theo mã nhận dạng được cung cấp trong SYNC.

customData Đối tượng

Nếu đối tượng customData mờ được cung cấp trong SYNC, đối tượng này sẽ được gửi tại đây.

execution Mảng

Bắt buộc.

Danh sách các lệnh để thực thi trên thiết bị mục tiêu.

[item, ...] Đối tượng

Lệnh thiết bị.

command Chuỗi

Bắt buộc.

Lệnh thực thi, thường đi kèm với các thông số đi kèm.

params Đối tượng

Căn chỉnh với các thông số cho từng lệnh.

Ví dụ

Thực hiện yêu cầu ý đị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

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.

errorCode Chuỗi

Mã lỗi cho toàn bộ giao dịch đối với các lỗi xác thực và lỗi không có sẵn hệ thống dành cho nhà phát triển. Đối với các lỗi riêng lẻ trên thiết bị, hãy sử dụng mã lỗi trong đối tượng thiết bị.

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.

commands Mảng

Mỗi đối tượng chứa một hoặc nhiều thiết bị có thông tin phản hồi chi tiết. Không áp dụng theo cách tương tự như trong yêu cầu. Ví dụ: yêu cầu có thể bật 7 đèn, trong đó có 3 đèn thành công và 4 đèn không hoạt động, do đó có 2 nhóm trong phản hồi.

[item, ...] Đối tượng

Kết quả thực thi 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, ...] Chuỗi

Mã thiết bị.

status Chuỗi

Bắt buộc.

Kết quả của thao tác thực thi.

Giá trị được hỗ trợ:

SUCCESS
Xác nhận rằng lệnh đã thành công.
PENDING
Lệnh đã được đưa vào hàng đợi nhưng dự kiến vẫn thành công.
OFFLINE
Thiết bị mục tiêu đang ở trạng thái ngoại tuyến hoặc không thể truy cập.
EXCEPTIONS
Có vấn đề hoặc cảnh báo liên quan đến một lệnh. Lệnh có thể thành công hoặc không thành công. Loại trạng thái này thường được đặt khi bạn muốn gửi thêm thông tin về một thiết bị khác được kết nối.
ERROR
Thiết bị mục tiêu không thể thực hiện lệnh.
states Đối tượng

Được căn chỉnh với trạng thái đặc điểm được mô tả trong mỗi tham chiếu giản đồ tính năng. Đâ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 hay không (nghĩa là có thể kết nối được) hay không.

errorCode Chuỗi

Mở rộng trạng thái ERROR nếu cần từ những mã lỗi được thiết lập sẵn. Các lỗi này sẽ ánh xạ tới các lỗi hiển thị cho người dùng.

Ví dụ

Thực hiện phản hồi về ý định

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "on": true,
          "online": true
        }
      },
      {
        "ids": [
          "456"
        ],
        "status": "ERROR",
        "errorCode": "deviceTurnedOff"
      }
    ]
  }
}