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

如何通过代码向Google Assistant发送指令及解决GA SDK设备交互异常

解决方案

能否程序化控制Google Assistant绑定的智能家居设备

可以,有两种成熟实现路径:

  • 直接调用Google Home Graph API的Execute接口,无需模拟自然语言指令,直接传入设备ID和要执行的操作,是最稳定的程序化控制方案
  • 调整现有Google Assistant SDK的配置,修复设备识别问题后即可正常发送文本指令控制设备

Google Assistant SDK无法识别自有智能设备的原因

你遇到的问题是SDK的默认配置没有和你的智能家居项目的家庭结构关联导致的,和凭证无关,具体原因有三个:

  1. 你的Google Assistant SDK项目默认没有开启智能家居设备访问权限,即使使用同一套凭证,SDK生成的Assistant实例默认是独立的,没有同步你Smart Home App下的设备列表
  2. 调用SDK文本查询接口时没有传入正确的设备标识参数,Assistant无法判定你是在查询/控制自己家庭下的设备
  3. 你创建的SDK虚拟设备没有加入到和washer、吊扇相同的Google家庭组,Assistant认为当前场景下不存在对应的设备

修复步骤

方案1:继续使用Assistant SDK

  1. 进入Google Cloud控制台对应项目的Google Assistant API配置页,找到「Device Registration」模块,注册一个SDK对应的虚拟设备,设备类型任选即可
  2. 打开手机端Google Home App,将刚注册的虚拟设备添加到存放washer、吊扇的同一家庭组内
  3. 调用SDK的文本查询接口时,必须传入注册时生成的device_model_id和device_id参数,示例请求结构如下:
{
  "inputs": [
    {
      "intent": "assistant.action.intent.Assist",
      "query": "is the washer running?",
      "payload": {
        "device": {
          "device_id": "你的SDK虚拟设备ID",
          "model_id": "你的SDK虚拟设备型号ID"
        }
      }
    }
  ]
}

完成以上配置后即可正常发送文本指令查询、控制你的智能设备。

方案2:使用Home Graph API(更推荐)

如果你的需求仅为程序化控制设备,不需要处理自然语言交互,直接调用Home Graph API的Execute接口即可,无需走Assistant SDK的逻辑,控制精度和成功率更高,请求示例如下:

{
  "requestId": "自定义随机请求ID",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "你的吊扇对应的device ID"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.OnOff",
                "params": {
                  "on": true
                }
              }
            ]
          }
        ]
      }
    }
  ]
}

调用该接口直接使用你现有Smart Home App的OAuth凭证即可,无需额外配置。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 14:45:03