智能家居“加水”特征架构

action.devices.traits.Fill - 此特征适用于支持加水的设备,例如浴缸。

设备属性

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

属性 类型 说明
availableFillLevels 对象

描述设备的不同加水级别。

levels 数组

必填。

级别名称和特定于语言的同义词列表。

[item, ...] 对象

级别名称及其特定于语言的同义词。

level_name String

必填。

级别的内部名称。此名称可能不方便用户使用,并且将在所有语言之间共享。

level_values 数组

必填。

每种受支持语言中级别的同义词。

[item, ...] 对象

给定语言中级别的同义词。为了提供语言回退,至少需要一个 lang 值为 en 的项。

level_synonym 数组

必填。

级别的同义词。此列表中的第一个字符串用作该语言中级别的规范名称。

[item, ...] String

同义词名称。为了提供语言回退,至少需要一个 lang 值为 en 的项。

lang String

必填。

语言代码 (ISO 639-1)。请参阅支持的语言

ordered 布尔值

必填。

如果为 true,则设备会处理用于表示增加或减少逻辑的其他语法,如 levels 数组所示(例如,半个级别)。

supportsFillPercent 布尔值

(默认值:false

如果为 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
  }
}

设备状态

具有此特征的实体可能会报告以下 状态作为 QUERY 操作的一部分。如需详细了解如何处理 QUERY intent,请参阅 intent 执行方式

状态 类型 说明
isFilled 布尔值

必填。

如果设备已加水至任何级别,则为 true。如果设备已完全排水,则为 false。

currentFillLevel String

如果设置了 availableFillLevels 属性,则为必填项。指示设备加水时 availableFillLevels 属性中的当前 level_name

currentFillPercent 编号

如果设置了 supportsFillPercent 属性,则为必填项。指示当前加水级别百分比。

值必须介于 0100 之间。

示例

浴缸加满水了吗?

{
  "isFilled": true
}

浴缸加满水了吗?(带级别)。

{
  "isFilled": true,
  "currentFillLevel": "half_level"
}

设备命令

具有此特征的设备可能会响应以下 命令作为 EXECUTE 操作的一部分。如需详细了解如何处理 EXECUTE intent,请参阅 intent 执行方式

action.devices.commands.Fill

为设备加水或排水。

参数

参数 类型 说明
fill 布尔值

必填。

true 表示加水,false 表示排水。

fillLevel String

指示要设置的 availableFillLevels 属性中的 level_name。如果未指定,则加水至默认级别。

fillPercent 编号

指示请求的级别百分比。

值必须介于 0100 之间。

示例

给浴缸加水。

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

将浴缸加水级别提高一级(需要将 ordered 属性设置为 true)。

{
  "command": "action.devices.commands.Fill",
  "params": {
    "fill": true,
    "fillLevel": "full_level"
  }
}

设备错误

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