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