智能家居 ArmDisarm 特征架构

action.devices.traits.ArmDisarm - 此特征支持设防和撤防,例如在安防系统中。

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

设备属性

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

属性 类型 说明
availableArmLevels 对象

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

levels 数组

必填。

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

[item, ...] 对象

安全等级。

level_name String

必填。

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

level_values 数组

必填。

包含 level_synonymlang

[item, ...] 对象

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

level_synonym 数组

必填。

各会员级别的易记名称(采用每种受支持的语言)。第一个项被视为规范名称。

[item, ...] String

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

lang String

必填。

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

ordered 布尔值

必填。

如果设置为 true,则会按级别数组的顺序应用用于增加/减少逻辑的其他语法。例如,如果您说“Hey 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,请参阅意图实现

类型 说明
isArmed 布尔值

必填。

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

currentArmLevel String

必填。

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

exitAllowance 整数

表示用户必须在 currentArmLevel 生效前离开的时间(以秒为单位)。

示例

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

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

设备命令

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

action.devices.commands.ArmDisarm

设置此设备的警报级别。

参数

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

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

参数 类型 说明
followUpToken String

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

arm 布尔值

必填。

如果命令是设防,则为 true。False 表示解除武装。

cancel 布尔值

必填。

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

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

参数 类型 说明
followUpToken String

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

arm 布尔值

必填。

如果命令是设防,则为 true。False 表示解除武装。

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

设备错误

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