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

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

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

ATTRIBUTES ของอุปกรณ์

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

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

ต้องระบุ

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

commandOnlyTimer บูลีน

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

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

ตัวอย่าง

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

{
  "maxTimerLimitSec": 7200
}

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

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

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

ต้องระบุ

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

timerPaused บูลีน

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

ตัวอย่าง

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

{
  "timerRemainingSec": -1
}

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

{
  "timerRemainingSec": 60
}

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

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

COMMANDS ของอุปกรณ์

อุปกรณ์ที่มีลักษณะเช่นนี้อาจตอบสนองต่อคำสั่งต่อไปนี้โดยเป็นส่วนหนึ่งของการดำเนินการ EXECUTE ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Intent EXECUTE ได้ที่Fulfillment 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

ข้อผิดพลาดเกี่ยวกับอุปกรณ์

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