สคีมาลักษณะการทำงานของตัวจับเวลาสำหรับสมาร์ทโฮม
action.devices.traits.Timer - ลักษณะการทำงานของตัวจับเวลาแสดงถึงตัวจับเวลาในอุปกรณ์
ตัวอย่างเช่น คอนโทรลเลอร์สปริงเกลอร์อัจฉริยะหรือสวิตช์ไฟอัจฉริยะ อาจมีตัวจับเวลาในตัว ลักษณะการทำงานนี้ใช้เพื่อควบคุมตัวจับเวลาในตัวของ อุปกรณ์ เช่น การเริ่มตัวจับเวลาใหม่ รวมถึงการหยุดชั่วคราวและการยกเลิกตัวจับเวลาที่กำลังทำงานอยู่ ตลอดจนการถามเวลาที่เหลือ
ATTRIBUTES ของอุปกรณ์
อุปกรณ์ที่มีลักษณะการทำงานนี้อาจรายงานแอตทริบิวต์ต่อไปนี้
เป็นส่วนหนึ่งของการดำเนินการ SYNC ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent SYNC ได้ที่
การดำเนินการตาม Intent
| Attributes | ประเภท | คำอธิบาย |
|---|---|---|
maxTimerLimitSec |
จำนวนเต็ม |
ต้องระบุ ระบุการตั้งค่าตัวจับเวลาที่ยาวที่สุดที่ใช้ได้ในอุปกรณ์ โดยวัดเป็นวินาที ค่าต่ำสุดคือ |
commandOnlyTimer |
บูลีน |
(ค่าเริ่มต้น: ระบุว่าอุปกรณ์รองรับการสื่อสารทางเดียว (จริง) หรือสองทาง (เท็จ) ตั้งค่าแอตทริบิวต์นี้เป็น "จริง" หากอุปกรณ์ไม่สามารถตอบสนองต่อ Intent QUERY หรือรายงานสถานะสำหรับลักษณะการทำงานนี้ |
ตัวอย่าง
อุปกรณ์ที่มีตัวจับเวลาจำกัด 2 ชั่วโมง
{
"maxTimerLimitSec": 7200
}STATES ของอุปกรณ์
เอนทิตีที่มีลักษณะการทำงานนี้อาจรายงานสถานะต่อไปนี้
เป็นส่วนหนึ่งของการดำเนินการ QUERY ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent QUERY ได้ที่
การดำเนินการตาม Intent
| States | ประเภท | คำอธิบาย |
|---|---|---|
timerRemainingSec |
จำนวนเต็ม |
ต้องระบุ เวลาที่เหลือปัจจุบันเป็นวินาที -1 หรือ [0, |
timerPaused |
บูลีน |
เป็น "จริง" หากมีตัวจับเวลาที่ทำงานอยู่แต่หยุดชั่วคราว |
ตัวอย่าง
เหลือเวลาเท่าใดในตัวจับเวลาของอุปกรณ์ (ไม่ได้ทำงาน)
{
"timerRemainingSec": -1
}เหลือเวลาเท่าใดในตัวจับเวลาของอุปกรณ์ (กำลังทำงาน)
{
"timerRemainingSec": 60
}เหลือเวลาเท่าใดในตัวจับเวลาของอุปกรณ์ (หยุดชั่วคราว)
{
"timerRemainingSec": 30,
"timerPaused": true
}COMMANDS ของอุปกรณ์
อุปกรณ์ที่มีลักษณะการทำงานนี้อาจตอบสนองต่อคำสั่งต่อไปนี้เป็นส่วนหนึ่งของการดำเนินการ 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