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

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

Модератор: immortal

Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Модуль "MegaD"

Сообщение Chainik » Ср апр 11, 2018 10:11 pm

seaven писал(а):
Ср апр 11, 2018 9:55 pm
...и галочка напротив Akt...
А если эту галку снять? Устранится ли двойное срабатывание?
Как долго производится нажатие на кнопку? Если более 1,5 секунды, тогда происходит повторный вызов скрипта с параметром "m=2".
seaven
Сообщения: 13
Зарегистрирован: Чт мар 01, 2018 4:15 pm
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: Модуль "MegaD"

Сообщение seaven » Ср апр 11, 2018 10:25 pm

skysilver писал(а):
Ср апр 11, 2018 10:05 pm
seaven писал(а):
Ср апр 11, 2018 9:55 pm
А может все-таки цикл MegaD запущен несколько раз, но в X-ray этого не видно?
Это легко посмотреть в списке запущенных процессов ОС.
Skysilver, а как это сделать?
У меня, получается, запущено 11 процессов php.exe. Можно как-то посмотреть, какие это циклы?
seaven
Сообщения: 13
Зарегистрирован: Чт мар 01, 2018 4:15 pm
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: Модуль "MegaD"

Сообщение seaven » Ср апр 11, 2018 10:36 pm

Chainik писал(а):
Ср апр 11, 2018 10:11 pm
seaven писал(а):
Ср апр 11, 2018 9:55 pm
...и галочка напротив Akt...
А если эту галку снять? Устранится ли двойное срабатывание?
Как долго производится нажатие на кнопку? Если более 1,5 секунды, тогда происходит повторный вызов скрипта с параметром "m=2".
Chainik, а если галочку снять, то не будет работать :)
Я поясню: можно сделать так, как описано на сайте ab-log: контроллер выполняет действие (типа 22:2) только при потере сервера, соответственно MJD выполняет это действие всегда, когда работает сервер. Галочки (обе) не стоят.
Я попробовал сделать по-другому. У меня действие всегда выполняет контроллер, а MJD - никогда. Но в дополнение есть метод, который дополняет выполнение метода, например, озвучивание того, что дверь открыта и изменение свойств объекта.
Как оказалось, оба способа работают хорошо :)
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Модуль "MegaD"

Сообщение skysilver » Ср апр 11, 2018 10:38 pm

seaven писал(а):
Ср апр 11, 2018 10:25 pm
Skysilver, а как это сделать?
У меня, получается, запущено 11 процессов php.exe. Можно как-то посмотреть, какие это циклы?
В Диспетчере задач меню Вид, далее Выбрать столбцы, поставить галочку на пункт Командная строка, нажать Ок.
За это сообщение автора skysilver поблагодарил:
seaven (Ср апр 11, 2018 10:42 pm)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
seaven
Сообщения: 13
Зарегистрирован: Чт мар 01, 2018 4:15 pm
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: Модуль "MegaD"

Сообщение seaven » Ср апр 11, 2018 10:44 pm

skysilver писал(а):
Ср апр 11, 2018 10:38 pm
seaven писал(а):
Ср апр 11, 2018 10:25 pm
Skysilver, а как это сделать?
У меня, получается, запущено 11 процессов php.exe. Можно как-то посмотреть, какие это циклы?
В Диспетчере задач меню Вид, далее Выбрать столбцы, поставить галочку на пункт Командная строка, нажать Ок.
Точно! Все видно!! Век живи - век учись! Но MegaD там в единственном экземпляре. Так что дело в чем-то еще...
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Модуль "MegaD"

Сообщение Chainik » Ср апр 11, 2018 10:56 pm

