[Модуль] Терминалы2 (Terminals2)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

[Модуль] Терминалы2 (Terminals2)

Сообщение tarasfrompir » Пт май 17, 2019 10:54 pm

Есть так сказать АЛЬФА модуль Терминалы 2.
Лежит тута- https://github.com/tarasfrompir/terminals2
ВНИМЕНИЕ ПРИ ОШИБКЕ СВЯЗАННОЙ С ФУНКЦИЕЙ ЕВЕНТС что то там читать тут - https://mjdm.ru/forum/viewtopic.php?f=5 ... 59#p121859
Находится в маркете Модификации
ПОСКОЛЬКУ ДАННЫЙ МОДУЛЬ ПРЕДНАЗНАЧЕН ДЛЯ АЛЬФА ВЕРСИИ МАЖОРДОМО
ТО ПРОШУ ЭТО УЧИТЫВАТЬ ПРИ УСТАНОВКЕ ЭТОГО МОДУЛЯ

Теперь модуль в Маркете - перед установкой обновите модуль генерации речи....
Данный модуль есть замена для старого модуля - поэтому все терминалы и их настройки остаются в прежнем месте...
ОБЯЗАТЕЛЬНО - после обновления Мажордомо обновляем модуль Терминалс2
ОБЯЗАТЕЛЬНО - нужен ФФМПЕГ - для любой оси
ОБЯЗАТЕЛЬНО проверяйте правильность выдачи айпи адреса сервера - getLocalIp();
ОБЯЗАТЕЛЬНО - если есть обновление модуля ТО ЗНАЧИТ ЧТО ЧТОТО ИЛИ ИСПРАВЛЕНО ИЛИ УЛУЧШЕНО (практически всегда) - ОБНОВЛЯЙТЕСЬ!

ЧИТАЙТЕ - еще это - https://mjdm.ru/forum/viewtopic.php?f=5 ... 60#p120260
в config.php Define('PATH_TO_FFMPEG','avconv'); - вот это не правильно
Ибо не правильно определяет время сообщения.
в системном конфиге прописать надо именно ффмпег
Описание модуля в ВИКИ
https://mdminfo.ru/wiki/Terminals2_%D0% ... 0.B8.D0.B5

Для тех кому не понравился модуль - порядок удаления И причем ЭТИ ДЕЙСТВИЯ ОБЯЗАТЕЛЬНЫ
СпойлерПоказать
СПОСОБ №1 - все действия ОБЯЗАТЕЛЬНЫ
Вручную удалить цикл terminals из папки scripts.
Обновить систему мажордомо, Обновить модуль генератора речи у кого какой стоит
Все вернется назад к стандартному варианту
Еще один вариант восстановления - если не обновляется Мажордомо
_______________________
СПОСОБ №2 - все действия ОБЯЗАТЕЛЬНЫ
Но как решение вопроса - качаеш на гите у сергея мажордомо - и путем замены файлов все восстанавливаеш кроме содержимого папок rc и scripts.
вот где лежит все хозяйство - https://github.com/sergejey/majordomo
Скачать можеш по ссылке - https://github.com/sergejey/majordomo/a ... master.zip

Замены проводиш просто папками

1 Из папки modules -
app_player
shoutbox
terminals

2 Из папки lib - 2 файла
common.class.php
terminals.class.php

3 Папку objects - лежит в корне

4 и из папки templates - 2 папки
app_player
terminals
__________________________________________
Что доработано
СпойлерПоказать
1. Все сообщения системы отправляет цикл.
2. Ускорено время создания сообщения (ничего теперь не ждем для передачи сообщения)
3. Теперь регулируется уровень звука для сообщения -
для медиа терминалов
4. Викинуты все таймеры из системы
5. Очередь соблюдается для сообщений любых терминалов
6. Очередь берется из системного чата, для этого немного расширил таблицу шутс...
7. Информация об уровнях громкости для сообщений и для терминалов содержится в таблице терминалов - тоже немного расширил
(Уровень громкости получаем при передачи сообщения - после сообщения уровень громкости возвращается на предыдущий уровень)
8. Пинг терминалов - производится одновременно для всех сразу - поэтому определение онлайности терминалов ускорено.
9. Пингование терминалов в настройках терминалов
10 Есть время жизни сообщения - тоесть если терминал ушел в офлайн - и на него не ушло сообщение - будет ожидать настроенный период для его передачи.
11. Уровень громкости для медиатерминалов - выставляется для каждого отдельно.
12. Можно использовать отдельные настройки МИНМЕСАДЖЛЕВЕЛА - или настройки системы.
13. Теперь в качестве терминала можно использовать тедлеграм - работает как чат мажордомо
Ну и впланах использвоание встроенных аудиоустройств для передачи на них - теже блутуз колонки, юсб звуковухи и т.д.
Некоторые функции для управления терминалами
СпойлерПоказать
setMessageVolume('localhost', 50) - устанавливает громкость сообщения для терминала в работающем диапазоне 0-100

