智能家居 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 |
必填。 操作的结果。 支持的值:
|
currentCycleRemainingTime |
整数 |
必填。 当前周期的剩余时间,以秒为单位。 |
1
|
对象 |
失败 |
priority |
整数 |
必填。 表示通知级别。目前支持的值为 0,表示应大声读出通知。 |
status |
String |
必填。 操作的结果。 支持的值:
|
errorCode |
String |
必填。 该值可以是此 trait 的任何错误代码,例如 |
示例
设备已完成运行。
{ "RunCycle": { "priority": 0, "status": "SUCCESS", "currentCycleRemainingTime": 0 } }
完成当前周期时出错。
{ "RunCycle": { "priority": 0, "status": "FAILURE", "errorCode": "deviceStuck" } }