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

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

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

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

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

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

ต้องระบุ

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

commandOnlyTimer บูลีน

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

ระบุว่าอุปกรณ์รองรับการสื่อสารแบบทางเดียว (จริง) หรือ 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

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

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