สคีมาลักษณะ RunCycle สมาร์ทโฮม
action.devices.traits.RunCycle - ลักษณะนี้แสดงถึงอุปกรณ์ที่มีระยะเวลาการทํางานที่ดำเนินอยู่ซึ่งสามารถค้นหาได้
อุปกรณ์เหล่านี้จะรายงานจํานวนรอบทั้งหมดเมื่อเริ่มการทํางาน และรอบแต่ละรอบที่อุปกรณ์กําลังทํางานอยู่ ซึ่งช่วยให้ผู้ใช้สามารถค้นหาได้ เช่น
- เครื่องอบผ้าของฉันทำงานอยู่ในโหมดใด
- เครื่องล้างจานเหลือรอบการทำงานอีกกี่รอบ
- เครื่องอบผ้ากำลังทำอะไรอยู่
- การล้างจะเสร็จสิ้นเมื่อใด
อุปกรณ์บางเครื่องระบุระยะเวลาในรูปแบบที่ไม่ใช่แบบวนซ้ำ อุปกรณ์ใดก็ตามที่ทำงานเป็นระยะเวลาหนึ่งๆ จะรายงานเวลาที่เหลือได้โดยไม่ต้องใช้รอบ การดำเนินการนี้ยังจัดการกรณีที่รอบอาจไม่สอดคล้องกันด้วย (เช่น เครื่องล้างจานอาจไม่ได้ใช้ทุกรอบเสมอไป) เช่น ผู้ใช้อาจถามว่าเครื่องดูดฝุ่นจะทำงานได้อีกนานแค่ไหน ซึ่งระบบจะแสดงระยะเวลาเป็นหน่วยตามสัดส่วนกับเวลาที่เหลือ คำสั่งนี้ใช้ได้กับอุปกรณ์ที่ระบุไว้ข้างต้นด้วย โดยคำสั่ง How much longer will my clothes be drying? จะแสดงระยะเวลาเป็นนาที
อุปกรณ์จะแสดงสิ่งที่ทราบ และคำตอบจาก TTS ของ Assistant จะสร้างคำตอบที่ดีที่สุดจากข้อมูลที่พร้อมใช้งาน (เช่น เครื่องล้างจานกำลังทำงานและจะเสร็จสิ้นในอีกประมาณ 20 นาที)
ปัจจุบัน RunCycle เป็นลักษณะแบบอ่านอย่างเดียว โดยไม่มีคำสั่ง มีเพียงสถานะสําหรับค้นหา ในอนาคตอาจมีกลไกสำหรับการเรียกใช้รอบซ้ำหรือการข้ามรอบ (เหมาะสำหรับสปริงเกอร์ แต่ไม่ดีสำหรับเครื่องซักผ้า)
แอตทริบิวต์อุปกรณ์
ไม่มี
สถานะอุปกรณ์
เอนทิตีที่มีลักษณะนี้อาจรายงานสถานะต่อไปนี้เป็นส่วนหนึ่งของการดำเนินการ QUERY ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent QUERY ได้ที่การดำเนินการตาม Intent
| รัฐ | ประเภท | คำอธิบาย |
|---|---|---|
currentRunCycle |
อาร์เรย์ |
ต้องระบุ มีคำพ้องความหมายสำหรับรอบปัจจุบันในแต่ละภาษาที่รองรับ |
[item, ...] |
ออบเจ็กต์ |
ชื่อคำพ้องความหมายของวงจร |
currentCycle |
String |
ต้องระบุ กำลังดำเนินการรอบปัจจุบัน |
nextCycle |
String |
ไม่บังคับ รอบถัดไปที่จะดำเนินการ |
lang |
String |
ต้องระบุ รหัสภาษาสําหรับชื่อรอบที่ระบุ ดูภาษาที่รองรับ |
currentTotalRemainingTime |
จำนวนเต็ม |
ต้องระบุ เวลาที่เหลือในการดำเนินการเป็นวินาที |
currentCycleRemainingTime |
จำนวนเต็ม |
ต้องระบุ เวลาที่เหลือในรอบปัจจุบันเป็นวินาที |
ตัวอย่าง
อุปกรณ์กำลังล้างอีก 5 นาที และจะเสร็จในอีก 20 นาที
{
"currentRunCycle": [
{
"currentCycle": "rinse",
"lang": "en"
}
],
"currentTotalRemainingTime": 1200,
"currentCycleRemainingTime": 300
}อุปกรณ์จะเข้าสู่โหมดล้างอีก 5 นาทีก่อนที่จะเข้าสู่โหมดปั่น
{
"currentRunCycle": [
{
"currentCycle": "rinse",
"nextCycle": "spin",
"lang": "en"
}
],
"currentTotalRemainingTime": 600,
"currentCycleRemainingTime": 300
}คำสั่งของอุปกรณ์
ไม่มี
การแจ้งเตือนของอุปกรณ์
อุปกรณ์ที่มีลักษณะนี้อาจแสดงผลลัพธ์ต่อไปนี้ในเพย์โหลดการแจ้งเตือนเป็นส่วนหนึ่งของการเปลี่ยนแปลงสถานะอุปกรณ์ ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้การแจ้งเตือนได้ที่การแจ้งเตือนสําหรับการดำเนินการในบ้านอัจฉริยะ
| ช่อง | ประเภท | คำอธิบาย |
|---|---|---|
RunCycle |
ต้องระบุ เพย์โหลดการแจ้งเตือน |
|
| รองรับรายการใดรายการหนึ่งต่อไปนี้ | ||
0
|
ออบเจ็กต์ |
สำเร็จ |
priority |
จำนวนเต็ม |
ต้องระบุ แสดงถึงระดับการแจ้งเตือน ค่าที่รองรับในปัจจุบันคือ 0 ซึ่งระบุว่าควรอ่านออกเสียงการแจ้งเตือน |
status |
String |
ต้องระบุ ผลลัพธ์ของการดำเนินการ ค่าที่รองรับ
|
currentCycleRemainingTime |
จำนวนเต็ม |
ต้องระบุ เวลาที่เหลือในรอบปัจจุบันเป็นวินาที |
1
|
ออบเจ็กต์ |
ล้มเหลว |
priority |
จำนวนเต็ม |
ต้องระบุ แสดงถึงระดับการแจ้งเตือน ค่าที่รองรับในปัจจุบันคือ 0 ซึ่งระบุว่าควรอ่านออกเสียงการแจ้งเตือน |
status |
String |
ต้องระบุ ผลลัพธ์ของการดำเนินการ ค่าที่รองรับ
|
errorCode |
String |
ต้องระบุ ค่าอาจเป็นรหัสข้อผิดพลาดใดก็ได้สำหรับลักษณะนี้ เช่น |
ตัวอย่าง
อุปกรณ์ทำงานเสร็จแล้ว
{
"RunCycle": {
"priority": 0,
"status": "SUCCESS",
"currentCycleRemainingTime": 0
}
}เกิดข้อผิดพลาดขณะทำรอบปัจจุบันให้เสร็จสมบูรณ์
{
"RunCycle": {
"priority": 0,
"status": "FAILURE",
"errorCode": "deviceStuck"
}
}