Страница 9 из 26
Re: Новое в работе с терминалами, sayTo, sayReply
Добавлено: Чт фев 23, 2017 4:30 pm
savenko_egor
Вот попробуйте всё же вместо привет, установить имя терминала или убрать этот параметр совсем. Что-то мне подсказывает что я всё-таки правильно понял.
Re: Новое в работе с терминалами, sayTo, sayReply
Добавлено: Чт фев 23, 2017 4:34 pm
igrok
если ставлю имя терминала - ничего не меняется, когда убираю этот параметр: сервер отвечает всегда, терминалы отвечают только, когда через них обращаюсь. как заглушить сервер?
нет, проверил. всё так же, отвечает во все терминалы
при том sayTo работает нормально
так можно где-нибудь посмотреть что приходит из терминалов?
Re: Новое в работе с терминалами, sayTo, sayReply
Добавлено: Чт фев 23, 2017 4:42 pm
savenko_egor
Да. Тоже сейчас проверил. Вы правы. Но почему же тогда система не реагирует? Тут непонятно.
Re: Новое в работе с терминалами, sayTo, sayReply
Добавлено: Чт фев 23, 2017 4:46 pm
igrok
Видимо sayReply работает так же, как и say, что очень досадно.
И всё же не так:
При первом запросе с сервера Алиса отвечает во все терминалы. При следующем запросе, отвечает только в сервер, как и должна.
При запросах с терминала отвечает и в сервер и в терминал всегда. Если после запроса из терминала спросить через сервер, то 1 раз ответит везде, а затем только в сервер, как и должна.
Очень странное поведение.
Нашел "решение": если отключить голосовые модули на сервере и включить синтез речи в ChromeGateMJD, то соблюдая паузу в 5сек между обращениями, ответ будет выходить из нужного терминала, т.е. из расширения в браузере. А встроенные модули, получается, озвучивают всё, что происходит в системе
Re: Новое в работе с терминалами, sayTo, sayReply
Добавлено: Вс фев 26, 2017 7:26 pm
cyneprepou2
Пару дней назад скачал данную систему и сразу попал на этот "глюк". Терминалы отказывались сообщения воспроизводить. Пришлось лезть в код и искать причину. Функция sayReply не работает, потому что не может. Но костыли для решения есть, поскольку в системе есть сессии. Два дня ковырялся там и был вознагражден.
Чтобы ответ шел на тот терминал, с которого был запрос надо использовать функцию sayTo, для которой надо знать имя терминала NAME. Не забываем про настройки терминалов: создаем терминалы в панели управления и потом на каждом устройстве выбираем имя терминала справа вверху(вкладка).
Важно:
1) Работает только с MajorDroid API. Галочка у терминала должна быть.
2) На сервер не посылает(по идее это и не нужно)
Пример кода в сценарии:
global $session; //Обращаемся к глобальной переменной
sayTo("Ваш ответ на сценарий", 2, $session->data['TERMINAL']); // 2 - меньше звука нет. $session->data['TERMINAL'] - это имя терминала, которое хранится в сессии.
Re: Новое в работе с терминалами, sayTo, sayReply
Добавлено: Пн фев 27, 2017 1:32 am
igrok
cyneprepou2 писал(а):
1) Работает только с MajorDroid API. Галочка у терминала должна быть.
ChromeGateMJD так же работает, спасибо!
Re: Новое в работе с терминалами, sayTo, sayReply
Добавлено: Пн фев 27, 2017 1:35 am
savenko_egor
Я так понимаю что Вашим решением можно исправить работу sayReply. Сделайте пуллреквест Сергею на гит.
Re: Новое в работе с терминалами, sayTo, sayReply
Добавлено: Пт мар 17, 2017 8:25 am
SergeyM
что-то сломалось
при попытке сказать в терминал выдает ошибку:
Warning: socket_connect(): in C:\_majordomo\htdocs\lib\common.class.php on line 71
код такой: sayto("тест",2,'valio2');
причем не говорит только в Windows терминалах (ChromeGateMJD) - в андроид говорит.
Re: Новое в работе с терминалами, sayTo, sayReply
Добавлено: Пт мар 17, 2017 8:05 pm
SergeyM
С выводом звука на терминалы Windows стало понятно:
Обновился из стабильной ветки - все заработало!
Вернулся на Альфу - звук в ChromeGateMJD пропал.
видно, что-то в консерватории надо подправить

Re: Новое в работе с терминалами, sayTo, sayReply
Добавлено: Пт мар 17, 2017 9:06 pm
artemon25
подскажите всё было хорошо и всё произносилось хорошо но вот третий день ни с того ни сего время каждый час начало произноситься три раза подряд а при срабатывания сценария произносится 2 раза. как это можно исправить. Заранее спасибо за подсказки