สคีมาลักษณะตัวจับเวลาสมาร์ทโฮม

action.devices.traits.Timer - แอตทริบิวต์ตัวจับเวลาแสดงตัวจับเวลาในอุปกรณ์

เช่น ตัวควบคุมสปริงเกอร์อัจฉริยะหรือสวิตช์ไฟอัจฉริยะอาจมีตัวจับเวลาในตัว ลักษณะนี้อาจใช้เพื่อควบคุมตัวจับเวลาในตัวบนอุปกรณ์ เช่น การเริ่มตัวจับเวลาใหม่ รวมถึงการหยุดตัวจับเวลาชั่วคราวและการยกเลิกตัวจับเวลาที่เดินอยู่ และการถามว่าเหลือเวลาอีกเท่าไร

แอตทริบิวต์อุปกรณ์

อุปกรณ์ที่มีลักษณะนี้อาจรายงานแอตทริบิวต์ต่อไปนี้เป็นส่วนหนึ่งของการดำเนินการ SYNC ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent SYNC ได้ที่การดำเนินการตาม Intent

Attributes ประเภท คำอธิบาย
maxTimerLimitSec จำนวนเต็ม

ต้องระบุ

ระบุการตั้งค่าตัวจับเวลาที่ยาวนานที่สุดในอุปกรณ์ โดยวัดเป็นวินาที

commandOnlyTimer บูลีน

(ค่าเริ่มต้น: false)

ระบุว่าอุปกรณ์รองรับการสื่อสารแบบ 1 ทิศทาง (จริง) หรือ 2 ทิศทาง (เท็จ) ตั้งค่าแอตทริบิวต์นี้เป็น "จริง" หากอุปกรณ์ตอบสนองต่อ Intent ของ QUERY หรือสถานะรายงานสำหรับลักษณะนี้ไม่ได้

ตัวอย่าง

อุปกรณ์ที่มีตัวจับเวลาจำกัดเวลา 2 ชั่วโมง

{
  "maxTimerLimitSec": 7200
}

สถานะอุปกรณ์

เอนทิตีที่มีลักษณะนี้อาจรายงานสถานะต่อไปนี้เป็นส่วนหนึ่งของการดำเนินการ QUERY ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent QUERY ได้ที่การดำเนินการตาม Intent

รัฐ ประเภท คำอธิบาย
timerRemainingSec จำนวนเต็ม

ต้องระบุ

เวลาปัจจุบันที่เหลืออยู่เป็นวินาที, -1 หรือ [0, maxTimerLimitSec] ตั้งค่าเป็น -1 เพื่อระบุว่าไม่มีตัวจับเวลาที่ทำงานอยู่

timerPaused บูลีน

จริงหากมีตัวจับเวลาที่ทำงานอยู่แต่หยุดชั่วคราวอยู่ในขณะนี้

ตัวอย่าง

ตัวจับเวลาของอุปกรณ์เหลือเวลาอีกเท่าไร (ไม่ทำงาน)

{
  "timerRemainingSec": -1
}

ตัวจับเวลาของอุปกรณ์เหลือเวลาอีกเท่าไร (กำลังทำงาน)

{
  "timerRemainingSec": 60
}

ตัวจับเวลาของอุปกรณ์เหลือเวลาเท่าไร (หยุดชั่วคราว)

{
  "timerRemainingSec": 30,
  "timerPaused": true
}

คำสั่งของอุปกรณ์

อุปกรณ์ที่มีลักษณะนี้อาจตอบสนองต่อคําสั่งต่อไปนี้ซึ่งเป็นส่วนหนึ่งของการดำเนินการ EXECUTE ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent EXECUTE ได้ที่การดำเนินการตาม Intent

action.devices.commands.TimerStart

เริ่มตัวจับเวลาใหม่

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
timerTimeSec จำนวนเต็ม

ต้องระบุ

ระยะเวลาของตัวจับเวลาเป็นวินาที ต้องอยู่ภายใน [1, maxTimerLimitSec]

ตัวอย่าง

เปิดตัวจับเวลาของอุปกรณ์เป็นเวลา 5 นาที

{
  "command": "action.devices.commands.TimerStart",
  "params": {
    "timerTimeSec": 300
  }
}

เกิดข้อผิดพลาดขณะเริ่มตัวจับเวลา

ค่าที่รองรับ

noTimerExists
timerValueOutOfRange
aboveMaximumTimerDuration
belowMinimumTimerDuration

action.devices.commands.TimerAdjust

ปรับระยะเวลาของตัวจับเวลา

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
timerTimeSec จำนวนเต็ม

ต้องระบุ

การปรับตัวจับเวลาเป็นบวกหรือลบเป็นวินาที โดยต้องอยู่ในช่วง [-maxTimerLimitSec, maxTimerLimitSec]

ตัวอย่าง

เพิ่มเวลา 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

ข้อผิดพลาดของอุปกรณ์

ดูรายการข้อผิดพลาดและข้อยกเว้นทั้งหมด