Страница 1 из 2

Баг? Произвольное включение света при рестарте контроллера

Добавлено: Вт апр 21, 2020 11:33 pm
mxz
У меня 7 контроллеров Ab-Log. Использую Majordomo (версия MegaD devices: 2019-12-13).

Столкнулся с такой проблемой:
При выключении (вручную или пропало электричество) и включении контроллера AB-Log включается свет в ряде помещений.

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

Почему пишу здесь, а не на сайте Ab-Log: если вынуть сетевой провод из контроллера AB-Log, то проблемы произвольного включения света не наблюдаю при ручном перезапуске Ab-Log. То есть я связываю вышеописанную проблему с каким-то действием от Majordomo (при появлении питания на контроллере Ab-Log).
Плюс, субъективно - от включения контроллера до включения света проходит пара секунд.

Если кто-то сталкивался с чем-то похожим или знаете "куда копать", то буду признателен за дельные советы.
Сверял все настройки между контроллерами в MJDM - отличий не нашел.
Помогло бы понимание что делает MJDM при появлении контроллера "на связи" (в сети передачи данных).

Примечание:
В настройках Majordomo --> Устройства --> MegaD --> (контроллер) --> вкладка данные:
для каждого порта IN\OUT указано "Skip default action = Yes"

Там же, вкладка "Общее":
Ответ по умолчанию = ECMD.
Период опроса = 0.

Re: Баг? Произвольное включение света при рестарте контроллера

Добавлено: Ср апр 22, 2020 12:22 am
Chainik
mxz писал(а):
Вт апр 21, 2020 11:33 pm
... буду признателен за дельные советы.
С очень большой вероятностью (99,999 %) - это проблема модуля MegaD. Поэтому первый дельный совет - перенести этот пост в соответствующую ветку.

Скорее всего, у меня будет то же самое (потестирую). Наиболее вероятная причина следующая: при старте контроллера (отправка параметра st=1) модуль пытается восстановить/синхронизировать состояние выходов контроллера в соответствии с тем, которое сохранено в базе данных Мажордомо/модуля. Что является, естественно, логической ошибкой.

Второй дельный совет: установить Wireshark и посмотреть, что идет (какие команды) от сервера после загрузки контроллера. Это позволит подтвердить версию, что входы включает именно сервер своими командами.

Кстати, давно заметил, что аналогичные безобразия происходят и в обратной ситуации: контроллер работает, стартует Мажордомо (viewtopic.php?f=5&t=2263&start=1197) и состояния выходов контроллера синхронизируются с тем, которое было на момент выключения Мажордомо.

И третий, главный дельный совет - написать Сергею (автору модуля) в коннект и в телеграмм (а то сообщения на форуме он почти не читает).

Re: Баг? Произвольное включение света при рестарте контроллера

Добавлено: Ср апр 22, 2020 9:06 am
ZyaK
У меня контроллеры самопальные, но периодически при отрубании света или при перезагрузке сервера он тоже включает свет. Мне кажется при загрузке сервер подгружает какие то прошлые состояния из базы данных. Все работает по mqtt. скорее всего при загрузке системы, сервер рассылает топики на которые подписаны устройства, и только потом начинает принимать топики с их состоянием.

Re: Баг? Произвольное включение света при рестарте контроллера

Добавлено: Ср апр 22, 2020 9:31 pm
xor
Ну я в при перезагрузке/старте запускаю в методе зискомпьтер.стартап обновить все реле
до применения групп в скрипте перебирал все объекты класса Реле и для каждого выполнял метод рефреш, который читает статус реле и выполняет соотв. метод (для статус=1 метод турнон и тд). некоторые мои реле без обратной связи, а это позволяет привести их состояние в то, что на сервере

//RunScriptsafe('refreshAllRelays');
cm('grpLight.callGroupMethod',array('mg'=>'refresh'));

Re: Баг? Произвольное включение света при рестарте контроллера

Добавлено: Чт апр 23, 2020 12:23 am
Chainik
xor писал(а):
Ср апр 22, 2020 9:31 pm
Ну я в при перезагрузке/старте запускаю в методе зискомпьтер.стартап обновить все реле
...
Да, вы синхронизируете состояние объектов в системе в соответствии с фактическим состоянием реле.
Тут проблема в другом. Если Меги подключены через модуль MegaD, при старте Мажордомо система синхронизирует состояние реле в соответствии с тем, которое было сохранено в БД на момент выключения Мажордомо!!! Вот в этом и есть логическая ошибка модуля и проблема...

