智能家居 ARMDisarm 特征架构

action.devices.traits.ArmDisarm - 此特征支持在安防系统等中使用的开启和关闭报警器。

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

设备属性

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

属性 类型 说明
availableArmLevels 对象

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

levels 数组

必填。

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

[item, ...] 对象

安全级别。

level_name String

必填。

命令和状态中使用的安全级别的内部名称。此名称可能不适合用户使用,且适用于所有语言。

level_values 数组

必填。

包含 level_synonymlang

[item, ...] 对象

给定语言的级别同义词。

level_synonym 数组

必填。

级别针对每种支持的语言提供的简单易懂的名称。第一项内容被视为规范名称。

[item, ...] String

同义词。

lang String

必填。

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

ordered Boolean

必填。

如果设置为 true,则应用适用于增/减逻辑的其他语法(按 level 数组的顺序)。例如,如果说“Ok Google,把我的安全等级提高 1”,Google 助理就会确定当前安全等级,然后将这个安全等级提高 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 Boolean

必填。

指示设备当前是否开启。

currentArmLevel String

必填。

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

exitAllowance 整数

指明 currentArmLevel 生效前用户必须退出的时间(以秒为单位)。

示例

安防系统报告不同的手臂级别

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

设备命令

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

action.devices.commands.ArmDisarm

设置此设备的闹钟级别。

参数

载荷包含下列各项之一:

取消实验组或解除报警器的操作

参数 类型 说明
followUpToken String

Google 提供的用于跟进响应的令牌。

arm Boolean

必填。

命令开启时应设为 True。设为 False 即可关闭报警器。

cancel Boolean

必填。

命令为取消 arm 值时为 true。

开启或关闭设备时开启/关闭安保等级。

参数 类型 说明
followUpToken String

Google 提供的用于跟进响应的令牌。

arm Boolean

必填。

命令开启时应设为 True。设为 False 即可关闭报警器。

armLevel String

需要启用的 level_name

示例

开启系统报警器

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

将系统设置为 arm 级别 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

设备错误

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