สคีมาลักษณะ RunCycle สมาร์ทโฮม
action.devices.traits.RunCycle
- ลักษณะนี้แสดงถึงอุปกรณ์ที่มีระยะเวลาการทํางานที่ดำเนินอยู่ซึ่งสามารถค้นหาได้
อุปกรณ์ประเภทเหล่านี้จะรายงานจำนวนรอบทั้งหมดเมื่อเริ่มต้นการทำงาน และแต่ละรอบที่อุปกรณ์ทำงานอยู่ขณะทำงาน ซึ่งช่วยให้ผู้ใช้สามารถค้นหาได้ เช่น
- เครื่องอบผ้าของฉันทำงานอยู่ในโหมดใด
- เครื่องล้างจานเหลือกี่รอบ
- เครื่องอบผ้ากำลังทำอะไรอยู่
- จะล้างเสร็จตอนไหน
อุปกรณ์บางเครื่องระบุระยะเวลาในรูปแบบที่ไม่ใช่แบบวนซ้ำ อุปกรณ์ใดก็ตามที่ทำงานเป็นระยะเวลาหนึ่งๆ จะรายงานเวลาที่เหลืออยู่ได้โดยไม่ต้องใช้รอบ การดำเนินการนี้ยังจัดการกรณีที่รอบการซักอาจไม่สอดคล้องกันด้วย (เช่น เครื่องล้างจานอาจไม่ได้ใช้ทุกรอบเสมอไป) เช่น ผู้ใช้สามารถถามว่าเครื่องดูดฝุ่นจะทํางานนานขึ้นเท่าไร ซึ่งจะแสดงผลเวลาในหน่วยที่เป็นสัดส่วนกับเวลาที่เหลืออยู่ นอกจากนี้ยังรวมถึงอุปกรณ์ที่แสดงอยู่ด้านบนด้วย ส่วนเสื้อผ้าจะแห้งอีกนานเท่าใดจะแสดงระยะเวลาเป็นนาที
อุปกรณ์จะแสดงสิ่งที่ทราบ และคำตอบจาก 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" } }