Google Home - пользовательские действия на устройстве

Я хочу поддерживать настраиваемое действие (не попадающее ни в одну категорию, указанную в SDK Google Smart Home) для своего устройства.

Для простоты предположим, что мое устройство - это робот, который может двигаться. Я хочу иметь возможность сказать «Окей, Google, попроси Роджера двигаться вперед» или «Окей, Google, попроси Роджера танцевать»

Это похоже на то, как работает Logitech Harmony: «Окей, Google! Попросите Harmony сделать ...»

Но нет документации о том, как и если это возможно.

В качестве расширения я хотел бы реализовать диалог между Роджером и Google Home.

User: "Ok, Google! Talk to Roger"    
Google Home: "This is Roger, what do you want me to do?"  
User: "Move left"  
....

Я знаю, что этот диалог можно реализовать с помощью DialogFlow, но мне не ясно, как им управлять с помощью реальных устройств (связанных с учетной записью в Google Home).


person vsky    schedule 20.04.2018    source источник


Ответы (1)


Я думаю, вы можете объединить два разных типа интеграции с Google Assistant.

Разработаны настраиваемые действия устройства. чтобы можно было расширить возможности Google Assistant, когда он встроен в устройства Интернета вещей. Таким образом, если у вас есть термопринтер, вы можете сообщить об этом распечатайте звезду или любую другую фигуру.

Если вы хотите, чтобы все ваши поверхности имели доступ к устройству и не разговаривают с этим устройством в частности, вы можете использовать Действия в Google. В Actions on Google вы разрабатываете веб-перехватчик, который будет подключаться к командам, заданным пользователем.

В вашем случае вам нужно создать Действие. С помощью Dialogflow или другой службы вы можете создавать намерения для движения.

  • Intent - Move
    • User says: "Move left"

Затем вам нужно будет разместить веб-перехватчик, который подключит Намерение - Переместить к вашему устройству.

Взаимодействие с пользователем становится таким, как вы описали выше, когда пользователь разговаривает с роботом через Google Home или другие поверхности Assistant.

person Nick Felker    schedule 20.04.2018
comment
Спасибо. Но как подключить Intent - Move к моему устройству? Пока я не могу найти документацию по приложениям для умного дома, которые допускают только предопределенный набор действий. Имеет ли DialogFlow информацию об учетной записи и доступ к домашнему графу, чтобы мой веб-перехватчик мог направить намерение нужному роботу. - person vsky; 21.04.2018
comment
В Умном доме команды прямые: вы не станете разговаривать с Роджером, но их количество ограничено. Dialogflow не имеет доступа к домашнему графу, поэтому ваше исполнение должно будет обрабатывать идентификацию устройств и управление через облачные сообщения или любую другую реализацию, которую вы хотите. - person Nick Felker; 21.04.2018
comment
Вопрос в том, как определить устройство (дом Google), с которого инициируется диалог? Без этой информации невозможно сопоставить этот запрос с роботом, который находится рядом с этим домашним устройством Google. - person vsky; 21.04.2018
comment
Невозможно идентифицировать конкретное устройство. У вас должен быть свой собственный способ устранения неоднозначности, например, именование каждого из них. - person Nick Felker; 23.04.2018