สคีมาลักษณะตัวจับเวลาสมาร์ทโฮม
action.devices.traits.Timer - แอตทริบิวต์ตัวจับเวลาแสดงตัวจับเวลาในอุปกรณ์
เช่น ตัวควบคุมสปริงเกอร์อัจฉริยะหรือสวิตช์ไฟอัจฉริยะอาจมีตัวจับเวลาในตัว คุณสามารถใช้แอตทริบิวต์นี้เพื่อควบคุมตัวจับเวลาในตัวของอุปกรณ์ เช่น การเริ่มตัวจับเวลาใหม่ รวมถึงการหยุดชั่วคราวและการยกเลิกตัวจับเวลาที่กำลังทำงานอยู่ และการถามเวลาที่เหลือ
แอตทริบิวต์อุปกรณ์
อุปกรณ์ที่มีลักษณะนี้อาจรายงานแอตทริบิวต์ต่อไปนี้เป็นส่วนหนึ่งของการดำเนินการ SYNC ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent SYNC ได้ที่การดำเนินการตาม Intent
| Attributes | ประเภท | คำอธิบาย | 
|---|---|---|
| maxTimerLimitSec | จำนวนเต็ม | ต้องระบุ ระบุการตั้งค่าตัวจับเวลาที่นานที่สุดที่มีในอุปกรณ์ โดยวัดเป็นวินาที | 
| commandOnlyTimer | บูลีน | (ค่าเริ่มต้น:  ระบุว่าอุปกรณ์รองรับการสื่อสารแบบทางเดียว (จริง) หรือแบบ 2 ทาง (เท็จ) ตั้งค่าแอตทริบิวต์นี้เป็น "จริง" หากอุปกรณ์ตอบสนองต่อ Intent QUERY หรือการรายงานสถานะสำหรับลักษณะนี้ไม่ได้ | 
ตัวอย่าง
อุปกรณ์ที่มีตัวจับเวลาจำกัดเวลา 2 ชั่วโมง
{
  "maxTimerLimitSec": 7200
}สถานะอุปกรณ์
เอนทิตีที่มีลักษณะนี้อาจรายงานสถานะต่อไปนี้เป็นส่วนหนึ่งของการดำเนินการ QUERY ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent QUERY ได้ที่การดำเนินการตาม Intent
| รัฐ | ประเภท | คำอธิบาย | 
|---|---|---|
| timerRemainingSec | จำนวนเต็ม | ต้องระบุ เวลาที่เหลืออยู่ในปัจจุบันเป็นวินาที, -1 หรือ [0,  | 
| timerPaused | บูลีน | จริงหากมีตัวจับเวลาที่ทำงานอยู่แต่หยุดชั่วคราวอยู่ในขณะนี้ | 
ตัวอย่าง
ตัวจับเวลาของอุปกรณ์เหลือเวลาอีกเท่าไร (ไม่ทำงาน)
{
  "timerRemainingSec": -1
}ตัวจับเวลาของอุปกรณ์เหลือเวลาอีกเท่าไร (กำลังทำงาน)
{
  "timerRemainingSec": 60
}ตัวจับเวลาของอุปกรณ์เหลือเวลาอีกเท่าไร (หยุดชั่วคราว)
{
  "timerRemainingSec": 30,
  "timerPaused": true
}คำสั่งของอุปกรณ์
อุปกรณ์ที่มีลักษณะนี้อาจตอบสนองต่อคําสั่งต่อไปนี้ซึ่งเป็นส่วนหนึ่งของการดำเนินการ EXECUTE ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent EXECUTE ได้ที่การดำเนินการตาม Intent
action.devices.commands.TimerStart
เริ่มตัวจับเวลาใหม่
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย | 
|---|---|---|
| timerTimeSec | จำนวนเต็ม | ต้องระบุ ระยะเวลาของนาฬิกาจับเวลาเป็นวินาที ต้องอยู่ในช่วง [1,  | 
ตัวอย่าง
เปิดตัวจับเวลาของอุปกรณ์เป็นเวลา 5 นาที
{
  "command": "action.devices.commands.TimerStart",
  "params": {
    "timerTimeSec": 300
  }
}ข้อผิดพลาดที่เกี่ยวข้อง
เกิดข้อผิดพลาดขณะเริ่มตัวจับเวลา
ค่าที่รองรับ
- noTimerExists
- timerValueOutOfRange
- aboveMaximumTimerDuration
- belowMinimumTimerDuration
action.devices.commands.TimerAdjust
ปรับระยะเวลาของตัวจับเวลา
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย | 
|---|---|---|
| timerTimeSec | จำนวนเต็ม | ต้องระบุ การปรับตัวจับเวลาเป็นบวกหรือลบเป็นวินาที โดยต้องอยู่ในช่วง [ | 
ตัวอย่าง
เพิ่มเวลาตัวจับเวลาของอุปกรณ์อีก 1 นาที
{
  "command": "action.devices.commands.TimerAdjust",
  "params": {
    "timerTimeSec": 60
  }
}หัก 30 วินาทีออกจากตัวจับเวลาของอุปกรณ์
{
  "command": "action.devices.commands.TimerAdjust",
  "params": {
    "timerTimeSec": -30
  }
}ข้อผิดพลาดที่เกี่ยวข้อง
เกิดข้อผิดพลาดขณะปรับตัวจับเวลา
ค่าที่รองรับ
- noTimerExists
- timerValueOutOfRange
- aboveMaximumTimerDuration
- belowMinimumTimerDuration
action.devices.commands.TimerPause
หยุดตัวจับเวลาชั่วคราว
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย | 
|---|---|---|
| ไม่มีพร็อพเพอร์ตี้ | ||
ตัวอย่าง
หยุดตัวจับเวลาของอุปกรณ์ชั่วคราว
{
  "command": "action.devices.commands.TimerPause",
  "params": {}
}ข้อผิดพลาดที่เกี่ยวข้อง
เกิดข้อผิดพลาดขณะหยุดตัวจับเวลาชั่วคราว
ค่าที่รองรับ
- noTimerExists
action.devices.commands.TimerResume
จับเวลาต่อ
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย | 
|---|---|---|
| ไม่มีพร็อพเพอร์ตี้ | ||
ตัวอย่าง
จับเวลาบนอุปกรณ์ต่อ
{
  "command": "action.devices.commands.TimerResume",
  "params": {}
}ข้อผิดพลาดที่เกี่ยวข้อง
เกิดข้อผิดพลาดขณะกลับมาเริ่มจับเวลาอีกครั้ง
ค่าที่รองรับ
- noTimerExists
action.devices.commands.TimerCancel
ยกเลิกตัวจับเวลา
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย | 
|---|---|---|
| ไม่มีพร็อพเพอร์ตี้ | ||
ตัวอย่าง
หยุดตัวจับเวลาของอุปกรณ์
{
  "command": "action.devices.commands.TimerCancel",
  "params": {}
}ข้อผิดพลาดที่เกี่ยวข้อง
เกิดข้อผิดพลาดขณะหยุดตัวจับเวลา
ค่าที่รองรับ
- noTimerExists