Здравствуйте. Пакеты системы обновил,это не помогло. Москит вроде тоже не причем. Первично отпадение интернета из-за глюков драйвера WiFi модема. Придется бороться с Убунтой, чтобы победить отвалы WiFiandrey040670 писал(а): Сб дек 04, 2021 12:32 pm Если цикл упал и не востанавливается, то внроятней всего упал москит.
Вероятней всего поможет:Да и логи маскита глянуть не мешало бы, /var/log/mosquitto/Код: Выделить всё
sudo service mosquitto restart
P/s
Если вы давно давно не обслуживали сервер, то я бы рекомендовал бы вам обновить систему, скорей всего обновится и маскит.Код: Выделить всё
sudo apt-get update sudo apt-get dist-upgrade sudo apt-get autoremove sudo apt-get clean sudo apt-get autoclean
[Модуль] MQTT (mqtt)
Модератор: immortal
Re: [Модуль] MQTT (mqtt)
Re: [Модуль] MQTT (mqtt)
странно, судя по приведенному коду у вас тут для таких цикловSawwa писал(а): Пн дек 06, 2021 3:01 pm ...
System.checkState я нашел в методах, там вот чего:
$details=array();
$red_state=0;
$yellow_state=0;
$cycles=array('states'=>'states','main'=>'main','execs'=>'exec','scheduler'=>'scheduler');
foreach($cycles as $k=>$v) {
$tm=getGlobal('ThisComputer.cycle_'.$k.'Run');
if (time()-$tm>5*60) {
$red_state=1;
$details[]=$v." ".LANG_GENERAL_CYCLE." ".LANG_GENERAL_STOPPED.".";
}
}
...
Ну дальше логика включения светофора по степени активности системы
Время рестарта циклов по-моему итак маленькое, 5 и 10 мин. Может быть время рестарта наоборот увеличить?
Где поискать количество циклов рестарта, подскажите пожалуйста![]()
У меня еще идея возникла- как бы сделать индикацию какую-то, сообщение чтоли что интернет упал.
Чтоб на смарт чтоли присылал Мажор.
Откуда можно вытащить такое сообщение?
Буду также ковырять Ubuntu20, на тему отвалов wi-fi Народ в инете пишет, что есть такая проблема с 20й Убунтой, переустанавливать систему край как неохота, но отвалы эти уже достали![]()
Благодарю за помощь!
Код: Выделить всё
$cycles=array('states'=>'states','main'=>'main','execs'=>'exec','scheduler'=>'scheduler');там должно быть что-то такое после строки
Код: Выделить всё
$details[]=$v." ".LANG_GENERAL_CYCLE." ".LANG_GENERAL_STOPPED.".";
sg('ThisComputer.cycle_'.$k.'Run','');
sg('ThisComputer.cycle_'.$k.'Control','restart');падение интернета обычно проверяют так (у меня в методе Communication.checkState)
Код: Выделить всё
if (!isOnline('Internet')) {
$yellow_state=1;
$details[]=LANG_GENERAL_NO_INTERNET_ACCESS;
}метод ping
win10 connect https://connect.smartliving.ru/profile/303
Re: [Модуль] MQTT (mqtt)
Приветствую всех!
Продолжаю бороться с отвалом циклов в МД
Провел целый день в экспериментах, пробовал переустановить драйвера на WiFi,вроде получилось.
Отключал- выдергивал модуль WiFi, цикл MQTT перезапускается, через 20 мин после падения проверочный цикл выдает сообщение об остановке модуля,после подключения интернетеа сразу запускается и MQTT
С оповещением о падении MQTT- нашел на вкладке Статусы системы возможность присваивать каким-то состояниям модулей признаки важности, и их передавать в оповещения. Можно передавать оповещения в приложение Notify.Events, правда в случае падения интернета,это не поможет,ибо сервер ничего передать не сможет
Теперь следующая проблема. С утра затупил сам Мажордом, при этом основной модуль остается жив, а вот все абсолютно циклы ушли в стопор, и попытки их перезапустить не увенчались успехом. Странное состояние, анабиоз какой-то. Все циклы в ауте, а состояние системы видно через WEB ( я контролирую МД через приложение на смарте), проброс доступа черезоблачный сервис роутера Кинетик.
Так вот, возникал и раньше такой вопрос,а теперь и стал ребром- как перезагрузить систему МД дистанционно? Консоль в приложении работает. Поискал в Хелпе МД-ничего похожего не нашел. Наверноекоманда Restart,н с каими-нибудь ключами нужна?
Как крайний вариант рассматриваю дистанционную перезагрузку самого сервера на Убунте, как быреализоватьэто со смартфона? Через комп в том же сегменте домашней сети,как я понял- через SSH,а с мобилы как бы это проделать?
Подскажите уважаемые знатоки ваши соображения по этому поводу...
Благодарю!
Продолжаю бороться с отвалом циклов в МД
Провел целый день в экспериментах, пробовал переустановить драйвера на WiFi,вроде получилось.
Отключал- выдергивал модуль WiFi, цикл MQTT перезапускается, через 20 мин после падения проверочный цикл выдает сообщение об остановке модуля,после подключения интернетеа сразу запускается и MQTT
С оповещением о падении MQTT- нашел на вкладке Статусы системы возможность присваивать каким-то состояниям модулей признаки важности, и их передавать в оповещения. Можно передавать оповещения в приложение Notify.Events, правда в случае падения интернета,это не поможет,ибо сервер ничего передать не сможет
Теперь следующая проблема. С утра затупил сам Мажордом, при этом основной модуль остается жив, а вот все абсолютно циклы ушли в стопор, и попытки их перезапустить не увенчались успехом. Странное состояние, анабиоз какой-то. Все циклы в ауте, а состояние системы видно через WEB ( я контролирую МД через приложение на смарте), проброс доступа черезоблачный сервис роутера Кинетик.
Так вот, возникал и раньше такой вопрос,а теперь и стал ребром- как перезагрузить систему МД дистанционно? Консоль в приложении работает. Поискал в Хелпе МД-ничего похожего не нашел. Наверноекоманда Restart,н с каими-нибудь ключами нужна?
Как крайний вариант рассматриваю дистанционную перезагрузку самого сервера на Убунте, как быреализоватьэто со смартфона? Через комп в том же сегменте домашней сети,как я понял- через SSH,а с мобилы как бы это проделать?
Подскажите уважаемые знатоки ваши соображения по этому поводу...
Благодарю!
- andrey040670
- Сообщения: 473
- Зарегистрирован: Пн июл 31, 2017 10:00 pm
Re: [Модуль] MQTT (mqtt)
Sawwa писал(а): Ср дек 08, 2021 10:48 am Так вот, возникал и раньше такой вопрос,а теперь и стал ребром- как перезагрузить систему МД дистанционно? Консоль в приложении работает.
Код: Выделить всё
sudo service majordomo start
sudo service majordomo stop
sudo service majordomo restart Код: Выделить всё
sudo systemctl restart majordomoMJD alfa: Khadas VIM1 Ubuntu 18.04.2 LTS (bionic) Linux 4.9.241 #33 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) 6.1.68-v8+ #1708 aarch64 GNU/Linux
MJD alfa: AS-604T-F284 (ADM 3.5.9.RWM1) 3.12.20 #1 x86_64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) 6.1.68-v8+ #1708 aarch64 GNU/Linux
MJD alfa: AS-604T-F284 (ADM 3.5.9.RWM1) 3.12.20 #1 x86_64 GNU/Linux
Re: [Модуль] MQTT (mqtt)
Пробовал запустить цикл через встроенный в МД терминал, но не получаетсяandrey040670 писал(а): Ср дек 08, 2021 10:55 amSawwa писал(а): Ср дек 08, 2021 10:48 am Так вот, возникал и раньше такой вопрос,а теперь и стал ребром- как перезагрузить систему МД дистанционно? Консоль в приложении работает.илиКод: Выделить всё
sudo service majordomo start sudo service majordomo stop sudo service majordomo restartКод: Выделить всё
sudo systemctl restart majordomo
Может быть синтаксис неверный?
- Вложения
-
- 22.JPG (36.41 КБ) 3530 просмотров
- andrey040670
- Сообщения: 473
- Зарегистрирован: Пн июл 31, 2017 10:00 pm
Re: [Модуль] MQTT (mqtt)
Извиняюсь, я думал речь идёт о ssh терминале.
Через МД терминал надо:
Или, но дольше.
Но это вам врядли поможет, если легли все циклы, в том числе и cycle_execs, то есть терминал не сработает.
В этом случае перезапустить МД можно только через ssh терминал, командами описанными выше.
Через МД терминал надо:
Код: Выделить всё
safe_exec('sudo service majordomo restart');Код: Выделить всё
@SaveFile(DOC_ROOT . DIRECTORY_SEPARATOR . 'reboot', 'updated');В этом случае перезапустить МД можно только через ssh терминал, командами описанными выше.
MJD alfa: Khadas VIM1 Ubuntu 18.04.2 LTS (bionic) Linux 4.9.241 #33 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) 6.1.68-v8+ #1708 aarch64 GNU/Linux
MJD alfa: AS-604T-F284 (ADM 3.5.9.RWM1) 3.12.20 #1 x86_64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) 6.1.68-v8+ #1708 aarch64 GNU/Linux
MJD alfa: AS-604T-F284 (ADM 3.5.9.RWM1) 3.12.20 #1 x86_64 GNU/Linux
Re: [Модуль] MQTT (mqtt)
Вот эта команда сработалаandrey040670 писал(а): Ср дек 08, 2021 12:45 pm Извиняюсь, я думал речь идёт о ssh терминале.
Через МД терминал надо:Или, но дольше.Код: Выделить всё
safe_exec('sudo service majordomo restart');Но это вам врядли поможет, если легли все циклы, в том числе и cycle_execs, то есть терминал не сработает.Код: Выделить всё
@SaveFile(DOC_ROOT . DIRECTORY_SEPARATOR . 'reboot', 'updated');
В этом случае перезапустить МД можно только через ssh терминал, командами описанными выше.
Код: Выделить всё
@SaveFile(DOC_ROOT . DIRECTORY_SEPARATOR . 'reboot', 'updated');Код: Выделить всё
safe_exec('sudo service majordomo restart');- andrey040670
- Сообщения: 473
- Зарегистрирован: Пн июл 31, 2017 10:00 pm
Re: [Модуль] MQTT (mqtt)
Я бы для начала наладил бы ssh доступ, без него вы просто не сможете настроить систему.Sawwa писал(а): Ср дек 08, 2021 1:48 pm SSH что-то не желает работать, с доступом к машине какие-то проблемы![]()
Удалённый доступ ssh можно реализовать, например через прокси SOKCS5, если ваш метод тунелирования через роутер поддерживает SOKCS5.
MJD alfa: Khadas VIM1 Ubuntu 18.04.2 LTS (bionic) Linux 4.9.241 #33 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) 6.1.68-v8+ #1708 aarch64 GNU/Linux
MJD alfa: AS-604T-F284 (ADM 3.5.9.RWM1) 3.12.20 #1 x86_64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) 6.1.68-v8+ #1708 aarch64 GNU/Linux
MJD alfa: AS-604T-F284 (ADM 3.5.9.RWM1) 3.12.20 #1 x86_64 GNU/Linux
Re: [Модуль] MQTT (mqtt)
Было бы прекрасно, если в МД просто вставят кнопки на Панель Управления- Перезагрузить машину и Перезагрузить МД
Для чайников, как я...
Для чайников, как я...
- andrey040670
- Сообщения: 473
- Зарегистрирован: Пн июл 31, 2017 10:00 pm
Re: [Модуль] MQTT (mqtt)
Создайте сценарий "majordomo_cycle_restart":Sawwa писал(а): Ср дек 08, 2021 2:02 pm Было бы прекрасно, если в МД просто вставят кнопки на Панель Управления- Перезагрузить машину и Перезагрузить МД
Для чайников, как я...
Код: Выделить всё
say("Подготовка к перезагрузке циклов MajorDoMo",2);
@SaveFile(DOC_ROOT . DIRECTORY_SEPARATOR . 'reboot', 'updated');Код: Выделить всё
http://IP/objects/?script=majordomo_cycle_restartСоздайте сценарий с именем: "dash_my_block"
Код: Выделить всё
$array = array(
'status' => 1,
// 'name' => 'Мои кнопочки',
'type' => 'default',
'reload' => false,
'reload_time' => 5,
'data' => array(
'data' => '
<a href="https://mjdm.ru/forum/viewtopic.php?f=6&t=7303" target="_blank"><i class="glyphicon glyphicon-question-sign" style="margin-left: 0px; margin-right: 10px;"></i></a>
<a href="/objects/?script=majordomo_cycle_restart" target="hiframe" class="btn btn-default"><i class="glyphicon glyphicon-edit"></i> MD restart</a>
<iframe src=about:blank name=hiframe style="display:none"></iframe> ',
),
);
echo json_encode($array);Подробности https://mjdm.ru/forum/viewtopic.php?f=6&t=7303
P/s
Чуть подправил.
Последний раз редактировалось andrey040670 Чт апр 07, 2022 6:41 pm, всего редактировалось 3 раза.
MJD alfa: Khadas VIM1 Ubuntu 18.04.2 LTS (bionic) Linux 4.9.241 #33 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) 6.1.68-v8+ #1708 aarch64 GNU/Linux
MJD alfa: AS-604T-F284 (ADM 3.5.9.RWM1) 3.12.20 #1 x86_64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) 6.1.68-v8+ #1708 aarch64 GNU/Linux
MJD alfa: AS-604T-F284 (ADM 3.5.9.RWM1) 3.12.20 #1 x86_64 GNU/Linux