สคีมาลักษณะตัวจับเวลาสมาร์ทโฮม
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
}
}ข้อผิดพลาดที่เกี่ยวข้อง
เกิดข้อผิดพลาดขณะเริ่มตัวจับเวลา
ค่าที่รองรับ
noTimerExiststimerValueOutOfRangeaboveMaximumTimerDurationbelowMinimumTimerDuration
action.devices.commands.TimerAdjust
ปรับระยะเวลาของตัวจับเวลา
พารามิเตอร์
| พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
timerTimeSec |
จำนวนเต็ม |
ต้องระบุ การปรับตัวจับเวลาเป็นบวกหรือลบเป็นวินาที โดยต้องอยู่ในช่วง [ |
ตัวอย่าง
เพิ่มเวลาตัวจับเวลาของอุปกรณ์อีก 1 นาที
{
"command": "action.devices.commands.TimerAdjust",
"params": {
"timerTimeSec": 60
}
}หัก 30 วินาทีออกจากตัวจับเวลาของอุปกรณ์
{
"command": "action.devices.commands.TimerAdjust",
"params": {
"timerTimeSec": -30
}
}ข้อผิดพลาดที่เกี่ยวข้อง
เกิดข้อผิดพลาดขณะปรับตัวจับเวลา
ค่าที่รองรับ
noTimerExiststimerValueOutOfRangeaboveMaximumTimerDurationbelowMinimumTimerDuration
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