智能家居 ArmDisarm trait 架构

action.devices.traits.ArmDisarm - 此 trait 支持开启和关闭(例如在安防系统中使用)。

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

设备属性

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

属性 类型 说明
availableArmLevels 对象

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

levels 数组

必填。

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

[item, ...] 对象

安全等级。

level_name String

必填。

命令和状态中使用的安全等级的内部名称。此名称可能不太方便用户使用,并且会在所有语言版本中共享。

level_values 数组

必填。

包含 level_synonymlang

[item, ...] 对象

给定语言的等级同义词。

level_synonym 数组

必填。

每个支持的语言中相应等级的易于理解的名称。第一个项将被视为规范名称。

[item, ...] String

同义词名称。

lang String

必填。

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

ordered 布尔值

必填。

如果设置为 true,系统会按 levels 数组的顺序应用增减逻辑的其他语法。例如,如果你说“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
  }
}

设备状态

具有此 trait 的实体可能会在 QUERY 操作期间报告以下状态。如需详细了解如何处理 QUERY intent,请参阅 intent 执行方式

类型 说明
isArmed 布尔值

必填。

指示设备当前是否处于报警状态。

currentArmLevel String

必填。

如果指定了 availableArmLevels 属性,则为必需属性。如果存在多个安全等级,则指示当前安全等级的名称。

exitAllowance 整数

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

示例

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

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

设备命令

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

action.devices.commands.ArmDisarm

设置此设备的闹钟级别。

参数

载荷包含以下任一内容:

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

参数 类型 说明
followUpToken String

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

arm 布尔值

必填。

当命令为上报时,为 true。设为 False 表示解除报警。

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

设备错误

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