#dialogflow-es #actions-on-google #dialogflow-es-fulfillment #google-smart-home
#dialogflow-es #действия в Google #dialogflow-es-выполнение #google-умный дом
Вопрос:
Я создал действие, которое отправляет уведомления на другие устройства умного дома. Это диалоговое действие, т. Е. я не выбирал «Управление умным домом» при создании действия. Теперь я хочу управлять освещением умного дома, которое подключено к учетной записи Google, с помощью этого действия. Например, когда я говорю: «Оставьте сообщение для Дэвида», при этом действии должен включаться определенный свет.
Возможно ли этого добиться? Я подумал, что управлять гаджетами «умного дома» возможно только при выборе действия «Управление умным домом». В качестве альтернативы я подумал о том, чтобы напрямую отправить команду в Google assistant (не действие), в которой говорится что-то вроде: «Включить светодиод 1».
Возможно ли каким-либо образом управлять освещением с помощью обычного действия? Я что-то недосмотрел?
Заранее благодарю тебя, Оли
Комментарии:
1. в принципе, я хочу использовать намерение action.devices в моем диалоговом действии
2. может быть, с помощью ifttt?
Ответ №1:
Это непростая задача, но, безусловно, она достижима. Шаги, которые, как я вижу, вам нужно выполнить, следующие:
- Внедрите поток oauth, позволяющий вашим клиентам входить в ваше голосовое приложение.
- В вашем потоке авторизации вам необходимо авторизоваться самостоятельно у производителей smart home.
- Сохраните данные клиента oauth и авторизации smart home для каждого пользователя в (закрытой) базе данных.
- Создайте веб-хук для выполнения запросов пользователя.
Комментарии:
1. Таким образом, необходимо явно авторизовать сторонних производителей на действие, хотя подсветки уже подключены (и авторизованы) к учетной записи Google? Я не могу представить, что это самое простое. Разве невозможно отправить команду Google с надписью «Ok, Google, включите светодиод 1» из действия Google, например, отправив HTTP POST?
2. Вы могли бы создать свой собственный поток только в приложении Google Home, но это не то, что вы имеете в виду. Общение осуществляется более или менее односторонним способом, actions API позволит вам общаться напрямую, но не в соответствии с его / ее намерениями
3. Не могли бы вы дать мне ссылку на некоторую документацию или примеры для ваших шагов 1.-4.?
4. @OliDev какой язык программирования вы используете? Возможно, даже платформа, на которой вы планируете ее разместить, могла бы изменить мои предложения
5. Стороннее действие не может напрямую управлять устройствами других третьих сторон.