Как Action на Google Smart Home API работает асинхронно? - PullRequest
0 голосов
/ 29 ноября 2018

Недавно я разработал проект для Amazon Alexa для Smart Home Skill API, и мы разработали его с помощью Async Method.В Alexa есть Event Gateway для асинхронного пост-вызова и отложенного ответа для сохранения шлюза событий открытым.Я знаю, что у Action в Google есть homegraph.Работа HomeGraph и EventGateway - это то же самое, что мне было интересно?Мне также было интересно, как я могу сделать выполнение асинхронным для действия в Google?Насколько я понимаю, для этой цели мне понадобится сделать звонок в Homegraph.

1 Ответ

0 голосов
/ 29 ноября 2018

Да, вы можете сделать POST для домашнего графика, как только состояние полностью изменится.

Для определенных типов устройств, выполнение которых может занять некоторое время, вы можете вернуть ответ на выполнение с ОЖИДАНИЕМ:

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

Позже, когда статус будет правильным, вы можете использовать Состояние отчета API:

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