智慧型住宅計時器特徵結構定義

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

舉例來說,智慧型灑水控制器或智慧型燈具開關可能會內建計時器。這個特徵可用於控制裝置上的內建計時器,例如啟動新的計時器、暫停及取消正在執行的計時器,以及查詢剩餘時間。

裝置屬性

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

屬性 類型 說明
maxTimerLimitSec 整數

必要。

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

commandOnlyTimer 布林值

(預設值:false)

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

範例

裝置的計時器限制為兩小時。

{
  "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] 之間。

範例

執行裝置計時器五分鐘。

{
  "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

裝置 ERRORS

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