Smart Home 計時器特徵結構定義

action.devices.traits.Timer:計時器特徵代表裝置上的計時器。

舉例來說,智慧型灑水器控制器或智慧型燈具開關可能內建計時器。這個特徵可用來控制裝置的內建計時器,例如啟動新計時器、暫停和取消執行中的計時器,以及詢問還剩下多少時間。

裝置屬性

具備這個特性的裝置可能會在 SYNC 作業中回報下列屬性。如要進一步瞭解如何處理 SYNC 意圖,請參閱「意圖執行要求」。

屬性 類型 說明
maxTimerLimitSec 整數

必要。

表示裝置可用的最長計時器設定,以秒為單位。

commandOnlyTimer 布林

(預設值:false)。

指出裝置是否支援單向 (true) 或雙向 (false) 通訊。如果裝置無法回應此特性的 QUERY 意圖或報告狀態,請將此屬性設為 true。

範例

設有 2 小時計時器上限的裝置。

{
  "maxTimerLimitSec": 7200
}

裝置狀態

具有這個特性的實體可能會在 QUERY 作業中回報下列狀態。如要進一步瞭解如何處理 QUERY 意圖,請參閱「意圖執行要求」。

狀態 類型 說明
timerRemainingSec 整數

必要。

目前剩餘時間 (以秒為單位)、-1 或 [0, maxTimerLimitSec]。請設為 -1 表示沒有執行中的計時器。

timerPaused 布林

如果已啟用的計時器且目前暫停,則為 True。

範例

裝置計時器還剩多少時間?(未執行)。

{
  "timerRemainingSec": -1
}

裝置計時器還剩多少時間?(執行中)。

{
  "timerRemainingSec": 60
}

裝置計時器還剩多少時間?(已暫停)。

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

裝置指令

具有這個特性的裝置可能會在 EXECUTE 作業中回應下列指令。如要進一步瞭解如何處理 EXECUTE 意圖,請參閱「意圖執行要求」。

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

裝置錯誤

請參閱錯誤和例外狀況的完整清單。