setPlayerVolume('localhost', 50) - устанавливает громкость для проигрываемого медиа для терминала в работающем диапазоне 0-100

setTerminalMML('localhost', 0) - устанавливает для терминала уровень важности ВОСПРОИЗВОДИМЫХ сообщений (работает для терминалов не использующих системный уровень важности сообщений (ТАК НАЗЫВАЕМЫЙ MINMESSAGELEVEL))

sayToLocation($ph, $level = 0, $destination = '') - говорит на все терминалы которые привязаны по местоположению
К примеру - sayToLocation("Привет", 5, 'Кухня') - произнесет на всех терминалах которые привязаны к метосположению Кухня

sayToUser($ph, $level = 0, $user = '') - говорит на все терминалы которые привязаны к Пользователю
К примеру - sayToUser("Привет", 5, 'Admin') - произнесет на всех терминалах которые привязаны к пользователю Admin

Добавлен метод в классе Terminals - MessageError
С его помощью можно передавать сообщения в нужное вам место .
Метод вызывается ТОЛЬКО когда не отправлено сообщение по аварийной причине...
Немного о настройках терминалов
СпойлерПоказать
Изображение
Настройки терминалов включает в себя :
1. Настройка записи в лог информации о работе терминалов
2. Время жизни сообщений - это время жизни сообщения для любого типа терминала - тоесть сообщение висит настроенное время
При условии появления терминала за это время на связи - туда уйдет это сообщение.
Примечание Сообщение для терминалов создается только тогда - КОГДА терминал онлайн.
И если в терминалах висит что он онлайн - а на факте он отключен по каким либо причинам - то вот эта настройка ждет ответа от терминала и если дожидается то передает на него сообщение
3. Периодичность проверки - время проверки офлайн терминалов от последней его сработки.
Пингование терминалов производится (где это возможно) тестированием ИМЕННО СЕРВИСОВ - а где нет то пингованием айпи....

Изображение
На этой картинке отображено возможности:
1. Привязка местоположение терминала к определенному месту. (Настройка не обязательна если терминал мобильный). В дальнейшем планируется при подаче с него команды управлять устройствами привязанными ИМЕННО к этому месту. Ну и т.д.
2. Постоянный пользователь - производится к постоянному пользователю терминала (Настройка не обязательна если терминал используется скажем в коридоре или кухне где пользователей много) - планы те же что и в п. 1.
3. Привязанный обьект - создается автоматически и даже после перепривязки перевяжется на свой (старый - если был) обьект . Хранится информация об проигрываемом контенте на терминале, уровне громкости перед подачей сообщения(при наличии возможностей), привязанный пользователь , или привязанная комната (местоположение), А ТАКЖЕ - busy - информация о занятости терминала воспроизведением сообщения.

Изображение
На этом изображении показаны типы поддерживаемых терминалов...
Будут добавлятся - Логитек МедиаСервер - кто может помочь с их настройкой помогите
Планируется использования отдельных звуковых устройств (дополнительные звуковые карты, блютуз устройства и т.д. все что определяется в сервере как звуковое устройство ). Тут в дальнейшем много чего можно докрутить....

Также теперь галочка воспроизводит медиа - не обязательна для всех типов терминалов - тоесть можно проигрывать сообщения , НО не проигрывать медиа. Тоесть эти галочки не взаимосвязаны.

Изображение

