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

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

Модератор: immortal

pdmitry2
Сообщения: 90
Зарегистрирован: Ср фев 06, 2013 1:12 pm
Откуда: Россия, Москва
Благодарил (а): 35 раз
Поблагодарили: 6 раз

Re: Модуль "MegaD"

Сообщение pdmitry2 » Чт янв 26, 2017 9:41 am

Подскажите, кто как реализует плавное включение/выключение света? Если можно, покажите пример кода. На самой меге, такое есть, но не хватает гибкости
Zavoolon
Сообщения: 12
Зарегистрирован: Вс янв 15, 2017 12:51 am
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: Модуль "MegaD"

Сообщение Zavoolon » Пт янв 27, 2017 9:31 am

Chainik писал(а): Сразу хочу сказать, что модуль MegaD я использую только для того, чтобы «отлавливать» срабатывание входов Меги. Это несколько отличается от задуманного автором способа использования модуля, но я, видимо, что-то не допонял или не смог когда-то разобраться. Поэтому применяю несколько другой подход.

Считаем, что в модуле MegaD Мега успешно обнаружилась и вопрос подключения Меги к модулю здесь обсуждать не будем.

....

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

Re: Модуль "MegaD"

Сообщение Chainik » Пт янв 27, 2017 12:11 pm

Объяснить сею странность не могу, ввиду отсутствия системных знаний. Но вот что писал по поводу srv-loop Andrey_B в своем посте от 25 янв 2017, 21:12.

http://ab-log.ru/forum/viewtopic.php?f= ... &start=480
"Хочу напомнить, что srv-loop задумывался исключительно для случаев, когда сервер находится за пределами локальной сети и нет прямого маршрута к устройству. Это ситуации, когда сервер никак иначе не может считать состояние портов устройства. Если же сервер находится в локальной сети (а это 99,9% случаев в конфигурациях, когда он применяется) именно сервер должен опрашивать порты с той периодичностью и таким образом, как это необходимо для решения поставленных задач. Лично я у себя srv-loop не применяю."
Zavoolon
Сообщения: 12
Зарегистрирован: Вс янв 15, 2017 12:51 am
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: Модуль "MegaD"

Сообщение Zavoolon » Пт янв 27, 2017 12:32 pm

Chainik писал(а):Объяснить сею странность не могу, ввиду отсутствия системных знаний. Но вот что писал по поводу srv-loop Andrey_B в своем посте от 25 янв 2017, 21:12.
...
Все верно, функция избыточна. Хотя может применяться и как тот самый встроенный синхронизатор состояний, не находите? И самое главное удобный, железный, не зависящий от сервера.
Попробую обратить внимание разработчиков на этот факт, ведь "информации не может быть слишком много" :)
Pooh
Сообщения: 74
Зарегистрирован: Вт дек 31, 2013 2:03 pm
Откуда: Самара
Благодарил (а): 25 раз
Поблагодарили: 5 раз

Re: Модуль "MegaD"

Сообщение Pooh » Сб янв 28, 2017 3:35 pm

Починил ADC14 и ADC15:
в readconfig.inc.php заменил $device_type=''; на $device_type='7I7O';
принудительно указал количество ног: $total=16;
и закоментировал блок:
/*
if (($i==16) && $device_type=='7I7O') {
$port=16;
$type=100;
}
*/

ибо
"17.12.2016 ver 3.52
- Улучшена процедура опроса входов
- Удалена команда "tget" (для запроса значения встроенного датчика температуры)"

Версии софта, модулей и прошивок крайние, не беты, исполнительный блок - 7I7O
CagoBHuK
Сообщения: 13
Зарегистрирован: Вс янв 29, 2017 12:21 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Модуль "MegaD"

Сообщение CagoBHuK » Вс янв 29, 2017 12:26 pm

Не едут лыжи.
1. Настроил MegaD+7I7O на автономную работу.
2. Установил MajorDoMo+плагин
3. Просканировал локаль, нашелся MegaD.
Теперь что не так:
1. На Advanced в "Current config" пусто.
2. На вкладке "Данные" пусто.
Я так понял, что я не настроил объекты, но не совсем ясно, как их настраивать-то? Нет соответствующих классов, как я понял, уменя. Мб кто поделится выгрузкой пары классов/объектов?

Где лыжи нужно смазать, подскажите, пожалуйста.
Аватара пользователя
Kod.Begemot
Сообщения: 358
Зарегистрирован: Чт июн 20, 2013 5:53 pm
Благодарил (а): 32 раза
Поблагодарили: 42 раза

Re: Модуль "MegaD"

Сообщение Kod.Begemot » Вс янв 29, 2017 12:54 pm

ReadConfig делали? Объекты и классы в ваши случае это реле и датчики (keysensor в частности). Но если автономка работает, должно и с МДМ работать... Класс мегаД, и объекты Мег - это при работе без модуля. Тоже вариант, более гибкий, но заметно сложнее.
Кстати, Меги настроили на работу с сервером? Поля сервер, скрипт? Без этого находить будет, а работать - нет.
Аватара пользователя
Kod.Begemot
Сообщения: 358
Зарегистрирован: Чт июн 20, 2013 5:53 pm
Благодарил (а): 32 раза
Поблагодарили: 42 раза

Re: Модуль "MegaD"

Сообщение Kod.Begemot » Вс янв 29, 2017 12:57 pm

И еще, я спрашивал ранее, но ответа не увидел.. сейчас модуль отрабатывает параметр "st"? Т.е. реагирует на старт Меги? Важно для синхронизации выходов с объектами после рестарта..
CagoBHuK
Сообщения: 13
Зарегистрирован: Вс янв 29, 2017 12:21 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Модуль "MegaD"

Сообщение CagoBHuK » Вс янв 29, 2017 1:12 pm

Kod.Begemot писал(а):ReadConfig делали? Объекты и классы в ваши случае это реле и датчики (keysensor в частности). Но если автономка работает, должно и с МДМ работать... Класс мегаД, и объекты Мег - это при работе без модуля. Тоже вариант, более гибкий, но заметно сложнее.
Кстати, Меги настроили на работу с сервером? Поля сервер, скрипт? Без этого находить будет, а работать - нет.
ReadConfig возвращает OK в CommandResult, но конфа всё равно пустая. На работу с сервером Мегу настроил, в логах даже вижу, что она запросы делает:

10.241.21.111 - - [29/Jan/2017:12:16:44 +0300] "GET /megad.php?pt=4&cnt=1 HTTP/1.1" 200 -
10.241.21.111 - - [29/Jan/2017:12:16:44 +0300] "GET /megad.php?pt=5&cnt=1 HTTP/1.1" 200 -
10.241.21.111 - - [29/Jan/2017:12:16:45 +0300] "GET /megad.php?pt=4&m=2&cnt=1 HTTP/1.1" 200 -

Но вот что-то состояний я не вижу.
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

Re: Модуль "MegaD"

Сообщение Chainik » Вс янв 29, 2017 1:39 pm

CagoBHuK, т.е. в Меге в поле "SRV" IP сервера прописан и в поле "Script" указано "megad.php", а в модуле IP Меги и пароль указаны? (Сервер и Мега, понятное дело, должны быть в одной подсети.)
И в модуле на вкладке "Advenced" нажатие на "Reed config" к чтению конфигурации не приводит?
Ответить