Sơ đồ đặc điểm RunCycle của nhà thông minh
action.devices.traits.RunCycle
– Đặc điểm này đại diện cho mọi thiết bị có thời lượng hoạt động liên tục mà bạn có thể truy vấn.
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à từng chu kỳ mà thiết bị đang ở 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 của tôi đang ở chu kỳ nào?
- Máy rửa bát còn 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ị có thời lượng ở định dạng không tuần hoàn. 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ần chu kỳ. Điều này cũng xử lý các trường hợp chu kỳ có thể không nhất quán (ví dụ: máy rửa chén không phải lúc nào cũng sử dụng tất 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 thêm bao lâu nữa? câu lệnh này sẽ trả về khoảng thời gian theo đơn vị tương ứng 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 của tôi sẽ sấy được bao lâu nữa? sẽ trả về thời gian tính bằng phút.
Các thiết bị có thể trả về những gì họ biết và phản hồi TTS của Trợ lý sẽ tạo ra câu trả lời phù hợp nhất với dữ liệu có sẵn (ví dụ: Máy rửa bát đang chạy và sẽ hoàn tất sau khoảng 20 phút.)
RunCycle hiện là một đặc điểm chỉ có thể đọc – không có lệnh mà chỉ có các trạng thái để truy vấn. Trong tương lai, có thể sẽ có cơ chế để chạy lại các chu kỳ hoặc bỏ qua các chu kỳ (có lợi cho vòi phun nước, nhưng không tốt cho máy giặt).
Thuộc tính thiết bị
Không có.
Trạng thái 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 đây trong thao tác QUERY
. Để tìm hiểu thêm về cách xử lý ý định QUERY
, hãy xem phần Thực hiện ý định.
Tiểu bang | Loại | Mô tả |
---|---|---|
currentRunCycle |
Mảng |
Bắt buộc. Chứa các từ đồng nghĩa cho chu kỳ hiện tại bằng từng ngôn ngữ được hỗ trợ. |
[item, ...] |
Đối tượng |
Lặp lại tên từ đồng nghĩa. |
currentCycle |
String |
Bắt buộc. Chu kỳ hiện tại đang được thực hiện. |
nextCycle |
String |
Không bắt buộc. Chu kỳ tiếp theo cần thực hiện. |
lang |
String |
Bắt buộc. Mã ngôn ngữ cho tên chu kỳ đã cho. Hãy 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 của thao tác, 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ả trong 5 phút nữa và sẽ kết thúc chu kỳ này sau 20 phút.
{ "currentRunCycle": [ { "currentCycle": "rinse", "lang": "en" } ], "currentTotalRemainingTime": 1200, "currentCycleRemainingTime": 300 }
Thiết bị sẽ xả trong 5 phút nữa trước khi chuyển sang vắt.
{ "currentRunCycle": [ { "currentCycle": "rinse", "nextCycle": "spin", "lang": "en" } ], "currentTotalRemainingTime": 600, "currentCycleRemainingTime": 300 }
LỆNH 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ề tải trọng 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 Hành động nhà thông minh.
Trường | Loại | Mô tả |
---|---|---|
RunCycle |
Bắt buộc. Gói dữ liệu thông báo. |
|
Hỗ trợ một trong những tính 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 cần được đọc to. |
status |
String |
Bắt buộc. Kết quả của phép toán. Các giá trị được hỗ trợ:
|
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 cần được đọc to. |
status |
String |
Bắt buộc. Kết quả của phép toán. Các giá trị được hỗ trợ:
|
errorCode |
String |
Bắt buộc. Giá trị này có thể là bất kỳ mã lỗi nào cho đặc điểm này, ví dụ: |
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" } }