智能家居 ArmDisarm trait 架构
action.devices.traits.ArmDisarm
- 此 trait 支持开启和关闭(例如在安防系统中使用)。
对于具有多级安全级别的设备,应使用 availableArmLevels
属性报告这些级别。
设备属性
具有此 trait 的设备可能会在 SYNC
操作中报告以下属性。如需详细了解如何处理 SYNC
intent,请参阅intent 执行方式。
属性 | 类型 | 说明 |
---|---|---|
availableArmLevels |
对象 |
描述设备支持的安全级别。如果未报告此属性,则表示设备仅支持一级。 |
levels |
数组 |
必填。 设备支持的可用安全级别列表。 |
[item, ...] |
对象 |
安全等级。 |
level_name |
String |
必填。 命令和状态中使用的安全级别的内部名称。此名称可能不太方便用户使用,并且会在所有语言版本中共享。 |
level_values |
数组 |
必填。 包含 |
[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 |
必填。 如果指定了 |
exitAllowance |
整数 |
指示用户必须离开多长时间(以秒为单位), |
示例
报告不同的上报级别的安防系统
{ "isArmed": true, "currentArmLevel": "L1" }
设备命令
具有此 trait 的设备可能会在 EXECUTE
操作期间响应以下命令。如需详细了解如何处理 EXECUTE
intent,请参阅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 } }
相关错误
在开启或关闭设备报警时出错。
支持的值:
alreadyInState
deviceTampered
passphraseIncorrect
pinIncorrect
securityRestriction
tooManyFailedAttempts
userCancelled