seaven писал(а):
Ср апр 11, 2018 10:36 pm
Chainik писал(а):
Ср апр 11, 2018 10:11 pm
seaven писал(а):
Ср апр 11, 2018 9:55 pm
...и галочка напротив Akt...
А если эту галку снять? Устранится ли двойное срабатывание?
Как долго производится нажатие на кнопку? Если более 1,5 секунды, тогда происходит повторный вызов скрипта с параметром "m=2".
Chainik, а если галочку снять, то не будет работать :)
Я поясню: можно сделать так, как описано на сайте ab-log: контроллер выполняет действие (типа 22:2) только при потере сервера, соответственно MJD выполняет это действие всегда, когда работает сервер. Галочки (обе) не стоят.
Я попробовал сделать по-другому. У меня действие всегда выполняет контроллер, а MJD - никогда. Но в дополнение есть метод, который дополняет выполнение метода, например, озвучивание того, что дверь открыта и изменение свойств объекта.
Как оказалось, оба способа работают хорошо :)
Поскольку галка напротив "Act" стоит, Мега всегда выполняет действие самостоятельно (независимо от наличия и ответа сервера). В то же время, при срабатывании входа сообщение на сервер все равно передается. Подозреваю, что при этом запускается код (метод), вызывающий повторное выполнение действия (но уже инициированное сервером).
Может быть надо смотреть сетевой трафик.
Я, правда, всегда придерживаюсь другой идеологии: "рулит" сервер, а если он "отвалился", действует Мега. Никогда двойных срабатываний не было. А если и были, то только в результате "длинного нажатия", что "лечится" модификаций кода модуля и отслеживанием этих "длинных нажатий" в коде методов/скриптов.
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: Модуль "MegaD"

Сообщение directman66 » Ср апр 18, 2018 9:03 am

Интересует корректировка значений параметра Val режима термостата контроллера MegaD-2561

Согласно инструкции есть такой режим работы

Локальный и "удаленный" термостат с помощью DS18B20 и MegaD-2561
MegaD-2561-web-port-config-dsen-ds18b20.gif
MegaD-2561-web-port-config-dsen-ds18b20.gif (7.38 КБ) 4475 просмотров
Порт, настроенный для работы с датчиком температуры DS18B20, может не только отображать температуру или передавать ее на сервер. У него есть интересная особенность - режим термостата, когда можно управлять нагрузкой в зависимости от значения температуры. Принцип настройки аналогичен АЦП-порту. А также доступны команды "3" и "4, синхронизирующие значение температуры и состояние выхода. Например, если мы установим режим (Mode) "<>", значение температуры (Val) 29, гистерезис (Hst) 0.50, а сценарий (Act) 7:3, то когда температура будет выше 29.5 градусов, выход P7 будет включен, а когда ниже 28.5, то выключен. Гистерезис работает в обе стороны от заданного порога.
А кроме того, устройство может управлять не только локальным выходом, но и выходом другого устройства. Для этого в поле Net мы прописываем, например "192.168.0.15/sec/?cmd=8:3". Тогда порт 8 совершенно другого устройства будет синхронизирован со значением температуры так, словно этот порт локальный. Разумеется, доступны и другие стандартные команды: выключить - "0", включить - "1", переключить - "2".
Так и не нашел, как удаленно изменять значение VAL=29?
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Модуль "MegaD"

Сообщение Chainik » Ср апр 18, 2018 12:14 pm

Ну вообще-то, когда по сети входишь в конфигурацию Меги (192.168.0.14/sec/) и меняешь там настройки, то это вроде бы и есть "удаленно".
Но если вопрос в том, можно ли значение VAL=29 менять из кода, то, думаю, лучше спросить об этом на ab-log.

Насколько я понимаю, выполнить команду в принципе возможно, только при этом надо переписывать сразу всю конфигурацию Меги, а не просто устанавливать новое значение в VAL. В модуле MegaD на вкладке Advenced есть даже кнопка "Write Config". Но я ей не пользовался, поскольку кто его знает, "сбойнет" что-нибудь при этом, потом чеши затылок с перепрошивкой...
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: Модуль "MegaD"

Сообщение directman66 » Ср апр 18, 2018 12:25 pm

Андрей подсказал:

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

