action.devices.EXECUTE
此 intent 会发送在智能家居设备上执行的命令。
你的执行方式应处理每条命令,将其传输到相应的设备,然后返回
EXECUTE
响应中的新状态。
单个 EXECUTE
intent 可以使用多条命令针对多部设备。
例如,一个触发的 intent 可以同时设置一组
也可以为多盏灯设置不同的颜色
如需了解详情,请参阅查询和执行。
请求格式
字段 | 类型 | 说明 |
---|---|---|
requestId |
String |
必填。 请求的 ID。 |
inputs |
数组 |
必填。 与 intent 请求匹配的输入列表。 |
[item, ...] |
对象 |
与 intent 请求关联的类型和载荷。 |
intent |
必填。 (常量值: intent 请求类型。 |
|
payload |
对象 |
必填。 EXECUTE 请求载荷。 |
commands |
数组 |
必填。 设备目标和命令对列表。 |
[item, ...] |
对象 |
要在已连接的设备目标上执行的命令集。 |
devices |
数组 |
必填。 目标设备列表。 |
[item, ...] |
对象 |
要执行的设备目标。 |
id |
String |
必填。 设备 ID(根据 SYNC 中提供的 ID)。 |
customData |
对象 |
如果在 SYNC 中提供了不透明的 customData 对象,则该对象会发送到此处。 |
execution |
数组 |
必填。 要在目标设备上执行的命令列表。 |
[item, ...] |
对象 |
设备命令。 |
command |
String |
必填。 要执行的命令,通常带有附带参数。 |
params |
对象 |
与每个命令的参数保持一致。 |
示例
EXECUTE intent 请求
{
"requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
"inputs": [
{
"intent": "action.devices.EXECUTE",
"payload": {
"commands": [
{
"devices": [
{
"id": "123",
"customData": {
"fooValue": 74,
"barValue": true,
"bazValue": "sheepdip"
}
},
{
"id": "456",
"customData": {
"fooValue": 36,
"barValue": false,
"bazValue": "moarsheep"
}
}
],
"execution": [
{
"command": "action.devices.commands.OnOff",
"params": {
"on": true
}
}
]
}
]
}
}
]
}
响应格式
字段 | 类型 | 说明 |
---|---|---|
requestId |
String |
必填。 相应请求的 ID。 |
payload |
对象 |
必填。 intent 响应载荷。 |
errorCode |
String |
针对身份验证失败和开发者系统不可用的整个事务的错误代码。对于单个设备错误,请在设备对象中使用 errorCode。 |
debugString |
String |
详细错误,此类错误永远不会向用户显示,但可能会在开发过程中被记录或使用。 |
commands |
数组 |
每个对象都包含一个或多个具有响应详情的设备。注意这些事件的分组方式可能与请求中的方式不同。例如,请求可能会打开 7 盏灯,其中 3 盏灯成功,4 盏灯失败,因此响应中有两组。 |
[item, ...] |
对象 |
设备执行结果。 |
ids |
数组 |
必填。 与此状态对应的设备 ID 列表。 |
[item, ...] |
String |
设备 ID。 |
status |
String |
必填。 执行操作的结果。 支持的值:
|
states |
对象 |
与每个特征架构参考中描述的每个特征状态保持一致。这些是执行后的状态(如果有)。 |
online |
布尔值 |
指示设备是否在线(即可连接)。 |
errorCode |
String |
根据需要从预设的错误代码扩展 ERROR 状态,该状态将映射到呈现给用户的错误。 |
示例
执行 intent 响应
{
"requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
"payload": {
"commands": [
{
"ids": [
"123"
],
"status": "SUCCESS",
"states": {
"on": true,
"online": true
}
},
{
"ids": [
"456"
],
"status": "ERROR",
"errorCode": "deviceTurnedOff"
}
]
}
}