Здравствуйте. Пакеты системы обновил,это не помогло. Москит вроде тоже не причем. Первично отпадение интернета из-за глюков драйвера 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
-
- Сообщения: 58
- Зарегистрирован: Вс мар 29, 2020 10:39 am
- Благодарил (а): 13 раз
- Поблагодарили: 7 раз
Re: [Модуль] MQTT (mqtt)
- xor
- Сообщения: 2041
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
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
-
- Сообщения: 58
- Зарегистрирован: Вс мар 29, 2020 10:39 am
- Благодарил (а): 13 раз
- Поблагодарили: 7 раз
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
- Сообщения: 459
- Зарегистрирован: Пн июл 31, 2017 10:00 pm
- Благодарил (а): 161 раз
- Поблагодарили: 85 раз
Re: [Модуль] MQTT (mqtt)
Код: Выделить всё
sudo service majordomo start
sudo service majordomo stop
sudo service majordomo restart
Код: Выделить всё
sudo systemctl restart majordomo
MJD alfa: Khadas VIM1 Ubuntu 18.04.2 LTS bionic Linux 4.9.40 #2 SMP PREEMPT Tue Oct 30 15:47:54 CST 2018 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
-
- Сообщения: 58
- Зарегистрирован: Вс мар 29, 2020 10:39 am
- Благодарил (а): 13 раз
- Поблагодарили: 7 раз
Re: [Модуль] MQTT (mqtt)
Пробовал запустить цикл через встроенный в МД терминал, но не получаетсяandrey040670 писал(а): ↑Ср дек 08, 2021 10:55 amилиКод: Выделить всё
sudo service majordomo start sudo service majordomo stop sudo service majordomo restart
Код: Выделить всё
sudo systemctl restart majordomo
Может быть синтаксис неверный?
- Вложения
-
- 22.JPG (36.41 КБ) 1520 просмотров
- andrey040670
- Сообщения: 459
- Зарегистрирован: Пн июл 31, 2017 10:00 pm
- Благодарил (а): 161 раз
- Поблагодарили: 85 раз
Re: [Модуль] MQTT (mqtt)
Извиняюсь, я думал речь идёт о ssh терминале.
Через МД терминал надо:
Или, но дольше.
Но это вам врядли поможет, если легли все циклы, в том числе и cycle_execs, то есть терминал не сработает.
В этом случае перезапустить МД можно только через ssh терминал, командами описанными выше.
Через МД терминал надо:
Код: Выделить всё
safe_exec('sudo service majordomo restart');
Код: Выделить всё
@SaveFile(DOC_ROOT . DIRECTORY_SEPARATOR . 'reboot', 'updated');
В этом случае перезапустить МД можно только через ssh терминал, командами описанными выше.
- За это сообщение автора andrey040670 поблагодарил:
- Sawwa (Ср дек 08, 2021 2:02 pm)
- Рейтинг: 1.16%
MJD alfa: Khadas VIM1 Ubuntu 18.04.2 LTS bionic Linux 4.9.40 #2 SMP PREEMPT Tue Oct 30 15:47:54 CST 2018 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
-
- Сообщения: 58
- Зарегистрирован: Вс мар 29, 2020 10:39 am
- Благодарил (а): 13 раз
- Поблагодарили: 7 раз
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
- Сообщения: 459
- Зарегистрирован: Пн июл 31, 2017 10:00 pm
- Благодарил (а): 161 раз
- Поблагодарили: 85 раз
Re: [Модуль] MQTT (mqtt)
Я бы для начала наладил бы ssh доступ, без него вы просто не сможете настроить систему.
Удалённый доступ ssh можно реализовать, например через прокси SOKCS5, если ваш метод тунелирования через роутер поддерживает SOKCS5.
MJD alfa: Khadas VIM1 Ubuntu 18.04.2 LTS bionic Linux 4.9.40 #2 SMP PREEMPT Tue Oct 30 15:47:54 CST 2018 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
-
- Сообщения: 58
- Зарегистрирован: Вс мар 29, 2020 10:39 am
- Благодарил (а): 13 раз
- Поблагодарили: 7 раз
Re: [Модуль] MQTT (mqtt)
Было бы прекрасно, если в МД просто вставят кнопки на Панель Управления- Перезагрузить машину и Перезагрузить МД
Для чайников, как я...
Для чайников, как я...
- andrey040670
- Сообщения: 459
- Зарегистрирован: Пн июл 31, 2017 10:00 pm
- Благодарил (а): 161 раз
- Поблагодарили: 85 раз
Re: [Модуль] MQTT (mqtt)
Создайте сценарий "majordomo_cycle_restart":
Код: Выделить всё
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 раза.
- За это сообщение автора andrey040670 поблагодарил:
- Sawwa (Ср дек 08, 2021 3:43 pm)
- Рейтинг: 1.16%
MJD alfa: Khadas VIM1 Ubuntu 18.04.2 LTS bionic Linux 4.9.40 #2 SMP PREEMPT Tue Oct 30 15:47:54 CST 2018 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux