You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用action.devices.EXECUTE意图能否同时执行多条设备控制指令

Execute Intent多设备复合命令执行问题解答
  • 首先可以明确:action.devices.EXECUTE intent完全支持同时执行多条不同的设备控制命令,你提到的「打开电灯并关闭开关」这类复合语音指令场景可正常适配。
  • 你当前构造的JSON结构存在错误:你将所有设备和两个相反的OnOff指令放在同一个commands对象中,平台不会自动匹配设备与对应动作,该结构会导致执行逻辑冲突,无法实现预期效果。
  • 正确的请求构造规则:payload.commands数组中的每个独立元素,对应一组需要执行相同动作的设备,每个元素内的devices字段存储待操作的设备列表,execution字段存储该组设备要执行的所有指令。

你需要将不同动作的设备拆分到不同的commands对象中,参考正确结构如下:

{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123",
                "customData": {
                  "deviceName": "action.devices.types.OUTLET"
                }
              },
              {
                "id": "456",
                "customData": {
                  "deviceName": "action.devices.types.OUTLET"
                }
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.OnOff",
                "params": {
                  "on": true
                }
              }
            ]
          },
          {
            "devices": [
              {
                "id": "789",
                "customData": {
                  "deviceName": "action.devices.types.SWITCH"
                }
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.OnOff",
                "params": {
                  "on": false
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
  • 执行逻辑处理规则:后端收到请求后,按顺序遍历commands数组的每一项即可,每一项内的所有设备统一执行该项下execution定义的所有命令,不同commands项的执行逻辑互不干扰,即可实现打开插座、关闭开关的差异化操作。

内容的提问来源于stack exchange,提问作者Michael Antunes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 15:39:00