Re: Баг? Произвольное включение света при рестарте контроллера

Добавлено: Чт апр 23, 2020 12:21 pm
xor
Chainik писал(а):
Чт апр 23, 2020 12:23 am
xor писал(а):
Ср апр 22, 2020 9:31 pm
Ну я в при перезагрузке/старте запускаю в методе зискомпьтер.стартап обновить все реле
...
Да, вы синхронизируете состояние объектов в системе в соответствии с фактическим состоянием реле.
Тут проблема в другом. Если Меги подключены через модуль MegaD, при старте Мажордомо система синхронизирует состояние реле в соответствии с тем, которое было сохранено в БД на момент выключения Мажордомо!!! Вот в этом и есть логическая ошибка модуля и проблема...
наоборот - при старте я умышленно привожу состояние реле к статусу на сервере. так я борюсь с рассинхронизацией статусов реле без обратной связи. но это у меня касается только света и я теряю только включение/выключение, сделанное во время отключения сервера. но это вынужденная мера(

Re: Баг? Произвольное включение света при рестарте контроллера

Добавлено: Чт апр 23, 2020 2:53 pm
Chainik
xor писал(а):
Чт апр 23, 2020 12:21 pm
Chainik писал(а):
Чт апр 23, 2020 12:23 am
xor писал(а):
Ср апр 22, 2020 9:31 pm
Ну я в при перезагрузке/старте запускаю в методе зискомпьтер.стартап обновить все реле
...
Да, вы синхронизируете состояние объектов в системе в соответствии с фактическим состоянием реле.
Тут проблема в другом. Если Меги подключены через модуль MegaD, при старте Мажордомо система синхронизирует состояние реле в соответствии с тем, которое было сохранено в БД на момент выключения Мажордомо!!! Вот в этом и есть логическая ошибка модуля и проблема...
наоборот - при старте я умышленно привожу состояние реле к статусу на сервере. так я борюсь с рассинхронизацией статусов реле без обратной связи. но это у меня касается только света и я теряю только включение/выключение, сделанное во время отключения сервера. но это вынужденная мера(
А... вон оно как...
Штука в том, что Мега (в простейших случаях) прекрасно умеет работать автономно. Когда сервер "приболел" (отсутствует), с освещением она справится. Но когда потом мы запускаем Мажордомо, программа восстанавливает состояние выходов на момент своего "сердечного приступа".
Лично у меня такое поведение модуля MegaD ломает всю логику. Не должен (в моем понимании) сервер делать то, о чем я его не просил.

Re: Баг? Произвольное включение света при рестарте контроллера

Добавлено: Чт апр 23, 2020 5:10 pm
mxz
Спасибо всем за отклик и советы. Воспользуюсь и еще буду исследовать.
По крайней мере теперь я знаю, что проблема не только у меня.
Странно вот что: так себя ведут не все 7 моих контроллеров, а только 2 из 7. "Мистика" какая-то и не вписывается в логику объяснения.

Если говорить о потребности, то у меня она такая:
произошла перезагрузка контроллера (причина не важна - пропадание питания или вручную) - не нужно восстанавливать состояние реле на контроллере, отключи все порты нагрузки (свет). Тем более что состояние восстанавливается каким-то случайным образом.

Я хочу иметь возможность задать поведение: вся нагрузка (свет, исполнительные устройства) отключены при восстановлении.
Вопрос как это сделать на Mega-D + MJDM.
С очень большой вероятностью (99,999 %) - это проблема модуля MegaD. Поэтому первый дельный совет - перенести этот пост в соответствующую ветку.
Сделал viewtopic.php?f=5&t=7079
написать Сергею (автору модуля) в коннект и в телеграмм (а то сообщения на форуме он почти не читает).
Второй дельный совет: установить Wireshark и посмотреть, что идет (какие команды) от сервера после загрузки контроллера. Это позволит подтвердить версию, что входы включает именно сервер своими командами.
Да, попробую снять трассу обмена. Вопрос скорее уже в интерпретации. Если не справлюсь - напишу, обращусь за помощью.

Re: Баг? Произвольное включение света при рестарте контроллера

Добавлено: Чт апр 23, 2020 5:31 pm
mxz
Перенесено сюда: viewtopic.php?f=5&t=7079

Re: Баг? Произвольное включение света при рестарте контроллера

Добавлено: Чт апр 23, 2020 5:44 pm
skysilver
mxz писал(а):
Чт апр 23, 2020 5:31 pm
Перенесено сюда: viewtopic.php?f=5&t=7079
viewtopic.php?f=5&t=2263