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

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

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

ATTRIBUTES ของอุปกรณ์

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

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

ต้องระบุ

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

ค่าต่ำสุดคือ 1

commandOnlyTimer บูลีน

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

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

ตัวอย่าง

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

{
  "maxTimerLimitSec": 7200
}

STATES ของอุปกรณ์

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

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

ต้องระบุ

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

timerPaused บูลีน

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

ตัวอย่าง

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

{
  "timerRemainingSec": -1
}

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

{
  "timerRemainingSec": 60
}

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

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

COMMANDS ของอุปกรณ์

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

action.devices.commands.TimerStart

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

พารามิเตอร์

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

ต้องระบุ

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

ค่าต่ำสุดคือ 1

ตัวอย่าง

เรียกใช้ตัวจับเวลาของอุปกรณ์เป็นเวลา 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

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

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