Галочка "Использовать СИСТЕМНЫЙ уровень важности сообщений:" - теперь можна или использовать системный уровень сообщений, или же для терминала задавать свой уровень сообщений (регулируется из любого скрипта функцией setTerminalMML('localhost', 0);).
Для Медиатерминалов таких как хромкаст, ДЛНА и т.д. существует уровень громкости сообщения - тоесть при воспроизведении сообщения устанавливается громкость именно настроенная для этого терминала (с возвратом назад после окончания проигрывания сообщений).
Уровень громкости плеера - это чистый ПОКАЗОМЕТР - уровня громкости полученного от терминала перед проигрыванием на него сообщения. см. Пункт выше...
ТАК же этот уровень отображается для терминала используемого на главной странице Мажордомо -
Изображение
Единственное не изменял это уровень громкости для МАИН терминала - обзывается как Систем Волум....
Передача сообщений в терминал привязанный к пользователю или к метсоположению
Это типа как передать сообщение комуто на другой терминал... :lol: :lol: :lol: :lol:
https://connect.smartliving.ru/profile/ ... og398.html

Настройка Телеграмма как терминала- https://connect.smartliving.ru/profile/ ... og393.html
Естественно нужен установленный и настроенный модуль . Телеграмм - а вот и он - https://connect.smartliving.ru/addons/category4/35.html
ПС. Обновил терминал для Телеграмма смотрите блог
ПС
Добавил - тип терминала звуковая карта - (пока рабоатет только на ВИНДЕ) - используется при условии что в систему подключено несколько звуковых устройств - теже БЛУТУЗЫ HDMI , USB звуковухи, и все отстальное что определеяется виндой как звуковое устройство .
Проверено на нескольких звуковухах + ЮСБ устройство , Если кто пользует ХДМИ просьба отписатся как работает... И все ли нормально работает .....

На очереди Линукс
Вложения
Телеграм2.jpg
Телеграм2.jpg (252.5 КБ) 10614 просмотров
Телеграм.jpg
Телеграм.jpg (288.58 КБ) 10614 просмотров
NDP462-KB3151802-Web.rar
(1.26 МБ) 295 скачиваний
звук.jpg
звук.jpg (506.55 КБ) 11048 просмотров
громкость для типов терминалов.jpg
громкость для типов терминалов.jpg (387.25 КБ) 11049 просмотров
тип терминалов.jpg
тип терминалов.jpg (442.96 КБ) 11049 просмотров
место терминала+пользователь.jpg
место терминала+пользователь.jpg (390.01 КБ) 11049 просмотров
настройки.jpg
настройки.jpg (463.08 КБ) 11049 просмотров
Последний раз редактировалось tarasfrompir Пт апр 23, 2021 11:21 am, всего редактировалось 57 раз.
За это сообщение автора tarasfrompir поблагодарили (всего 7):
Svetлая (Сб авг 17, 2019 11:03 pm) • newz20 (Вт ноя 26, 2019 4:24 pm) • Aldaran (Вс дек 15, 2019 6:57 pm) • Kod.Begemot (Пн мар 16, 2020 11:19 pm) • Yashalta (Пт май 29, 2020 6:33 pm) • Andy111 (Сб авг 08, 2020 11:58 pm) • AndreyAA (Ср июл 28, 2021 7:50 pm)
Рейтинг: 8.14%
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Модуль Терминалы2

Сообщение tarasfrompir » Вт май 21, 2019 8:05 pm

Резерв 1
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Модуль Терминалы2

Сообщение tarasfrompir » Пт май 24, 2019 4:13 pm

Резерв 2
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: [Модуль] Терминалы2 (Terminals2)

Сообщение tarasfrompir » Сб авг 24, 2019 8:00 am

ingris писал(а):
Пт авг 23, 2019 10:32 pm
Неработает ни на английский ни на литовский, только русский.. Может Ищё штота надо слелать?
с легким колдовством заработало :!: на правда не на литовском ... но все же
1. копируеш на рабочий стол установленное приложение хромгейт полностью с папкой
2. удаляеш его из приложений в гугл хроме
3. вносиш изменения в файл chromegate\1.3.4_0\js\Recognizer.js строку recognition.lang = 'uk-UA';
4. вносиш изменения в файл chromegate\1.3.4_0\js\TTS.js строку return v.lang === 'uk-UA';
5. переименовываеш папку chromegate\1.3.4_0\locales\ru на lt
и в этой папке файл транслатион изменяеш 1 строку на "locale" : "uk-UA".
Естественно вместо ук-УА свой код языка
потом гугл хроме - настрокйи - дополнительные инструменты - расширения -
кнопка сверху загрузить распакованные расширения - и указываеш папку где лежит РЕДАКТИРОВАННОЕ расширение
в настройках приложения теперь покажет - синтезатор речи - Турн офф. Но работает на нужном языке....

