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

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

Модератор: immortal

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

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

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

Anton_V писал(а):
Ср апр 24, 2019 10:00 pm
...
могу сказать однозначно, у меня не приходит при любом режиме. может потому, что версии модулей разные. у меня сейчас стоит от 2019-04-19 10:32:56
У меня та же версия модуля. Выставлен ТИП "counter". В Меге -- P&R. "Не выполнять действие по умолчанию" [или как оно там называется] -- "Да".
Вот такой код выполняется без проблем:

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

if ( $_GET['m'] == "" ) {
say("Нажатие");
}
if ( $_GET['m'] == "1" ) {
say("Отпускание");
}
if ( $_GET['m'] == "2" ) {
say("Удержание");
}
За это сообщение автора Chainik поблагодарил:
Anton_V (Ср апр 24, 2019 10:45 pm)
Рейтинг: 1.16%
Anton_V
Сообщения: 27
Зарегистрирован: Пн апр 30, 2018 10:15 pm
Откуда: Уфа
Благодарил (а): 7 раз
Поблагодарили: 5 раз

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

Сообщение Anton_V » Ср апр 24, 2019 10:45 pm

Chainik писал(а):
Ср апр 24, 2019 10:10 pm
Anton_V писал(а):
Ср апр 24, 2019 10:00 pm
...
могу сказать однозначно, у меня не приходит при любом режиме. может потому, что версии модулей разные. у меня сейчас стоит от 2019-04-19 10:32:56
У меня та же версия модуля. Выставлен ТИП "counter". В Меге -- P&R. "Не выполнять действие по умолчанию" [или как оно там называется] -- "Да".
Вот такой код выполняется без проблем:

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

if ( $_GET['m'] == "" ) {
say("Нажатие");
}
if ( $_GET['m'] == "1" ) {
say("Отпускание");
}
if ( $_GET['m'] == "2" ) {
say("Удержание");
}
все разобрался. действительно работает и в режиме click на меге и в режиме P&R. код действительно у обоих правильный. и мы оба правы. через переменную $_GET эти параметры приходят и корректно отрабатываются, а вот параметры через переменную $params хоть ты что делай не приходят. так что я в своем методе поменял только обращение к переменной $_GET и все заработало.

в результате получилось вот что

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

//$click=$params['click'];
$click=$_GET['click'];
//$m=$params['m'];
$m=$_GET['m'];
if ($m == '2') {
 $this->callMethod('LongPress');
}
if ($click == 1) { //одинарное нажатие
  	$this->callMethod('Swich');
}
if ($click == 2){ //Двойное нажатие
 $this->callMethod('DoublePress'); 
 //say('Двойное нажатие',0);
}
и да пришлось выставить на порту ТИП "counter"
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

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

Сообщение Chainik » Ср апр 24, 2019 10:52 pm

Anton_V писал(а):
Ср апр 24, 2019 10:45 pm
все разобрался. действительно работает и в режиме click на меге и в режиме P&R. код действительно у обоих правильный. и мы оба правы.
...
Ну отлично! Рад, что все получилось. :)
Anton_V
Сообщения: 27
Зарегистрирован: Пн апр 30, 2018 10:15 pm
Откуда: Уфа
Благодарил (а): 7 раз
Поблагодарили: 5 раз

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

Сообщение Anton_V » Ср апр 24, 2019 10:55 pm

Chainik писал(а):
Ср апр 24, 2019 10:52 pm
Anton_V писал(а):
Ср апр 24, 2019 10:45 pm
все разобрался. действительно работает и в режиме click на меге и в режиме P&R. код действительно у обоих правильный. и мы оба правы.
...
Ну отлично! Рад, что все получилось. :)
Надеюсь что Сергей все же исправит данную ошибку в модуле. что бы не прикручивать костыли.
Аватара пользователя
Nail
Сообщения: 376
Зарегистрирован: Пн мар 05, 2018 7:09 am
Откуда: Самара
Благодарил (а): 174 раза
Поблагодарили: 28 раз

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

Сообщение Nail » Вт апр 30, 2019 9:19 am

может кто подсказать что пишет МД про МегуД?
Вложения
Screenshot_3.jpg
Screenshot_3.jpg (244.76 КБ) 5961 просмотр
Mini AMD A6 1450 Quad-core.Ubuntu Server 18.04 (64-bit). MegaD. Zigbee2mqtt+SLS DIN Mini. Broadlink.
Аватара пользователя
DEMON
Сообщения: 4
Зарегистрирован: Пт май 24, 2019 1:13 am
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение DEMON » Пн май 27, 2019 11:37 am

MegaD в маркете дополнений в "Установлено" нет, но если зайти в "Оборудование"
22.png
22.png (10.52 КБ) 5846 просмотров
В закладке устройства тоже нет MegaD
11.png
11.png (5.35 КБ) 5846 просмотров
MajorDoMo только что установленный, перезагружать пробовал.
Переустанавливать пробовал.
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

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

Сообщение Chainik » Пн май 27, 2019 12:56 pm

