Страница 59 из 69
Re: [Модуль] Терминалы2 (Terminals2)
Добавлено: Чт июл 23, 2020 2:47 pm
Chainik
Re: [Модуль] Терминалы2 (Terminals2)
Добавлено: Чт июл 23, 2020 4:13 pm
homester
Поднял сервер под Win для проверки, функция playMedia() не работает, три бубна сменил, бесполезно. Буду разбираться. Да и с моей проблемой наверно не в этой ветке.
Re: [Модуль] Терминалы2 (Terminals2)
Добавлено: Чт июл 23, 2020 4:27 pm
tarasfrompir
tarasfrompir писал(а): ↑Чт июл 23, 2020 2:08 pm
yden писал(а): ↑Чт июл 23, 2020 1:20 pm
Сенк.
Пробую:
Код: Выделить всё
$path = "/var/www/cms/sounds/03731.mp3";
playMedia($path, $host = 'googleHomeMini', $safe_play = FALSE)
Получаю: гуглоколонка тиликнула и тишина:
Код: Выделить всё
http://10.12.10.10/admin.php?pd=cGFuZWw6e2FjdGlvbj1zY3JpcHRzfQ%3D%3Dpz_&md=scripts&inst=adm&
Maximum execution time of 90 seconds exceeded
#0 /var/www/lib/errors.class.php(116): custom_error->__construct('Maximum executi...')
#1 [internal function]: phpShutDownFunction()
#2 {main}
МДМ стоит на ubuntu server, файл по указанному пути имеется.
Хреново пробуеш - а так ?
$path = "/var/www/cms/sounds/03731.mp3";
playMedia($path, 'googleHomeMini');
ВОТ ТАК ПРОБОВАЛ??? только ж путь свой к файлу и название терминала соответственно
Re: [Модуль] Терминалы2 (Terminals2)
Добавлено: Чт июл 23, 2020 4:37 pm
homester
Если ко мне вопрос, то нет вариантов, которые я не испробовал.
Re: [Модуль] Терминалы2 (Terminals2)
Добавлено: Чт июл 23, 2020 4:38 pm
tarasfrompir
homester писал(а): ↑Чт июл 23, 2020 4:37 pm
Если ко мне вопрос, то нет вариантов, которые я не испробовал.
ну странно - ...
Re: [Модуль] Терминалы2 (Terminals2)
Добавлено: Чт июл 23, 2020 5:38 pm
yden
tarasfrompir писал(а): ↑Чт июл 23, 2020 2:08 pm
yden писал(а): ↑Чт июл 23, 2020 1:20 pm
Сенк.
Пробую:
Код: Выделить всё
$path = "/var/www/cms/sounds/03731.mp3";
playMedia($path, $host = 'googleHomeMini', $safe_play = FALSE)
Получаю: гуглоколонка тиликнула и тишина:
Код: Выделить всё
http://10.12.10.10/admin.php?pd=cGFuZWw6e2FjdGlvbj1zY3JpcHRzfQ%3D%3Dpz_&md=scripts&inst=adm&
Maximum execution time of 90 seconds exceeded
#0 /var/www/lib/errors.class.php(116): custom_error->__construct('Maximum executi...')
#1 [internal function]: phpShutDownFunction()
#2 {main}
МДМ стоит на ubuntu server, файл по указанному пути имеется.
Хреново пробуеш - а так ?
$path = "/var/www/cms/sounds/03731.mp3";
playMedia($path, 'googleHomeMini');
И так та же ошибка.
Re: [Модуль] Терминалы2 (Terminals2)
Добавлено: Чт июл 23, 2020 10:42 pm
tarasfrompir
Так по поводу тех кто ходил на мастер а потом на альфу - а потом опять обратно , а потом вообще хз куда...
НО Если у вас есть ошибка связанная с функцией евентс... чтото типа каннот редекларе евентс ....
ТО при удалении терминалов2 ОБЯЗАТЕЛЬНО УДАЛИТЬ ЕЩЕ И ФАЙЛ ЕВЕНТС.КЛАСС.ПХП.....
Єто для тех кто на мастере...
И вообще придерживайтесь рекомендаций - ставьте єтот модуль только на АЛЬФУ... МДМ....
Re: [Модуль] Терминалы2 (Terminals2)
Добавлено: Вс авг 02, 2020 6:46 am
Slavik398
Тарас приветствую.
У яндекса имеется ограничение в 100 символов, но вчера Xor выложил обход этой проблемы.
https://connect.smartliving.ru/profile/ ... minal.html
У себя поправил yandexcloud_tts.addon.php, проверил, работает.
Код: Выделить всё
<?php
class yandexcloud_tts extends tts_addon
{
function __construct($terminal)
{
$this->title = "Yandex smart device cloud";
$this->description = '<b>Описание:</b> Для работы использует <a href="https://mjdm.ru/forum/viewtopic.php?f=5&t=6922">модуль Яндекс девайс</a>. Без этого модуля ничего работать не будет.<br>';
//$this->description .= '<b>Проверка доступности:</b> service_ping (пингование проводится проверкой состояния сервиса).<br>';
$this->description .= '<b>Поддерживаемые возможности:</b> say(), sayTo(), sayReply().';
$this->terminal = $terminal;
if (!$this->terminal['HOST']) return false;
unsubscribeFromEvent('yadevices', 'SAY');
unsubscribeFromEvent('yadevices', 'SAYTO');
unsubscribeFromEvent('yadevices', 'ASK');
unsubscribeFromEvent('yadevices', 'SAYREPLY');
}
// Say
function say_message($message, $terminal) {
if (file_exists(DIR_MODULES . 'yadevices/yadevices.class.php')) {
include(DIR_MODULES . 'yadevices/yadevices.class.php');
$yandex_cloud = new yadevices();
$station = SQLSelectOne("SELECT * FROM yastations WHERE TTS=2 AND IOT_ID!='' AND IP='".$this->terminal['HOST']."'");
if($message['MESSAGE'] == '') return;
if(strlen($message['MESSAGE'])>100){ //если фраза > 100 букв, поделим на предложения
$phs = explode('.',$message['MESSAGE']);
foreach($phs as $ph){ //переберем предложения
if(strlen($ph)<100){
$yandex_cloud->sendCloudTTS($station['IOT_ID'],$ph);
}else{
$ph = mb_strimwidth($ph, 0,99, "..."); //не получилось( обрежем
$yandex_cloud->sendCloudTTS($station['IOT_ID'],$ph);
}
// sleep(2);// на всякий случай
}
}else{ //скажем, как есть
$yandex_cloud->sendCloudTTS($station['IOT_ID'],$message['MESSAGE']);
}
}
$this->success = TRUE;
usleep(500000);
return $this->success;
}
}
?>
Я не уверен что тут все правильно, так что лучше перепроверить.
yandex_tts.addon.php не правил т.к. не пользуюсь, но думаю тоже будет актуально.
Добавь пожалуйста в терминалы2.
И конечно спасибо Xor за решение проблемы и то что делится со всеми))
Re: [Модуль] Терминалы2 (Terminals2)
Добавлено: Вс авг 02, 2020 8:42 am
tarasfrompir
Slavik398 писал(а): ↑Вс авг 02, 2020 6:46 am
Тарас приветствую.
У яндекса имеется ограничение в 100 символов, но вчера Xor выложил обход этой проблемы.
https://connect.smartliving.ru/profile/ ... minal.html
У себя поправил yandexcloud_tts.addon.php, проверил, работает.
Код: Выделить всё
<?php
class yandexcloud_tts extends tts_addon
{
function __construct($terminal)
{
$this->title = "Yandex smart device cloud";
$this->description = '<b>Описание:</b> Для работы использует <a href="https://mjdm.ru/forum/viewtopic.php?f=5&t=6922">модуль Яндекс девайс</a>. Без этого модуля ничего работать не будет.<br>';
//$this->description .= '<b>Проверка доступности:</b> service_ping (пингование проводится проверкой состояния сервиса).<br>';
$this->description .= '<b>Поддерживаемые возможности:</b> say(), sayTo(), sayReply().';
$this->terminal = $terminal;
if (!$this->terminal['HOST']) return false;
unsubscribeFromEvent('yadevices', 'SAY');
unsubscribeFromEvent('yadevices', 'SAYTO');
unsubscribeFromEvent('yadevices', 'ASK');
unsubscribeFromEvent('yadevices', 'SAYREPLY');
}
// Say
function say_message($message, $terminal) {
if (file_exists(DIR_MODULES . 'yadevices/yadevices.class.php')) {
include(DIR_MODULES . 'yadevices/yadevices.class.php');
$yandex_cloud = new yadevices();
$station = SQLSelectOne("SELECT * FROM yastations WHERE TTS=2 AND IOT_ID!='' AND IP='".$this->terminal['HOST']."'");
if($message['MESSAGE'] == '') return;
if(strlen($message['MESSAGE'])>100){ //если фраза > 100 букв, поделим на предложения
$phs = explode('.',$message['MESSAGE']);
foreach($phs as $ph){ //переберем предложения
if(strlen($ph)<100){
$yandex_cloud->sendCloudTTS($station['IOT_ID'],$ph);
}else{
$ph = mb_strimwidth($ph, 0,99, "..."); //не получилось( обрежем
$yandex_cloud->sendCloudTTS($station['IOT_ID'],$ph);
}
// sleep(2);// на всякий случай
}
}else{ //скажем, как есть
$yandex_cloud->sendCloudTTS($station['IOT_ID'],$message['MESSAGE']);
}
}
$this->success = TRUE;
usleep(500000);
return $this->success;
}
}
?>
Я не уверен что тут все правильно, так что лучше перепроверить.
yandex_tts.addon.php не правил т.к. не пользуюсь, но думаю тоже будет актуально.
Добавь пожалуйста в терминалы2.
И конечно спасибо Xor за решение проблемы и то что делится со всеми))
ну это вообщето проблема модуля уадевайс - но как заплатку - сделать можно
Re: [Модуль] Терминалы2 (Terminals2)
Добавлено: Вт авг 11, 2020 1:11 pm
Alexander Znamensky
tarasfrompir писал(а): ↑Чт июл 23, 2020 2:08 pm
yden писал(а): ↑Чт июл 23, 2020 1:20 pm
Сенк.
Пробую:
Код: Выделить всё
$path = "/var/www/cms/sounds/03731.mp3";
playMedia($path, $host = 'googleHomeMini', $safe_play = FALSE)
Получаю: гуглоколонка тиликнула и тишина:
Код: Выделить всё
http://10.12.10.10/admin.php?pd=cGFuZWw6e2FjdGlvbj1zY3JpcHRzfQ%3D%3Dpz_&md=scripts&inst=adm&
Maximum execution time of 90 seconds exceeded
#0 /var/www/lib/errors.class.php(116): custom_error->__construct('Maximum executi...')
#1 [internal function]: phpShutDownFunction()
#2 {main}
МДМ стоит на ubuntu server, файл по указанному пути имеется.
Хреново пробуеш - а так ?
$path = "/var/www/cms/sounds/03731.mp3";
playMedia($path, 'googleHomeMini');
Всем привет!
У меня тоже в какой-то момент Google Mini колонка перестала воспроизводить mp3 - файлы из МЖДМ.
Попробовал, как предложил Тарас, playSound('2cellos-despacito.mp3', 'Googlemini'); - отправился файл на воспроизведение на терминал MAIN.
UPD: а так не правильно!
Правильно так: playSound('
http://172.16.1.252/cms/sounds/2cellos-despacito.mp3', 'Googlemini');
*** естественно IP - указываем свой.
Так все работает.
Как всегда, спасибо кому? - Тарасу )))