[Модуль] MegaD (megad)

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

Модератор: immortal

tsember
Сообщения: 52
Зарегистрирован: Ср фев 04, 2015 12:28 am
Благодарил (а): 54 раза
Поблагодарили: 6 раз

Re: [Модуль] MegaD (megad)

Сообщение tsember » Сб мар 07, 2020 11:25 pm

Реализация управления по задумке автора модуля, то бишь автора всего проекта, меня не совсем устраивает. На кой тогда вообще сервер, если Мега сама должна управлять светом? Тем более хочу заложить более сложные алгоритмы управления в зависимости от некоторых условий. А не просто переключить порты туда-сюда.
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

Re: [Модуль] MegaD (megad)

Сообщение Chainik » Сб мар 07, 2020 11:32 pm

tsember писал(а):
Сб мар 07, 2020 11:25 pm
Реализация управления по задумке автора модуля, то бишь автора всего проекта, меня не совсем устраивает. На кой тогда вообще сервер, если Мега сама должна управлять светом? Тем более хочу заложить более сложные алгоритмы управления в зависимости от некоторых условий. А не просто переключить порты туда-сюда.
Вот-вот... И я о том же.
Вы по итогам отпишитесь, заработало ли у вас без замечаний по альтернативному методу (https://ab-log.ru/forum/viewtopic.php?f=1&t=1328)?
tsember
Сообщения: 52
Зарегистрирован: Ср фев 04, 2015 12:28 am
Благодарил (а): 54 раза
Поблагодарили: 6 раз

Re: [Модуль] MegaD (megad)

Сообщение tsember » Сб мар 07, 2020 11:44 pm

Chainik писал(а):
Сб мар 07, 2020 11:32 pm
tsember писал(а):
Сб мар 07, 2020 11:25 pm
Реализация управления по задумке автора модуля, то бишь автора всего проекта, меня не совсем устраивает. На кой тогда вообще сервер, если Мега сама должна управлять светом? Тем более хочу заложить более сложные алгоритмы управления в зависимости от некоторых условий. А не просто переключить порты туда-сюда.
Вот-вот... И я о том же.
Вы по итогам отпишитесь, заработало ли у вас без замечаний по альтернативному методу (https://ab-log.ru/forum/viewtopic.php?f=1&t=1328)?
У меня полная охинея какая то. Настроил 100% как по дополнению в статье выше.
2020-03-07_23-42-37.png
2020-03-07_23-42-37.png (10.87 КБ) 3947 просмотров
Та же самая песня, но уже с другими командами.
2020-03-07_23-41-25.png
2020-03-07_23-41-25.png (10.55 КБ) 3947 просмотров

Судя по коду выше, модуль не успокаивается, пока не вернет освещение в то состояние, которое было до "железного" щелчка.
Можно увидеть, что метод Свич выполняется два раза (на скрине две итерации - два раза пробовал проверять). Виден пакет 28:2, далее проверка на включение, все как по методу. Потом идет запрос всех портов, и опять 28:2.... Свет снова погас (((((
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

Re: [Модуль] MegaD (megad)

Сообщение Chainik » Сб мар 07, 2020 11:54 pm

Вижу, что свойства вы не заполняли, а просто вписали константами все в метод Swich. Для теста так тоже можно.

У меня модуль MegaD (к большому моему огорчению) при старте Мажордомо возвращает то состояние выходов, которое было при выключении Мажордомо. Это, конечно, неверно и требует исправления.
Но это безобразие происходит только при старте Мажордомо. Когда система просто работает, никаких лишних "телодвижений" нет.

У вас в модуле MegaD по входу с кнопкой прописан только метод Swich (как было на скрине)?
И в "Период опроса, секунд:" стоит, конечно, "0"?
tsember
Сообщения: 52
Зарегистрирован: Ср фев 04, 2015 12:28 am
Благодарил (а): 54 раза
Поблагодарили: 6 раз

Re: [Модуль] MegaD (megad)

Сообщение tsember » Вс мар 08, 2020 12:03 am

Chainik писал(а):
Сб мар 07, 2020 11:54 pm

У вас в модуле MegaD по входу с кнопкой прописан только метод Swich (как было на скрине)?
На 21 порту, на кнопке выбран только объект + метод свич (то бишь кликнули кнопку, прилетел пакет с меги на сервер - выполнили метод). Должно работать, блин. Не в первый раз настраиваю. Просто давно не обновлялся, где то что то пропустил.
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

Re: [Модуль] MegaD (megad)

Сообщение Chainik » Вс мар 08, 2020 12:07 am

tsember писал(а):
Вс мар 08, 2020 12:03 am
...
Просто давно не обновлялся, где то что то пропустил.
Попробуйте на вкладке "Данные" по входу P21 выставить тип "Counter" (сами настройки внутри те же), а все другие строчки по входу P21 -- удалить. Что будет?
tsember
Сообщения: 52
Зарегистрирован: Ср фев 04, 2015 12:28 am
Благодарил (а): 54 раза
Поблагодарили: 6 раз

Re: [Модуль] MegaD (megad)

Сообщение tsember » Вс мар 08, 2020 12:22 am

Ровно ничего не происходит. В таблице занова повился Input и другой Counter

Вернул все обратно:
Кликаю кнопкой: запускается свич, в котором прописано "отправить меге 28:2, затем послать get 28 порта".
Свет горит ровно до той поры, пока система не отправит cmd=all на Мегу. Сразу после этого команды из метода свич запускаются вновь. Свет гаснет
2020-03-08_00-25-07.png
2020-03-08_00-25-07.png (6.06 КБ) 3925 просмотров
Слушайте. А может быть такое, что MJDM как то нерпавильно парсит строку состояния после выполнения cmd=al ???


Еще раз детально изучил код метода СВИЧ гаражного света.

Код: Выделить всё

if ($params['m'] == '2')
{
cm('GarageGate_open-close');
}

else if ($params['m'] == '')
{
  echo "d"; exit;
}
Когда то я отлавливал параметр m=2 (длинное нажатие). Если короткое нажатие, управляем светом, длинное - запускает электропривод въездных ворот. Дак вот. При щелканьи кнопки, сервер коротко и ясно отвечает "d" и прекращает выполнение скрипта. А мега выполняла действие по умолчанию. Что мне и было нужно тогда.
Мега сама не умеет различать длинное и короткое нажатие. В самой меге на случай отсутствия сервера прописано 7:2 (управление светом)
Последний раз редактировалось tsember Вс мар 08, 2020 12:36 am, всего редактировалось 1 раз.
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

Re: [Модуль] MegaD (megad)

Сообщение Chainik » Вс мар 08, 2020 12:33 am

А вообще кто/что запускает или после чего происходит запрос состояния всех портов?
У вас точно период опроса на вкладке "Общие" = "0"?
У людей получалось настроить по альтернативному методу (https://ab-log.ru/forum/viewtopic.php?f ... 5&start=34).
tsember
Сообщения: 52
Зарегистрирован: Ср фев 04, 2015 12:28 am
Благодарил (а): 54 раза
Поблагодарили: 6 раз

Re: [Модуль] MegaD (megad)

Сообщение tsember » Вс мар 08, 2020 12:46 am

Chainik писал(а):
Вс мар 08, 2020 12:33 am
А вообще кто/что запускает или после чего происходит запрос состояния всех портов?
У вас точно период опроса на вкладке "Общие" = "0"?
У людей получалось настроить по альтернативному методу (https://ab-log.ru/forum/viewtopic.php?f ... 5&start=34).
Большое спасибо, что в столь вечернее время уделили мне внимание и оказали помощь.
Период опроса я убирал на время проб, затем вернул. Сейчас обратно поставил "0", пока 5 минут свет горит - полет нормальный.
Перестал обновляться датчик давления и влажности, это мелочи против такой большой победы. Напишу скрипт и буду парсить данные отдельно.

Все равно, то, что описано в статье, это конечно не выход. Так работать не должно. Отложу этот вопрос на потом. Благодарность еще раз. Доброй ночи.


P.S. Теперь, при переключении состояния в самой меге (что крайне маловероятно, но все же), сервер состояние порта не меняет.
Что можно сделать. К порту реле прикрепить метод проверки на параметр v=0 (этим параметром мега сообщает о внутреннем переключении порта), и в зависимости от текущего состояния порта, менять и статус.
Последний раз редактировалось tsember Вс мар 08, 2020 12:53 am, всего редактировалось 1 раз.
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

Re: [Модуль] MegaD (megad)

Сообщение Chainik » Вс мар 08, 2020 12:51 am

tsember писал(а):
Вс мар 08, 2020 12:22 am
...
Мега сама не умеет различать длинное и короткое нажатие. В самой меге на случай отсутствия сервера прописано 7:2 (управление светом)
Мега точно умеет различать короткие и длинные нажатия (и даже двойные нажатия). Только обновить прошивку надо и в режиме Click Mode
в поле "Act" можно писать так:
7:2|8:2|9:2
Одинарный клик - переключится P7
Двойной клик - переключится P8
Удержание - переключится P9

Датчик давления и влажности должен работать, если не поручать его опрос модулю MegaD :lol:
За это сообщение автора Chainik поблагодарил:
tsember (Вс мар 08, 2020 12:53 am)
Рейтинг: 1.16%
Ответить