สคีมาลักษณะ 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" } }