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