http://192.168.0.14/sec/?pn=30&misc=24
где pn - номер порта, misc - значение термостата
ну и все описание есть тут https://ab-log.ru/smart-house/ethernet/megad-328-api
и тут https://ab-log.ru/forum/viewtopic.php?f ... t22#p20670
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
regabriel
Сообщения: 4
Зарегистрирован: Вс янв 21, 2018 10:31 pm
Благодарил (а): 3 раза
Поблагодарили: 2 раза

Re: Модуль "MegaD"

Сообщение regabriel » Пн май 07, 2018 10:16 pm

Здравствуйте. Помогите, пожалуйста :)

Установил majorDoMo на raspberryPi3 сначало в ручную raspbian(apache+msql+php7 + majorDoMo c github-а), потом залил образом с "Базовый образ Raspberry Pi3 / Pi2" проблема одна и таже...

Скачиваю данный модуль с маркета, он видит megaD2561, но вот Read config в разделе Advanced ничего не выводит(соответственно настроек портов нет)

а вот если загружать в ручную скрипт megad-cfg-2561.php на малинку и запустить его:
php megad-cfg-2561.php --ip 192.168.0.202 —local-ip 192.168.0.201 --read-conf megad12.cfg -p sec

при этом —local-ip 192.168.0.201 указывать обязательно иначе не работает


создает файл конфигурации:

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

cf=1&eip=192.168.0.202&pwd=sec&gw=192.168.0.201&sip=192.168.0.201:80&sct=megad.$
cf=2&mdid=1&sl=1
cf=7&stime=&cscl=&csda=&crnt0=&crna0=&crnt1=&crna1=&crnt2=&crna2=&crnt3=&crna3=$
cf=8&key0=&key1=&key2=&key3=&key4=
cf=1&eip=192.168.0.202&pwd=sec&gw=192.168.0.201&sip=192.168.0.201:80&sct=megad.$
cf=1&eip=192.168.0.202&pwd=sec&gw=192.168.0.201&sip=192.168.0.201:80&sct=megad.$
cf=1&eip=192.168.0.202&pwd=sec&gw=192.168.0.201&sip=192.168.0.201:80&sct=megad.$
cf=1&eip=192.168.0.202&pwd=sec&gw=192.168.0.201&sip=192.168.0.201:80&sct=megad.$
cf=1&eip=192.168.0.202&pwd=sec&gw=192.168.0.201&sip=192.168.0.201:80&sct=megad.$
cf=1&eip=192.168.0.202&pwd=sec&gw=192.168.0.201&sip=192.168.0.201:80&sct=megad.$
cf=1&eip=192.168.0.202&pwd=sec&gw=192.168.0.201&sip=192.168.0.201:80&sct=megad.$
cf=1&eip=192.168.0.202&pwd=sec&gw=192.168.0.201&sip=192.168.0.201:80&sct=megad.$
cf=1&eip=192.168.0.202&pwd=sec&gw=192.168.0.201&sip=192.168.0.201:80&sct=megad.$
cf=1&eip=192.168.0.202&pwd=sec&gw=192.168.0.201&sip=192.168.0.201:80&sct=megad.$
pn=0&pty=255
pn=1&pty=255
pn=2&pty=255
pn=3&pty=255
pn=4&pty=255
pn=5&pty=255
pn=6&pty=255
pn=7&pty=255
pn=8&pty=255
pn=9&pty=255
pn=10&pty=255
pn=11&pty=255
pn=12&pty=255
pn=13&pty=255
pn=14&pty=255
pn=15&pty=255
pn=16&pty=255
pn=17&pty=255
pn=18&pty=255
pn=19&pty=255
pn=20&pty=255
pn=21&pty=255
pn=22&grp=&disp=&pty=1&d=0&m=0
pn=23&pty=255
pn=24&pty=255
pn=25&pty=255
pn=26&pty=255
pn=27&pty=255
pn=28&pty=255
pn=29&grp=&disp=&pty=1&d=0&m=0
pn=30&pty=255
pn=31&pty=255
pn=32&pty=255
pn=33&pty=255
pn=34&pty=255
pn=35&pty=255
pn=36&pty=255
pn=37&pty=255


Как же правильно настроить систему? Из-за чего не считывает настройки megaD2561?
Ответить