智能家居 RunCycle Trait 架构

action.devices.traits.RunCycle - 此特征表示任何设备操作有持续时长,可供查询。

此类设备将在操作开始时报告其总周期数, 以及设备当前处于运行状态的每个周期。这将允许用户进行如下查询:

  • 我的烘干机目前处于哪个程序阶段?
  • 洗碗机还剩几个程序?
  • 烘干机在做什么?
  • 洗涤剂何时进行?

某些设备包含非循环格式的时长。任何设备 可以报告其剩余时间, 循环。这还可以处理周期可能不一致的情况(例如, 洗碗机可能并不总是使用所有周期)。例如,用户可能会问:如何 吸尘器还会运行更长时间吗?这将以单位返回时长 与剩余时间成比例这也适用于列出的设备 上面;我的衣服烘干多长时间?将返回以分钟为单位的时长。

设备可以返回它们知道的信息,而 Google 助理 TTS 响应将生成 根据可用数据得出最佳答案(例如,洗碗机正在运行并且 将在大约 20 分钟内完成。

RunCycle 目前属于只读特征 - 它没有命令,只有状态 查询。将来可能会存在用于重新运行周期或跳过 (适用于洒水器,不适用于洗衣机)。

设备属性

无。

设备状态

具有此特征的实体可能会报告以下内容 QUERY 操作包含的指定状态。学习内容 有关处理 QUERY intent 的更多信息,请参阅 intent 执行方式

类型 说明
currentRunCycle 数组

必填。

包含每种受支持语言的当前周期的同义词。

[item, ...] 对象

循环同义词名称。

currentCycle String

必填。

正在进行的当前周期。

nextCycle String

可选。要执行的下一个周期。

lang String

必填。

给定循环名称的语言代码。请参阅支持的语言

currentTotalRemainingTime 整数

必填。

操作剩余时间(以秒为单位)。

currentCycleRemainingTime 整数

必填。

当前周期的剩余时间,以秒为单位。

示例

系统会再用 5 分钟时间冲洗设备,此过程将在 20 分钟后完成。

{
  "currentRunCycle": [
    {
      "currentCycle": "rinse",
      "lang": "en"
    }
  ],
  "currentTotalRemainingTime": 1200,
  "currentCycleRemainingTime": 300
}

设备会再冲洗 5 分钟,然后再开始旋转。

{
  "currentRunCycle": [
    {
      "currentCycle": "rinse",
      "nextCycle": "spin",
      "lang": "en"
    }
  ],
  "currentTotalRemainingTime": 600,
  "currentCycleRemainingTime": 300
}

设备命令

无。

设备通知

具有此特征的设备可能会返回以下内容 作为设备状态变化的一部分的通知载荷。学习内容 有关实现通知的更多信息,请参阅 智能家居 Action 的通知

字段 类型 说明
RunCycle

必填。

通知负载。

支持下列其中一项
0 对象

成功

priority 整数

必填。

表示通知级别。目前支持的值为 0,表示应大声读出通知。

status String

必填。

操作的结果。

支持的值:

SUCCESS
currentCycleRemainingTime 整数

必填。

当前周期的剩余时间,以秒为单位。

1 对象

失败

priority 整数

必填。

表示通知级别。目前支持的值为 0,表示应大声读出通知。

status String

必填。

操作的结果。

支持的值:

FAILURE
errorCode String

必填。

该值可以是此 trait 的任何错误代码,例如 deviceStuck

示例

设备已完成运行。

{
  "RunCycle": {
    "priority": 0,
    "status": "SUCCESS",
    "currentCycleRemainingTime": 0
  }
}

完成当前周期时出错。

{
  "RunCycle": {
    "priority": 0,
    "status": "FAILURE",
    "errorCode": "deviceStuck"
  }
}

设备错误

查看完整列表 错误和异常