Google Smart Home API上的Action如何异步工作?

时间:2018-11-29 08:51:59

标签: actions-on-google google-smart-home smarthomeskill

我最近在Amazon Alexa上开发了一个用于智能家居技能API的项目,我们使用异步方法进行了开发。在Alexa中,事件网关可以异步发出呼叫,并且响应延迟,可以使事件网关保持打开状态。我知道Google上的Action有签名。我想知道的是HomeGraph和EventGateway的工作吗? 我还想知道如何使Google Action的执行异步? 根据我的理解,我将需要为此目的致电给Homegraph。

1 个答案:

答案 0 :(得分:0)

是的,一旦状态完全更改,您就可以向主页图形发送POST。

对于某些类型的设备,可能需要一段时间才能完成,您可以返回带有PENDING的执行响应:

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [{
      "ids": ["123"],
      "status": "PENDING",
      "states": {
        "on": false,
        "online": true
      }
    }]
  }
}

稍后,状态正确后,您可以使用Report State API:

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "agentUserId": "1234",
  "payload": {
    "devices": {
      "states": {
        "123": {
          "on": true
        },
      }
    }
  }
}