Т.е. после установки модуля MegaD из маркета дополнений в Мажордомо он не появляется?
Заодно уточните вашу операционную систему (Linux / Windows).
Аватара пользователя
DEMON
Сообщения: 4
Зарегистрирован: Пт май 24, 2019 1:13 am
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение DEMON » Пн май 27, 2019 2:46 pm

Chainik писал(а):
Пн май 27, 2019 12:56 pm
Т.е. после установки модуля MegaD из маркета дополнений в Мажордомо он не появляется?
Заодно уточните вашу операционную систему (Linux / Windows).
Да, не появляется.
Windows 10 x64
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

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

Сообщение Chainik » Пн май 27, 2019 11:38 pm

DEMON писал(а):
Пн май 27, 2019 2:46 pm
Chainik писал(а):
Пн май 27, 2019 12:56 pm
Т.е. после установки модуля MegaD из маркета дополнений в Мажордомо он не появляется?
Заодно уточните вашу операционную систему (Linux / Windows).
Да, не появляется.
Windows 10 x64
Только что установил MDM на чистую десятку. Модуль MegaD спокойно инсталлировался и появился в админке.
Могу сбросить папку "_majordomo" с установленным модулем MegaD. Если надо, пишите e-mail в личку.
directman66
Сообщения: 2800
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 695 раз
Контактная информация:

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

Сообщение directman66 » Ср июн 26, 2019 6:47 pm

Информация для тех, кто как я потратил кучу времени и нервов пытаясь понять, почему не прилетают данные от выключателей megad в режиме click: проверьте настройки локальной сети в файле config.php. Внутри локальной сети должен быть разрешен доступ к majordomo без пароля.
Контроллер megad не умеет авторизоваться на сервере по протоколу http (информация от разработчика).


Т.е. требуется актуализировать строку config.php
Define('HOME_NETWORK', '192.168.1.*'); // home network (optional)
СпойлерПоказать
image3.png
image3.png (29.64 КБ) 6592 просмотра
image2.png
image2.png (29.64 КБ) 6592 просмотра
image1.png
image1.png (98.79 КБ) 6592 просмотра
После чего от контроллера начнут прилетать файлу /mega.php параметры согласно официальной инструкции:
СпойлерПоказать
Режимы работы входа. Mode


Mode - настройка, определяющая режим работы входа

P - устройство реагирует (то есть отправляет сообщения на сервер, выполняет сценарии и т.д.) только при замыкании контакта/выключателя (Пример: http://192.168.0.1/megad.php?pt=4)
R - устройство реагирует только при размыкании контакта/выключателя. На сервер отправляется дополнительный параметр "m=1". (Пример: http://192.168.0.1/megad.php?pt=4&m=1)
P&R - устройство реагирует как на замыкание, так и на размыкания контакта.
С - Click Mode (обработка одинарных и двойных кликов/нажатий)
В режиме Click Mode:

При однократном нажатии на выключатель на сервер передается параметр click=1
Пример: /md.php?pt=0&click=1&cnt=1
При двойном нажатии (двойной клик) на сервер передается параметр click=2
Пример: /md.php?pt=0&click=2&cnt=2
При удержатии клавиши как и в других режимах передается параметр m=2
Пример: /md.php?pt=0&m=2&cnt=3
После отпускания клавиши после длительного нажатия передается параметр m=1 (как в режиме P&R)
Пример: /md.php?pt=0&m=1&cnt=3
Заложена специальная поддержка режима Click Mode в сценариях
Теперь допустимо написать так: 7:2|8:2
Это означает, что при одинарном клике выполнится 7:2, а при двойном 8:2
Включил логирование, в результате на сервер стали прилетать следующие команды
СпойлерПоказать
20:36:02 0.27470300 run
20:36:02 0.27484700 Request: /megad.php?pt=30&m=2&cnt=19&mdid=id5 (192.168.1.150)
20:36:05 0.34937700 run
20:36:05 0.34947000 Request: /megad.php?pt=30&m=1&cnt=19&mdid=id5 (192.168.1.150)
20:36:32 0.68398300 run
20:36:32 0.68407300 Request: /megad.php?pt=30&click=1&cnt=20&mdid=id5 (192.168.1.150)
20:36:35 0.03867600 run
20:36:35 0.03880800 Request: /megad.php?pt=30&click=2&cnt=21&mdid=id5 (192.168.1.150)
20:36:35 0.64827600 run
20:36:35 0.64838900 Request: /megad.php?pt=30&click=1&cnt=22&mdid=id5 (192.168.1.150)
После чего в мажоре все стало выглядеть так:
СпойлерПоказать
megad.png
megad.png (36.83 КБ) 6592 просмотра
За это сообщение автора directman66 поблагодарили (всего 3):
semkyskov (Чт июн 27, 2019 5:09 pm) • jones21 (Пн сен 02, 2019 12:44 am) • znachok88 (Вс сен 29, 2019 11:57 pm)
Рейтинг: 3.49%
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Ответить