Новое в работе с терминалами, sayTo, sayReply

Новые релизы, обновления и т.п.

Модератор: immortal

Аватара пользователя
savenko_egor
Сообщения: 705
Зарегистрирован: Вс авг 03, 2014 8:17 pm
Откуда: Украина, Запорожье
Благодарил (а): 108 раз
Поблагодарили: 147 раз
Контактная информация:

Re: Новое в работе с терминалами, sayTo, sayReply

Сообщение savenko_egor » Чт фев 23, 2017 4:30 pm

Вот попробуйте всё же вместо привет, установить имя терминала или убрать этот параметр совсем. Что-то мне подсказывает что я всё-таки правильно понял.
igrok
Сообщения: 31
Зарегистрирован: Вт окт 27, 2015 8:26 am
Благодарил (а): 7 раз
Поблагодарили: 2 раза

Re: Новое в работе с терминалами, sayTo, sayReply

Сообщение igrok » Чт фев 23, 2017 4:34 pm

если ставлю имя терминала - ничего не меняется, когда убираю этот параметр: сервер отвечает всегда, терминалы отвечают только, когда через них обращаюсь. как заглушить сервер?

нет, проверил. всё так же, отвечает во все терминалы

при том sayTo работает нормально
так можно где-нибудь посмотреть что приходит из терминалов?
Аватара пользователя
savenko_egor
Сообщения: 705
Зарегистрирован: Вс авг 03, 2014 8:17 pm
Откуда: Украина, Запорожье
Благодарил (а): 108 раз
Поблагодарили: 147 раз
Контактная информация:

Re: Новое в работе с терминалами, sayTo, sayReply

Сообщение savenko_egor » Чт фев 23, 2017 4:42 pm

Да. Тоже сейчас проверил. Вы правы. Но почему же тогда система не реагирует? Тут непонятно.
igrok
Сообщения: 31
Зарегистрирован: Вт окт 27, 2015 8:26 am
Благодарил (а): 7 раз
Поблагодарили: 2 раза

Re: Новое в работе с терминалами, sayTo, sayReply

Сообщение igrok » Чт фев 23, 2017 4:46 pm

Видимо sayReply работает так же, как и say, что очень досадно.
И всё же не так:
При первом запросе с сервера Алиса отвечает во все терминалы. При следующем запросе, отвечает только в сервер, как и должна.
При запросах с терминала отвечает и в сервер и в терминал всегда. Если после запроса из терминала спросить через сервер, то 1 раз ответит везде, а затем только в сервер, как и должна.
Очень странное поведение.

Нашел "решение": если отключить голосовые модули на сервере и включить синтез речи в ChromeGateMJD, то соблюдая паузу в 5сек между обращениями, ответ будет выходить из нужного терминала, т.е. из расширения в браузере. А встроенные модули, получается, озвучивают всё, что происходит в системе
cyneprepou2
Сообщения: 17
Зарегистрирован: Вс фев 26, 2017 4:29 pm
Благодарил (а): 0
Поблагодарили: 6 раз

Re: Новое в работе с терминалами, sayTo, sayReply

Сообщение cyneprepou2 » Вс фев 26, 2017 7:26 pm

Пару дней назад скачал данную систему и сразу попал на этот "глюк". Терминалы отказывались сообщения воспроизводить. Пришлось лезть в код и искать причину. Функция sayReply не работает, потому что не может. Но костыли для решения есть, поскольку в системе есть сессии. Два дня ковырялся там и был вознагражден.
Чтобы ответ шел на тот терминал, с которого был запрос надо использовать функцию sayTo, для которой надо знать имя терминала NAME. Не забываем про настройки терминалов: создаем терминалы в панели управления и потом на каждом устройстве выбираем имя терминала справа вверху(вкладка).
Важно:
1) Работает только с MajorDroid API. Галочка у терминала должна быть.
2) На сервер не посылает(по идее это и не нужно)

Пример кода в сценарии:

global $session; //Обращаемся к глобальной переменной
sayTo("Ваш ответ на сценарий", 2, $session->data['TERMINAL']); // 2 - меньше звука нет. $session->data['TERMINAL'] - это имя терминала, которое хранится в сессии.
За это сообщение автора cyneprepou2 поблагодарили (всего 6):
igrok (Пн фев 27, 2017 1:52 am) • booka (Сб сен 23, 2017 10:15 pm) • K070HY (Пт янв 12, 2018 11:33 am) • ZyaK (Пт мар 02, 2018 6:24 am) • shefus (Вт окт 02, 2018 2:05 pm) • Keen Lizard (Ср ноя 13, 2019 8:30 pm)
Рейтинг: 6.98%
igrok
Сообщения: 31
Зарегистрирован: Вт окт 27, 2015 8:26 am
Благодарил (а): 7 раз
Поблагодарили: 2 раза

Re: Новое в работе с терминалами, sayTo, sayReply

Сообщение igrok » Пн фев 27, 2017 1:32 am

cyneprepou2 писал(а): 1) Работает только с MajorDroid API. Галочка у терминала должна быть.
ChromeGateMJD так же работает, спасибо!
Аватара пользователя
savenko_egor
Сообщения: 705
Зарегистрирован: Вс авг 03, 2014 8:17 pm
Откуда: Украина, Запорожье
Благодарил (а): 108 раз
Поблагодарили: 147 раз
Контактная информация:

Re: Новое в работе с терминалами, sayTo, sayReply

Сообщение savenko_egor » Пн фев 27, 2017 1:35 am

Я так понимаю что Вашим решением можно исправить работу sayReply. Сделайте пуллреквест Сергею на гит.
SergeyM
Сообщения: 100
Зарегистрирован: Вт ноя 11, 2014 5:16 pm
Откуда: Шатура
Благодарил (а): 4 раза
Поблагодарили: 8 раз

Re: Новое в работе с терминалами, sayTo, sayReply

Сообщение SergeyM » Пт мар 17, 2017 8:25 am

что-то сломалось :(
при попытке сказать в терминал выдает ошибку:
Warning: socket_connect(): in C:\_majordomo\htdocs\lib\common.class.php on line 71

код такой: sayto("тест",2,'valio2');

причем не говорит только в Windows терминалах (ChromeGateMJD) - в андроид говорит.
Windows, Debian 8, 1-Wire
Connect
SergeyM
Сообщения: 100
Зарегистрирован: Вт ноя 11, 2014 5:16 pm
Откуда: Шатура
Благодарил (а): 4 раза
Поблагодарили: 8 раз

Re: Новое в работе с терминалами, sayTo, sayReply

Сообщение SergeyM » Пт мар 17, 2017 8:05 pm

С выводом звука на терминалы Windows стало понятно:
Обновился из стабильной ветки - все заработало!
Вернулся на Альфу - звук в ChromeGateMJD пропал.
видно, что-то в консерватории надо подправить ;)
Windows, Debian 8, 1-Wire
Connect
artemon25
Сообщения: 112
Зарегистрирован: Чт авг 25, 2016 10:33 pm
Благодарил (а): 15 раз
Поблагодарили: 6 раз

Re: Новое в работе с терминалами, sayTo, sayReply

Сообщение artemon25 » Пт мар 17, 2017 9:06 pm

подскажите всё было хорошо и всё произносилось хорошо но вот третий день ни с того ни сего время каждый час начало произноситься три раза подряд а при срабатывания сценария произносится 2 раза. как это можно исправить. Заранее спасибо за подсказки
Ответить