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