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