ПС
Ну и уж до кучи - если задолбали нотифи сообщения в браузере - то необходимо в файле маин.джс - удалить функцию function notify(msg)
После изменений не забівайте удалять а потом снова устанавливать приложение

Вот украинский вариант -
chromegate укр.rar
Украинский вариант хромгейта
(396.75 КБ) 209 скачиваний
За это сообщение автора tarasfrompir поблагодарил:
Andy111 (Вт сен 08, 2020 10:32 am)
Рейтинг: 1.16%
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: [Модуль] Терминалы2 (Terminals2)

Сообщение tarasfrompir » Ср ноя 06, 2019 1:17 pm

pash4uga писал(а):
Чт окт 10, 2019 6:20 pm
Управление громкостью плеера или системных сообщений через свойства привязанного объекта работают?
Или может есть какой в встроенный метод?
setMessageVolume($host = 'localhost', $level = 0) - устанавливает громкость сообщения для терминала
setPlayerVolume($host = 'localhost', $level = 0) - устанавливает громкость медиа для терминала

Есть еще пожелания ?
За это сообщение автора tarasfrompir поблагодарили (всего 3):
pash4uga (Вс ноя 10, 2019 12:32 pm) • Garik908 (Вс дек 29, 2019 7:21 am) • Andy111 (Вт сен 08, 2020 10:32 am)
Рейтинг: 3.49%
Спасибо нам ПОМОЖЕТ..!
lihodeev
Сообщения: 148
Зарегистрирован: Ср июл 25, 2018 10:37 pm
Благодарил (а): 43 раза
Поблагодарили: 8 раз

Re: [Модуль] Терминалы2 (Terminals2)

Сообщение lihodeev » Пн ноя 18, 2019 4:48 pm

Алиса перестала отвечать в чат после установки, в MDMvoiceasistant не могу выбрать терминал.
Raspberry 3, AMS 16, arduinka 2560, Orange pi Zero, Broadlink RM3, Xiaomi Mi Robot Vacuum SKV4000GL
pash4uga
Сообщения: 192
Зарегистрирован: Чт окт 04, 2018 12:04 pm
Благодарил (а): 28 раз
Поблагодарили: 45 раз

Re: [Модуль] Терминалы2 (Terminals2)

Сообщение pash4uga » Пн ноя 18, 2019 4:50 pm

Может не в тему, но если дальше мутить мультирум для однотипных терминалов?
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: [Модуль] Терминалы2 (Terminals2)

Сообщение tarasfrompir » Пн ноя 18, 2019 4:57 pm

lihodeev писал(а):
Пн ноя 18, 2019 4:48 pm
Алиса перестала отвечать в чат после установки, в MDMvoiceasistant не могу выбрать терминал.
Необходимо проверить работу цикла терминалов, и настроить сам терминал - убрал автонастройку из модуля которая проводилась при установке - поскольку тогда включаются все терминалы - а ведь у людей есть и отлкюченные.
Проверяй настройку терминалов....
ПС не понял причем МДМВОИСАСИСТАНТ ?
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: [Модуль] Терминалы2 (Terminals2)

Сообщение tarasfrompir » Пн ноя 18, 2019 4:59 pm

pash4uga писал(а):
Пн ноя 18, 2019 4:50 pm
Может не в тему, но если дальше мутить мультирум для однотипных терминалов?
Да в тему - для старта надо решить как выдавать на выбранную звуковую карту звук....
ТОгда и входящий звук уже можна будет получать на этот же терминал... А там уж и распознавалка по событию .....
ПС
Опиши что видишь под мультирумом..
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: [Модуль] Терминалы2 (Terminals2)

Сообщение tarasfrompir » Вт ноя 19, 2019 5:22 pm

Для Виндоузятников - прикрутил такую штуку как выбор звуковой карты - для проигрывания .
Тоесть если в системе несколько аудиоустройств то можно - запускать на любое из них - можно крутить мультирум чисто от звуковых устройств , от тех же ЮСБ звуковух и также блутузы всякие и т.д.
Еще нужны доработки в плане получения списка устройств - но уже работает . Если есть желающие распишу поподробней....
Доработан АлисВокс - теперь отрабатывает правильно - он могет играть только вав файлы....
За это сообщение автора tarasfrompir поблагодарил:
Andy111 (Вт сен 08, 2020 10:34 am)
Рейтинг: 1.16%
Спасибо нам ПОМОЖЕТ..!
Ответить