Giản đồ RunCycle Trait của nhà thông minh
action.devices.traits.RunCycle
– Trait này đại diện cho mọi thiết bị có thời lượng liên tục cho hoạt động có thể truy vấn được.
Những thiết bị như thế này sẽ báo cáo tổng số chu kỳ khi thiết bị bắt đầu hoạt động, và mỗi chu kỳ mà thiết bị đang thực hiện trong khi chạy. Điều này cho phép người dùng đưa ra 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 bao nhiêu chu kỳ?
- Máy sấy đang làm gì?
- Khi nào giặt xong?
Một số thiết bị bao gồm thời lượng ở định dạng không theo chu kỳ. Mọi thiết bị chạy trong một khoảng thời gian cụ thể có thể báo cáo thời gian còn lại mà không chu kỳ. Giải pháp này cũng xử lý các trường hợp mà chu kỳ có thể không nhất quán (ví dụ: không phải lúc nào máy rửa bát cũng dùng được tất cả chu kỳ). Ví dụ: người dùng có thể hỏi Làm cách nào máy hút bụi của tôi sẽ chạy được bao lâu nữa? Thao tác này sẽ trả về thời lượng 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ị trong danh sách ở trên; Thời gian sấy khô là bao lâu? sẽ trả về thời gian tính bằng phút.
Các thiết bị có thể trả về thông tin họ biết và phản hồi TTS của Trợ lý sẽ tạo thành câu trả lời chính xác nhất dựa trên dữ liệu có sẵn (ví dụ: Máy rửa bát đang chạy và sẽ hoàn tất trong 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ể có cơ chế để chạy lại các chu kỳ hoặc bỏ qua chu kỳ (phù hợp với vòi phun nước, không phù hợp với máy giặt).
ATTRIBUTE của thiết bị
Không có.
Thiết bị STATES
Đối tượng có đặc điểm này có thể báo cáo những nội dung sau
các trạng thái trong thao tác QUERY
. Để tìm hiểu
tìm hiểu thêm về cách xử lý ý định QUERY
, hãy xem
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 trong mỗi ngôn ngữ được hỗ trợ. |
[item, ...] |
Đối tượng |
Tên từ đồng nghĩa theo chu kỳ. |
currentCycle |
String |
Bắt buộc. Đang thực hiện chu kỳ hiện tại. |
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ỳ cụ thể. Hãy xem phần Các ngôn ngữ được hỗ trợ. |
currentTotalRemainingTime |
Số nguyên |
Bắt buộc. Thời gian hoạt động còn lại, tính bằng giây. |
currentCycleRemainingTime |
Số nguyên |
Bắt buộc. Thời gian còn lại của chu kỳ hiện tại, tính bằng giây. |
Ví dụ
Thiết bị sẽ được xả thêm 5 phút nữa và sẽ kết thúc quá trình này sau 20 phút nữa.
{ "currentRunCycle": [ { "currentCycle": "rinse", "lang": "en" } ], "currentTotalRemainingTime": 1200, "currentCycleRemainingTime": 300 }
Thiết bị sẽ rửa thêm 5 phút nữa trước khi chuyển sang chế độ xoay.
{ "currentRunCycle": [ { "currentCycle": "rinse", "nextCycle": "spin", "lang": "en" } ], "currentTotalRemainingTime": 600, "currentCycleRemainingTime": 300 }
lệnh của thiết bị
Không có.
THÔNG BÁO trên thiết bị
Thiết bị có đặc điểm này có thể trả về thông tin sau tải trọng thông báo trong quá trình thay đổi trạng thái thiết bị. Để tìm hiểu tìm hiểu thêm về cách triển khai thông báo, xem Thông báo về Hành động trong nhà thông minh.
Trường | Loại | Mô tả |
---|---|---|
RunCycle |
Bắt buộc. Tải trọng thông báo. |
|
Hỗ trợ một trong các tính năng sau: | ||
0
|
Đối tượng |
Thành công |
priority |
Số nguyên |
Bắt buộc. Thể hiện 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 thao tác. Các giá trị được hỗ trợ:
|
currentCycleRemainingTime |
Số nguyên |
Bắt buộc. Thời gian còn lại của 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. Thể hiện 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 thao tác. Các giá trị được hỗ trợ:
|
errorCode |
String |
Bắt buộc. Giá trị này có thể là mã lỗi bất kỳ của đặ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" } }