[Настройка] Альтернативное решение по интеграции с google assistant: настройка собственного webhook для dialogflow

Описание настройки чего либо

Модераторы: immortal, newz20

Аватара пользователя
ovcher
Сообщения: 184
Зарегистрирован: Сб сен 12, 2015 3:11 am
Откуда: Волгоград
Контактная информация:

Re: Альтернативное решение по интеграции с google assistant: настройка собственного webhook для dialogflow

Сообщение ovcher »

sorochan.ilya писал(а): Вс окт 14, 2018 1:51 pm Для версии 2 нужно изменить:...
Если речь о второй версии протокола, со второй версией протокола вылазят баги, типа спонтанного воспроизведения команд.
Например, говоришь "включи свет в прихожей" команда отрабатывается и тут же следом, без каких либо моих команд, в чате вылазит "включи" и это "включи" "благополучно" улетает в мажор.
Аватара пользователя
sorochan.ilya
Сообщения: 22
Зарегистрирован: Вс янв 24, 2016 11:20 am

Re: Альтернативное решение по интеграции с google assistant: настройка собственного webhook для dialogflow

Сообщение sorochan.ilya »

ovcher писал(а): Пн окт 15, 2018 11:18 am
sorochan.ilya писал(а): Вс окт 14, 2018 1:51 pm Для версии 2 нужно изменить:...
Если речь о второй версии протокола, со второй версией протокола вылазят баги, типа спонтанного воспроизведения команд.
Например, говоришь "включи свет в прихожей" команда отрабатывается и тут же следом, без каких либо моих команд, в чате вылазит "включи" и это "включи" "благополучно" улетает в мажор.
У меня пока сбоев не было, но в принципе и не много тестировал
Аватара пользователя
vitt76
Сообщения: 373
Зарегистрирован: Вс апр 09, 2017 2:36 pm

Re: Альтернативное решение по интеграции с google assistant: настройка собственного webhook для dialogflow

Сообщение vitt76 »

Новый webhook передает команду в систему и получает ответ быстро и без костылей.
Файл webhook.php нужно положить в корень сайта, НЕ в папку webhook.
В dialogflow обязательно внести новый адрес, а рядом логин и пароль, если у вас включена внешняя авторизация!
Версия протокола v1

Код: Выделить всё

<?php

//получаем данные
$requestBody = file_get_contents('php://input');

//декодим данные
$json = json_decode($requestBody);
$text = $json->result->resolvedQuery;

//передаем команду в систему
include_once("./config.php");
include_once("./lib/loader.php");
$session = new session("prj");
$db = new mysql(DB_HOST, '', DB_USER, DB_PASSWORD, DB_NAME);
include_once(DIR_MODULES . "application.class.php");
include_once("./load_settings.php");
say(htmlspecialchars($text), 0, 1);

// читаем ответ
$sqlQuery = "SELECT MESSAGE
               FROM shouts
              WHERE MEMBER_ID = 0
              ORDER BY ID DESC
              LIMIT 1";

$speech = current(SQLSelectOne($sqlQuery));

if ($text == 'GOOGLE_ASSISTANT_WELCOME') {$speech ='Привет, чем могу помочь?';}
//отвечаем гуглу
$response = new \stdClass();
$response->speech = $speech;
$response->displayText = $speech;
$response->source = "webhook";
echo json_encode($response);

?>
Broadlink + Orange Pi PC ARMBIAN 5.31
Аватара пользователя
vitt76
Сообщения: 373
Зарегистрирован: Вс апр 09, 2017 2:36 pm

Re: Альтернативное решение по интеграции с google assistant: настройка собственного webhook для dialogflow

Сообщение vitt76 »

Добавил в код для поддержки старых версий

Код: Выделить всё

$db = new mysql(DB_HOST, '', DB_USER, DB_PASSWORD, DB_NAME);
если кто качал, перекачайте, спасибо ovcher за бета-тест :)
Broadlink + Orange Pi PC ARMBIAN 5.31
Аватара пользователя
Strangeman
Сообщения: 209
Зарегистрирован: Ср янв 16, 2013 6:35 pm
Откуда: Золотарево
Контактная информация:

Re: Альтернативное решение по интеграции с google assistant: настройка собственного webhook для dialogflow

Сообщение Strangeman »

Можно переносить в библиотеку решений?
Основной: Z99Le, Debian 10, модули на ESP-12F с собственной логикой. С сервером связаны, но работоспособны и без него.
Тестовый: Cubieboard2, Armbian Buster (сейчас Bionic) 5.4.y
Аватара пользователя
vitt76
Сообщения: 373
Зарегистрирован: Вс апр 09, 2017 2:36 pm

Re: Альтернативное решение по интеграции с google assistant: настройка собственного webhook для dialogflow

Сообщение vitt76 »

Да, я поправил шапку, спасибо.
Broadlink + Orange Pi PC ARMBIAN 5.31
newz20
Сообщения: 173
Зарегистрирован: Пт апр 06, 2018 9:40 am

Re: Альтернативное решение по интеграции с google assistant: настройка собственного webhook для dialogflow

Сообщение newz20 »

vitt76 писал(а): Чт окт 25, 2018 2:39 pm Да, я поправил шапку, спасибо.
Поскольку решение готово, прошу для избежания вопросов:
1) поправить на скринах несоответствие путей 'Создаем свою ответную часть webhook, например, файл webhook.php, который обязательно должен лежать в корне сайта.' И последнего скрина (ваш файл лежит еще и в папке webhook, а не в корне сразу)
2) Welcome-action я удалил, чтобы он не мешал, на скрине вроде он присутствует еще или я ошибаюсь?
3) Показать как связать с гуглом и настройка в гугле если нужна.

Это из того что бегло нашел и не хватает.
В идеале Расписать все по полочкам со скринами как должно быть (Там где нужно свое указать так и пишите свое или обведите на скрине) , для самых непонятливых, как я :)

Большое спасибо вам за проделанную работу. :!:
Аватара пользователя
webms
Сообщения: 498
Зарегистрирован: Чт дек 15, 2016 3:13 am

Re: [Настройка] Альтернативное решение по интеграции с google assistant: настройка собственного webhook для dialogflow

Сообщение webms »

Всем привет. Т.е. благодаря решением ТС можно общаться с гугл колонкой на русском?
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Контактная информация:

Re: [Настройка] Альтернативное решение по интеграции с google assistant: настройка собственного webhook для dialogflow

Сообщение skysilver »

webms писал(а): Пт ноя 02, 2018 12:24 pm Всем привет. Т.е. благодаря решением ТС можно общаться с гугл колонкой на русском?
Нет. Колонка русский не понимает пока.

А в целом гугл ассистент давно интегрирован через Коннект. Здесь же альтернативный способ.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
pash4uga
Сообщения: 192
Зарегистрирован: Чт окт 04, 2018 12:04 pm

Re: [Настройка] Альтернативное решение по интеграции с google assistant: настройка собственного webhook для dialogflow

Сообщение pash4uga »

А с сервером на винде кто нибудь настраивал?
Как там Apache настроить?
Ответить