智能家居 ArmDisarm 特征架构

action.devices.traits.ArmDisarm - 此特征支持开启和关闭,例如在安防系统中。

对于具有多个安全级别的设备,应使用 availableArmLevels 属性报告这些级别。

设备属性

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

属性 类型 说明
availableArmLevels 对象

描述设备支持的安全级别。如果未报告此属性,则表示设备仅支持一个级别。

levels 数组

必填。

设备支持的可用安全级别列表。

[item, ...] 对象

安全等级。

level_name String

必填。

命令和状态中使用的安全等级的内部名称。此名称可能不太方便用户理解,并且在所有语言中都是相同的。

level_values 数组

必填。

包含 level_synonymlang

[item, ...] 对象

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

level_synonym 数组

必填。

各支持语言中相应级别的用户友好名称。第一个项会被视为规范名称。

[item, ...] String

同义词名称。必须至少有一个 lang 值为 en 的项,才能提供语言回退。

lang String

必填。

相应级别的同义词的语言代码。请参阅支持的语言

ordered 布尔值

必填。

如果设置为 true,则应用用于增加/减少逻辑的其他语法,顺序与 levels 数组相同。例如,如果您说“Hey Google,将我的安全等级提高 1”,助理会确定当前的安全等级,然后将该安全等级提高 1。如果此值设置为 false,则不支持用于增加/减少逻辑的其他语法。

示例

具有两种不同设防级别的安防系统

{
  "availableArmLevels": {
    "levels": [
      {
        "level_name": "L1",
        "level_values": [
          {
            "level_synonym": [
              "Home and Guarding",
              "SL1"
            ],
            "lang": "en"
          },
          {
            "level_synonym": [
              "Zuhause und Bewachen",
              "SL1"
            ],
            "lang": "de"
          }
        ]
      },
      {
        "level_name": "L2",
        "level_values": [
          {
            "level_synonym": [
              "Away and Guarding",
              "SL2"
            ],
            "lang": "en"
          },
          {
            "level_synonym": [
              "Weg und Bewachen",
              "SL2"
            ],
            "lang": "de"
          }
        ]
      }
    ],
    "ordered": true
  }
}

设备状态

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

类型 说明
isArmed 布尔值

必填。

指示设备当前是否处于布防状态。

currentArmLevel String

必填。

如果指定了 availableArmLevels 属性,则必须使用此属性。如果存在多个安全级别,则表示当前安全级别的名称。

exitAllowance 整数

指明用户必须在多长时间(以秒为单位)后离开,currentArmLevel 才会生效。

示例

报告不同设防级别的安防系统

{
  "isArmed": true,
  "currentArmLevel": "L1"
}

设备命令

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

action.devices.commands.ArmDisarm

设置此设备的警报级别。

参数

相应载荷包含以下内容之一:

取消开启或关闭报警器操作

参数 类型 说明
followUpToken String

Google 提供的用于后续响应的令牌。

arm 布尔值

必填。

如果命令是设防,则为 true。关闭报警器失败。

cancel 布尔值

必填。

如果命令是取消 arm 值,则为 true。

开启或关闭设备,并可选择安全级别。

参数 类型 说明
followUpToken String

Google 提供的用于后续响应的令牌。

arm 布尔值

必填。

如果命令是设防,则为 true。关闭报警器失败。

armLevel String

要设定的安保等级 level_name

示例

启动安防系统

{
  "command": "action.devices.commands.ArmDisarm",
  "params": {
    "arm": true,
    "followUpToken": "123"
  }
}

将系统设为 L1 设防级别

{
  "command": "action.devices.commands.ArmDisarm",
  "params": {
    "arm": true,
    "armLevel": "L1",
    "followUpToken": "456"
  }
}

取消设防操作

{
  "command": "action.devices.commands.ArmDisarm",
  "params": {
    "arm": true,
    "cancel": true
  }
}

在设防或撤防设备时出错。

支持的值:

alreadyInState
deviceTampered
passphraseIncorrect
pinIncorrect
securityRestriction
tooManyFailedAttempts
userCancelled

设备错误

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