智能家居 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