Giản đồ đặc điểm RunCycle cho nhà thông minh

action.devices.traits.RunCycle – Trait này đại diện cho bất cứ thiết bị nào có thời lượng hoạt động liên tục và có thể truy vấn được.

Các thiết bị như vậy sẽ báo cáo tổng số chu kỳ khi bắt đầu hoạt động và mỗi chu kỳ mà thiết bị hiện đang thực hiện trong khi chạy. Điều này cho phép người dùng thực hiện các truy vấn, chẳng hạn như:

  • Máy sấy đang ở chu kỳ nào?
  • Máy rửa bát còn được bao nhiêu chu kỳ?
  • Máy sấy đang làm gì?
  • Khi nào quá trình rửa sẽ hoàn tất?

Một số thiết bị nhất định có khoảng thời gian ở định dạng không theo chu kỳ. Bất kỳ thiết bị nào chạy trong một khoảng thời gian cụ thể đều có thể báo cáo thời gian còn lại mà không có chu kỳ. Cách này cũng xử lý những trường hợp mà chu kỳ có thể không nhất quán (ví dụ: máy rửa bát không phải lúc nào cũng sử dụng được tất cả các chu kỳ). Ví dụ: người dùng có thể hỏi Máy hút bụi của tôi sẽ chạy trong bao lâu? sẽ trả về khoảng thời gian tính theo đơn vị tỷ lệ với thời gian còn lại. Điều này cũng áp dụng cho các thiết bị được liệt kê ở trên; Quần áo sẽ sấy bao lâu nữa? sẽ trả về thời lượng tính bằng phút.

Các thiết bị có thể trả về nội dung đã biết và phản hồi TTS của Trợ lý sẽ tạo thành câu trả lời đúng nhất dựa trên dữ liệu hiện có (ví dụ: Máy rửa bát đang chạy và sẽ hoàn tất sau khoảng 20 phút nữa.)

RunCycle hiện là một trait chỉ có thể đọc – nó không có lệnh mà chỉ có trạng thái để truy vấn. Trong tương lai, có thể sẽ có các cơ chế để chạy lại chu kỳ hoặc bỏ qua các chu kỳ (tốt với vòi phun nước, không tốt với máy giặt).

THUỘC TÍNH của thiết bị

Không có.

TRẠNG THÁI của thiết bị

Các thực thể có đặc điểm này có thể báo cáo các trạng thái sau trong thao tác QUERY. Để tìm hiểu thêm về cách xử lý ý định QUERY, vui lòng xem phần Thực hiện ý định.

Tiểu bang Loại Nội dung mô tả
currentRunCycle Mảng

Bắt buộc.

Chứa các từ đồng nghĩa cho chu kỳ hiện tại trong mỗi ngôn ngữ được hỗ trợ.

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

Tên từ đồng nghĩa theo chu kỳ.

currentCycle Chuỗi

Bắt buộc.

Chu kỳ hiện tại đang được thực hiện.

nextCycle Chuỗi

Không bắt buộc. Chu kỳ tiếp theo để thực hiện.

lang Chuỗi

Bắt buộc.

Mã ngôn ngữ cho các tên chu kỳ đã cho. Xem phần Các ngôn ngữ được hỗ trợ.

currentTotalRemainingTime Số nguyên

Bắt buộc.

Thời gian còn lại khi hoạt động, tính bằng giây.

currentCycleRemainingTime Số nguyên

Bắt buộc.

Thời gian còn lại trong chu kỳ hiện tại, tính bằng giây.

Ví dụ

Thiết bị đang xả nước thêm 5 phút nữa và sẽ hoàn tất sau 20 phút.

{
  "currentRunCycle": [
    {
      "currentCycle": "rinse",
      "lang": "en"
    }
  ],
  "currentTotalRemainingTime": 1200,
  "currentCycleRemainingTime": 300
}

Thiết bị đang xả rửa thêm 5 phút trước khi chuyển sang chế độ xoay.

{
  "currentRunCycle": [
    {
      "currentCycle": "rinse",
      "nextCycle": "spin",
      "lang": "en"
    }
  ],
  "currentTotalRemainingTime": 600,
  "currentCycleRemainingTime": 300
}

Lệnh trên thiết bị

Không có.

THÔNG BÁO trên thiết bị

Các thiết bị có đặc điểm này có thể trả về trọng tải thông báo sau đây trong quá trình thay đổi trạng thái thiết bị. Để tìm hiểu thêm về cách triển khai thông báo, hãy xem bài viết Thông báo cho các Hành động của nhà thông minh.

Các trường Loại Nội dung mô tả
RunCycle

Bắt buộc.

Gói thông báo.

Hỗ trợ một trong các chức năng sau:
0 Đối tượng

Thành công

priority Số nguyên

Bắt buộc.

Biểu thị cấp thông báo. Giá trị hiện được hỗ trợ là 0, cho biết rằng thông báo phải được đọc to.

status Chuỗi

Bắt buộc.

Kết quả của toán tử.

Các giá trị được hỗ trợ:

SUCCESS
currentCycleRemainingTime Số nguyên

Bắt buộc.

Thời gian còn lại trong chu kỳ hiện tại, tính bằng giây.

1 Đối tượng

Lỗi

priority Số nguyên

Bắt buộc.

Biểu thị cấp thông báo. Giá trị hiện được hỗ trợ là 0, cho biết rằng thông báo phải được đọc to.

status Chuỗi

Bắt buộc.

Kết quả của toán tử.

Các giá trị được hỗ trợ:

FAILURE
errorCode Chuỗi

Bắt buộc.

Giá trị có thể là bất kỳ mã lỗi nào cho trait này, ví dụ: deviceStuck.

Ví dụ

Thiết bị đã chạy xong.

{
  "RunCycle": {
    "priority": 0,
    "status": "SUCCESS",
    "currentCycleRemainingTime": 0
  }
}

Đã xảy ra lỗi khi hoàn tất chu kỳ hiện tại.

{
  "RunCycle": {
    "priority": 0,
    "status": "FAILURE",
    "errorCode": "deviceStuck"
  }
}

Thiết bị ERRORS

Xem danh sách đầy đủ lỗi và trường hợp ngoại lệ.