Как написать действие Google, которое публикует API в локальной сети - PullRequest
0 голосов
/ 29 августа 2018

Я только начинаю писать Google Actions для некоторых проектов домашней автоматизации. Я не могу найти информацию о том, как написать действие, которое будет POST для API в локальной сети. Я не хочу выходить за пределы брандмауэра для автоматизации устройств и служб, расположенных в локальной сети. Я предоставил изображение того, что я хочу сделать. Diagram 1

1 Ответ

0 голосов
/ 29 августа 2018

Вы не можете сделать это. Устройство Google Home (как правило) не имеет доступа к локальной сети, и кроме базовой обработки голоса ваши Действия выполняются в облаке, а не на самом локальном устройстве.

Большинство устройств, которые работают локально, все обращаются к облачной службе, чтобы делать то, что они хотят. Это позволяет вашему помощнику воздействовать на них, даже если устройство помощника (например, телефон) не находится в локальной сети.

Ваши варианты довольно узки:

  • Посмотрите, поддерживает ли IFTTT то, что вы пытаетесь сделать, или используйте API с IFTTT или используйте IFTTT прямо из Дома.
  • Настройка туннеля между конечной точкой в ​​общедоступном Интернете и вашей локальной сетью.
  • Настройка облачной службы, которую локальное устройство проверяет на наличие изменений состояния (здесь можно использовать различные подходы).
  • Вариант последнего (вдохновленный комментариями @ Ника) заключается в том, чтобы иметь единственный локальный концентратор, который прослушивает изменения в некотором облачном сервисе и отправляет эти изменения локально. (Опять же, различные подходы.)
...