Google 智能家居 API 上的操作如何异步工作?

How does Action on Google Smart Home API works Asynchronously?

我最近在 Amazon Alexa 上开发了一个智能家居技能项目API,我们使用异步方法进行开发。在 Alexa 中有事件网关使 post 异步调用和延迟响应以保持事件网关打开。我知道 Google 上的 Action 有主页。 HomeGraph 和 EventGateway 的工作方式与我想知道的一样吗? 我还想知道如何使 Google 上的操作异步执行? 根据我的理解,我需要为此目的对 Homegraph 进行 post 调用。

是的,一旦状态完全改变,您可以POST到主页图。

对于某些类型的设备,可能需要一段时间才能完成,您可以 return 一个带有 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
        },
      }
    }
  }
}