[Модуль] Терминалы2 (Terminals2)
Модератор: immortal
-
- Сообщения: 1462
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: [Модуль] Терминалы2 (Terminals2)
Работоспособность еще от типа кавычек может зависеть
https://mjdm.ru/forum/viewtopic.php?f=5 ... &start=114
https://mjdm.ru/forum/viewtopic.php?f=5 ... &start=114
-
- Сообщения: 194
- Зарегистрирован: Вт дек 24, 2019 2:09 pm
- Благодарил (а): 112 раз
- Поблагодарили: 34 раза
Re: [Модуль] Терминалы2 (Terminals2)
Поднял сервер под Win для проверки, функция playMedia() не работает, три бубна сменил, бесполезно. Буду разбираться. Да и с моей проблемой наверно не в этой ветке.
Raspberry Pi3 B+, v4.44, внешняя з/к
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 815 раз
Re: [Модуль] Терминалы2 (Terminals2)
ВОТ ТАК ПРОБОВАЛ??? только ж путь свой к файлу и название терминала соответственно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)
МДМ стоит на ubuntu server, файл по указанному пути имеется.Код: Выделить всё
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}
$path = "/var/www/cms/sounds/03731.mp3";
playMedia($path, 'googleHomeMini');
Спасибо нам ПОМОЖЕТ..!
-
- Сообщения: 194
- Зарегистрирован: Вт дек 24, 2019 2:09 pm
- Благодарил (а): 112 раз
- Поблагодарили: 34 раза
Re: [Модуль] Терминалы2 (Terminals2)
Если ко мне вопрос, то нет вариантов, которые я не испробовал.
Raspberry Pi3 B+, v4.44, внешняя з/к
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 815 раз
-
- Сообщения: 141
- Зарегистрирован: Пн авг 22, 2016 10:03 am
- Благодарил (а): 28 раз
- Поблагодарили: 5 раз
Re: [Модуль] Терминалы2 (Terminals2)
И так та же ошибка.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)
МДМ стоит на ubuntu server, файл по указанному пути имеется.Код: Выделить всё
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}
$path = "/var/www/cms/sounds/03731.mp3";
playMedia($path, 'googleHomeMini');
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 815 раз
Re: [Модуль] Терминалы2 (Terminals2)
Так по поводу тех кто ходил на мастер а потом на альфу - а потом опять обратно , а потом вообще хз куда...
НО Если у вас есть ошибка связанная с функцией евентс... чтото типа каннот редекларе евентс ....
ТО при удалении терминалов2 ОБЯЗАТЕЛЬНО УДАЛИТЬ ЕЩЕ И ФАЙЛ ЕВЕНТС.КЛАСС.ПХП.....
Єто для тех кто на мастере...
И вообще придерживайтесь рекомендаций - ставьте єтот модуль только на АЛЬФУ... МДМ....
НО Если у вас есть ошибка связанная с функцией евентс... чтото типа каннот редекларе евентс ....
ТО при удалении терминалов2 ОБЯЗАТЕЛЬНО УДАЛИТЬ ЕЩЕ И ФАЙЛ ЕВЕНТС.КЛАСС.ПХП.....
Єто для тех кто на мастере...
И вообще придерживайтесь рекомендаций - ставьте єтот модуль только на АЛЬФУ... МДМ....
Спасибо нам ПОМОЖЕТ..!
-
- Сообщения: 78
- Зарегистрирован: Чт июл 27, 2017 1:47 pm
- Благодарил (а): 38 раз
- Поблагодарили: 2 раза
Re: [Модуль] Терминалы2 (Terminals2)
Тарас приветствую.
У яндекса имеется ограничение в 100 символов, но вчера Xor выложил обход этой проблемы.
https://connect.smartliving.ru/profile/ ... minal.html
У себя поправил yandexcloud_tts.addon.php, проверил, работает.
Я не уверен что тут все правильно, так что лучше перепроверить.
yandex_tts.addon.php не правил т.к. не пользуюсь, но думаю тоже будет актуально.
Добавь пожалуйста в терминалы2.
И конечно спасибо Xor за решение проблемы и то что делится со всеми))
У яндекса имеется ограничение в 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 за решение проблемы и то что делится со всеми))
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 815 раз
Re: [Модуль] Терминалы2 (Terminals2)
ну это вообщето проблема модуля уадевайс - но как заплатку - сделать можно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 за решение проблемы и то что делится со всеми))
Спасибо нам ПОМОЖЕТ..!
- Alexander Znamensky
- Сообщения: 160
- Зарегистрирован: Ср дек 18, 2019 11:13 am
- Откуда: Москва
- Благодарил (а): 87 раз
- Поблагодарили: 25 раз
Re: [Модуль] Терминалы2 (Terminals2)
Всем привет!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)
МДМ стоит на ubuntu server, файл по указанному пути имеется.Код: Выделить всё
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}
$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 - указываем свой.
Так все работает.
Как всегда, спасибо кому? - Тарасу )))
Последний раз редактировалось Alexander Znamensky Вт авг 11, 2020 4:46 pm, всего редактировалось 1 раз.
Raspberry Pi4 B+, образ v4_44 -> Alpha, PHP 7.3, Xiaomi Gateway 2, Tuya, Blynk, ESP8266