Баг? Произвольное включение света при рестарте контроллера
Модератор: immortal
-
- Сообщения: 14
- Зарегистрирован: Пн сен 30, 2019 7:16 am
- Благодарил (а): 3 раза
- Поблагодарили: 4 раза
Баг? Произвольное включение света при рестарте контроллера
У меня 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.
Столкнулся с такой проблемой:
При выключении (вручную или пропало электричество) и включении контроллера AB-Log включается свет в ряде помещений.
Проблема наблюдается строго на двух контроллерах (разные прошивки) - самые нагруженные по кол-ву выключателей, контуров света и датчиков. Понять логику не могу - иногда свет и не включается при возобновлении работы контроллера, но часто включается, причем различные контуры (зависимости не прослеживаю).
Почему пишу здесь, а не на сайте Ab-Log: если вынуть сетевой провод из контроллера AB-Log, то проблемы произвольного включения света не наблюдаю при ручном перезапуске Ab-Log. То есть я связываю вышеописанную проблему с каким-то действием от Majordomo (при появлении питания на контроллере Ab-Log).
Плюс, субъективно - от включения контроллера до включения света проходит пара секунд.
Если кто-то сталкивался с чем-то похожим или знаете "куда копать", то буду признателен за дельные советы.
Сверял все настройки между контроллерами в MJDM - отличий не нашел.
Помогло бы понимание что делает MJDM при появлении контроллера "на связи" (в сети передачи данных).
Примечание:
В настройках Majordomo --> Устройства --> MegaD --> (контроллер) --> вкладка данные:
для каждого порта IN\OUT указано "Skip default action = Yes"
Там же, вкладка "Общее":
Ответ по умолчанию = ECMD.
Период опроса = 0.
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Баг? Произвольное включение света при рестарте контроллера
С очень большой вероятностью (99,999 %) - это проблема модуля MegaD. Поэтому первый дельный совет - перенести этот пост в соответствующую ветку.
Скорее всего, у меня будет то же самое (потестирую). Наиболее вероятная причина следующая: при старте контроллера (отправка параметра st=1) модуль пытается восстановить/синхронизировать состояние выходов контроллера в соответствии с тем, которое сохранено в базе данных Мажордомо/модуля. Что является, естественно, логической ошибкой.
Второй дельный совет: установить Wireshark и посмотреть, что идет (какие команды) от сервера после загрузки контроллера. Это позволит подтвердить версию, что входы включает именно сервер своими командами.
Кстати, давно заметил, что аналогичные безобразия происходят и в обратной ситуации: контроллер работает, стартует Мажордомо (viewtopic.php?f=5&t=2263&start=1197) и состояния выходов контроллера синхронизируются с тем, которое было на момент выключения Мажордомо.
И третий, главный дельный совет - написать Сергею (автору модуля) в коннект и в телеграмм (а то сообщения на форуме он почти не читает).
-
- Сообщения: 407
- Зарегистрирован: Вт окт 24, 2017 2:01 pm
- Откуда: Ижевск
- Благодарил (а): 45 раз
- Поблагодарили: 69 раз
Re: Баг? Произвольное включение света при рестарте контроллера
У меня контроллеры самопальные, но периодически при отрубании света или при перезагрузке сервера он тоже включает свет. Мне кажется при загрузке сервер подгружает какие то прошлые состояния из базы данных. Все работает по mqtt. скорее всего при загрузке системы, сервер рассылает топики на которые подписаны устройства, и только потом начинает принимать топики с их состоянием.
PI2 + MQTT + 5 ESP8266 + Atmega16
- xor
- Сообщения: 2040
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: Баг? Произвольное включение света при рестарте контроллера
Ну я в при перезагрузке/старте запускаю в методе зискомпьтер.стартап обновить все реле
до применения групп в скрипте перебирал все объекты класса Реле и для каждого выполнял метод рефреш, который читает статус реле и выполняет соотв. метод (для статус=1 метод турнон и тд). некоторые мои реле без обратной связи, а это позволяет привести их состояние в то, что на сервере
//RunScriptsafe('refreshAllRelays');
cm('grpLight.callGroupMethod',array('mg'=>'refresh'));
до применения групп в скрипте перебирал все объекты класса Реле и для каждого выполнял метод рефреш, который читает статус реле и выполняет соотв. метод (для статус=1 метод турнон и тд). некоторые мои реле без обратной связи, а это позволяет привести их состояние в то, что на сервере
//RunScriptsafe('refreshAllRelays');
cm('grpLight.callGroupMethod',array('mg'=>'refresh'));
- Рейтинг: 1.16%
win10 connect https://connect.smartliving.ru/profile/303
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Баг? Произвольное включение света при рестарте контроллера
Да, вы синхронизируете состояние объектов в системе в соответствии с фактическим состоянием реле.
Тут проблема в другом. Если Меги подключены через модуль MegaD, при старте Мажордомо система синхронизирует состояние реле в соответствии с тем, которое было сохранено в БД на момент выключения Мажордомо!!! Вот в этом и есть логическая ошибка модуля и проблема...
- xor
- Сообщения: 2040
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: Баг? Произвольное включение света при рестарте контроллера
наоборот - при старте я умышленно привожу состояние реле к статусу на сервере. так я борюсь с рассинхронизацией статусов реле без обратной связи. но это у меня касается только света и я теряю только включение/выключение, сделанное во время отключения сервера. но это вынужденная мера(Chainik писал(а): ↑Чт апр 23, 2020 12:23 amДа, вы синхронизируете состояние объектов в системе в соответствии с фактическим состоянием реле.
Тут проблема в другом. Если Меги подключены через модуль MegaD, при старте Мажордомо система синхронизирует состояние реле в соответствии с тем, которое было сохранено в БД на момент выключения Мажордомо!!! Вот в этом и есть логическая ошибка модуля и проблема...
win10 connect https://connect.smartliving.ru/profile/303
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Баг? Произвольное включение света при рестарте контроллера
А... вон оно как...xor писал(а): ↑Чт апр 23, 2020 12:21 pmнаоборот - при старте я умышленно привожу состояние реле к статусу на сервере. так я борюсь с рассинхронизацией статусов реле без обратной связи. но это у меня касается только света и я теряю только включение/выключение, сделанное во время отключения сервера. но это вынужденная мера(Chainik писал(а): ↑Чт апр 23, 2020 12:23 amДа, вы синхронизируете состояние объектов в системе в соответствии с фактическим состоянием реле.
Тут проблема в другом. Если Меги подключены через модуль MegaD, при старте Мажордомо система синхронизирует состояние реле в соответствии с тем, которое было сохранено в БД на момент выключения Мажордомо!!! Вот в этом и есть логическая ошибка модуля и проблема...
Штука в том, что Мега (в простейших случаях) прекрасно умеет работать автономно. Когда сервер "приболел" (отсутствует), с освещением она справится. Но когда потом мы запускаем Мажордомо, программа восстанавливает состояние выходов на момент своего "сердечного приступа".
Лично у меня такое поведение модуля MegaD ломает всю логику. Не должен (в моем понимании) сервер делать то, о чем я его не просил.
-
- Сообщения: 14
- Зарегистрирован: Пн сен 30, 2019 7:16 am
- Благодарил (а): 3 раза
- Поблагодарили: 4 раза
Re: Баг? Произвольное включение света при рестарте контроллера
Спасибо всем за отклик и советы. Воспользуюсь и еще буду исследовать.
По крайней мере теперь я знаю, что проблема не только у меня.
Странно вот что: так себя ведут не все 7 моих контроллеров, а только 2 из 7. "Мистика" какая-то и не вписывается в логику объяснения.
Если говорить о потребности, то у меня она такая:
произошла перезагрузка контроллера (причина не важна - пропадание питания или вручную) - не нужно восстанавливать состояние реле на контроллере, отключи все порты нагрузки (свет). Тем более что состояние восстанавливается каким-то случайным образом.
Я хочу иметь возможность задать поведение: вся нагрузка (свет, исполнительные устройства) отключены при восстановлении.
Вопрос как это сделать на Mega-D + MJDM.
По крайней мере теперь я знаю, что проблема не только у меня.
Странно вот что: так себя ведут не все 7 моих контроллеров, а только 2 из 7. "Мистика" какая-то и не вписывается в логику объяснения.
Если говорить о потребности, то у меня она такая:
произошла перезагрузка контроллера (причина не важна - пропадание питания или вручную) - не нужно восстанавливать состояние реле на контроллере, отключи все порты нагрузки (свет). Тем более что состояние восстанавливается каким-то случайным образом.
Я хочу иметь возможность задать поведение: вся нагрузка (свет, исполнительные устройства) отключены при восстановлении.
Вопрос как это сделать на Mega-D + MJDM.
Сделал viewtopic.php?f=5&t=7079С очень большой вероятностью (99,999 %) - это проблема модуля MegaD. Поэтому первый дельный совет - перенести этот пост в соответствующую ветку.
написать Сергею (автору модуля) в коннект и в телеграмм (а то сообщения на форуме он почти не читает).
Да, попробую снять трассу обмена. Вопрос скорее уже в интерпретации. Если не справлюсь - напишу, обращусь за помощью.Второй дельный совет: установить Wireshark и посмотреть, что идет (какие команды) от сервера после загрузки контроллера. Это позволит подтвердить версию, что входы включает именно сервер своими командами.
-
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
- Благодарил (а): 400 раз
- Поблагодарили: 1753 раза
- Контактная информация:
Re: Баг? Произвольное включение света при рестарте контроллера
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Мой CONNECT | Блоги | Telegram