智能家居定时器 trait 架构

action.devices.traits.Timer - Timer trait 表示设备上的计时器。

例如,智能洒水器控制器或智能灯开关可能具有内置计时器。此 trait 可用于控制设备上的内置计时器,例如启动新计时器以及暂停和取消正在运行的计时器,以及询问剩余时间。

设备属性

具有此特征的设备可能会在 SYNC 操作中报告以下属性。如需详细了解如何处理 SYNC intent,请参阅intent 执行方式

属性 类型 说明
maxTimerLimitSec 整数

必填。

表示设备上可用的最长定时器设置,以秒为单位。

commandOnlyTimer 布尔值

(默认值:false

指示设备是否支持使用单向(true)或双向(false)通信。如果设备无法响应此特征的 QUERY intent 或报告状态,请将此属性设置为 true。

示例

设备的定时器限制为 2 小时。

{
  "maxTimerLimitSec": 7200
}

设备状态

具有此 trait 的实体可能会在 QUERY 操作期间报告以下状态。如需详细了解如何处理 QUERY intent,请参阅intent 执行方式

类型 说明
timerRemainingSec 整数

必填。

当前剩余时间(以秒为单位),-1 或 [0, maxTimerLimitSec]。设为 -1 表示没有正在运行的计时器。

timerPaused 布尔值

如果存在有效的计时器,但目前处于暂停状态,则为 true。

示例

设备计时器还剩多长时间?(not running)。

{
  "timerRemainingSec": -1
}

设备定时器还剩多长时间?(running)

{
  "timerRemainingSec": 60
}

设备定时器还剩多长时间?(已暂停)。

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

设备命令

具有此 trait 的设备可能会在 EXECUTE 操作期间响应以下命令。如需详细了解如何处理 EXECUTE intent,请参阅 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] 之间。

示例

为设备定时器增加一分钟。

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

设备错误

查看错误和异常的完整列表。