智能家居 ArmDisarm 特征架构
action.devices.traits.ArmDisarm - 此特征支持设防和撤防,例如在安防系统中。
对于具有多个安全级别的设备,应使用 availableArmLevels 属性报告这些级别。
设备属性
具有此特征的设备可能会在 SYNC 操作中报告以下属性。如需详细了解如何处理 SYNC intent,请参阅意图实现。
| 属性 | 类型 | 说明 | 
|---|---|---|
availableArmLevels | 
    对象 | 
       描述设备支持的安全级别。如果未报告此属性,则表示设备仅支持一个级别。  | 
  
levels | 
    数组 | 
       必填。 设备支持的可用安全级别列表。  | 
  
[item, ...] | 
    对象 | 
       安全等级。  | 
  
level_name | 
    String | 
       必填。 命令和状态中使用的安全级别的内部名称。此名称可能不太方便用户理解,并且在所有语言中都是相同的。  | 
  
level_values | 
    数组 | 
       必填。 包含   | 
  
[item, ...] | 
    对象 | 
       给定语言的级别同义词。为了提供语言回退,至少需要一个   | 
  
level_synonym | 
    数组 | 
       必填。 各会员级别的易记名称(采用每种受支持的语言)。第一个项被视为规范名称。  | 
  
[item, ...] | 
    String | 
       同义词名称。为了提供语言回退,至少需要一个   | 
  
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 | 
       必填。 如果指定了   | 
  
exitAllowance | 
    整数 | 
       表示用户必须在   | 
  
示例
报告不同设防级别的安防系统
{
  "isArmed": true,
  "currentArmLevel": "L1"
}设备命令
具有此特征的设备可能会响应以下命令,作为 EXECUTE 操作的一部分。如需详细了解如何处理 EXECUTE intent,请参阅意图实现。
action.devices.commands.ArmDisarm
设置此设备的警报级别。
参数
相应载荷包含以下内容之一:
取消开启或关闭报警器操作
| 参数 | 类型 | 说明 | 
|---|---|---|
followUpToken | 
    String | 
       Google 提供的用于后续响应的令牌。  | 
  
arm | 
    布尔值 | 
       必填。 如果命令是设防,则为 true。False 表示解除武装。  | 
  
cancel | 
    布尔值 | 
       必填。 如果命令是取消   | 
  
开启或关闭设备,并可选择安全级别。
| 参数 | 类型 | 说明 | 
|---|---|---|
followUpToken | 
    String | 
       Google 提供的用于后续响应的令牌。  | 
  
arm | 
    布尔值 | 
       必填。 如果命令是设防,则为 true。False 表示解除武装。  | 
  
armLevel | 
    String | 
       要设定的安保等级。  | 
  
示例
启动系统
{
  "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
  }
}相关错误
在设防或撤防设备时出错。
支持的值:
alreadyInStatedeviceTamperedpassphraseIncorrectpinIncorrectsecurityRestrictiontooManyFailedAttemptsuserCancelled