智能家居填充特征架构
action.devices.traits.Fill
- 此 trait 适用于支持加水的设备,例如浴缸。
设备属性
具有此 trait 的设备可能会在 SYNC
操作中报告以下属性。如需详细了解如何处理 SYNC
intent,请参阅intent 执行方式。
属性 | 类型 | 说明 |
---|---|---|
availableFillLevels |
对象 |
介绍设备填充的不同级别。 |
levels |
数组 |
必填。 关卡名称和特定于语言的同义词的列表。 |
[item, ...] |
对象 |
等级名称及其特定于语言的同义词。 |
level_name |
String |
必填。 关卡的内部名称。这可能不利于用户,并且会在所有语言中共享。 |
level_values |
数组 |
必填。 相应级别在每种受支持语言的同义词。 |
[item, ...] |
对象 |
相应关卡在给定语言的同义词。 |
level_synonym |
数组 |
必填。 相应等级的同义词。此列表中的第一个字符串将用作相应语言中相应关卡的规范名称。 |
[item, ...] |
String |
同义词名称。 |
lang |
String |
必填。 语言代码 (ISO 639-1)。请参阅支持的语言。 |
ordered |
布尔值 |
必填。 如果为 true,设备会处理用于增加或减少逻辑的其他语法,如 |
supportsFillPercent |
布尔值 |
(默认值: 如果为 true,则接受将音量调整为百分比的命令。 |
示例
具有基本填充或排空功能的设备,不支持离散的填充水平。
{}
支持离散填充水平的设备。
{ "availableFillLevels": { "levels": [ { "level_name": "half_level", "level_values": [ { "level_synonym": [ "Half", "Half way", "One half" ], "lang": "en" } ] }, { "level_name": "full_level", "level_values": [ { "level_synonym": [ "Full", "All the way", "Complete" ], "lang": "en" } ] } ], "ordered": true } }
设备状态
具有此 trait 的实体可能会在 QUERY
操作期间报告以下状态。如需详细了解如何处理 QUERY
intent,请参阅intent 执行方式。
州 | 类型 | 说明 |
---|---|---|
isFilled |
布尔值 |
必填。 如果设备已填充到任何级别,则为 true。如果设备电量已完全耗尽,则为 false。 |
currentFillLevel |
String |
如果设置了 |
currentFillPercent |
编号 |
如果设置了 |
示例
浴缸是否已加满水?
{ "isFilled": true }
浴缸是否已加满水?(带有等级)。
{ "isFilled": true, "currentFillLevel": "half_level" }
设备命令
具有此 trait 的设备可能会在 EXECUTE
操作期间响应以下命令。如需详细了解如何处理 EXECUTE
intent,请参阅intent 执行方式。
action.devices.commands.Fill
向设备注水或排水。
参数
参数 | 类型 | 说明 |
---|---|---|
fill |
布尔值 |
必填。 设为 true 表示填充,设为 false 表示放水。 |
fillLevel |
String |
指示要设置的 |
fillPercent |
编号 |
表示请求的音量级别百分比。 |
示例
往浴缸里加水。
{ "command": "action.devices.commands.Fill", "params": { "fill": true } }
放掉浴缸里的水。
{ "command": "action.devices.commands.Fill", "params": { "fill": false } }
将浴缸的水加到一半。
{ "command": "action.devices.commands.Fill", "params": { "fill": true, "fillLevel": "half_level" } }
将浴缸的灌满水位增加 1(要求 ordered
属性为 true
)。
{ "command": "action.devices.commands.Fill", "params": { "fill": true, "fillLevel": "full_level" } }