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

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

Модератор: immortal

gagarin74
Сообщения: 331
Зарегистрирован: Пн апр 06, 2015 9:51 am

Re: Модуль "MegaD"

Сообщение gagarin74 »

с железом вроде разобрались.теперь давайте поговорим о настройках меги.
1 присабачиваем к входу №5 дверной звонок
2 выставляем режим P&R моде с галочкой.
3 в меджере создаем обьекты и привязываем в модуле мега(скаченного с маркета).
4 замыкаем контакты -четко получаем значение 1
5 размыкаем контакты -и тишина
6 лезим в свойства обьектов а там как стояла 1 так и стоит
7 лезим в меджере в модуль мега смотрим значение которое получила с меги -то же 1
8 нажимаем кнопку обновить - появляется ноль
9 в свойствах привязанных обьектах то же появляется ноль

Помогите ,наверное я что то не дочитал или не доделал. наверное все должно меняться от нажатие дверного звонка.
в идеале вместо самого звонка должно стоять реле. если кто подскажет правильную "петлю" буду рад.
тобишь алгоритм. кнопку нажал реле под током. алиса предупредила об этом и ещё чего то сделала. кнопку оджал-реле без тока .Алиса ещё чего то сделала.
OlegJktu84
Сообщения: 1
Зарегистрирован: Пн май 23, 2016 5:28 pm

Re: Модуль "MegaD"

Сообщение OlegJktu84 »

Lewcom писал(а):Народ, сори за глупый вопрос.
Не добавляется мега в модуле. При скане накидывает мусорных даных:
Название (+) MegaD-ID IP
MegaD
MegaD (0) (0)
MegaD Warning: stream_socket_server(): in C:\_majordomo\htdocs\modules\megad\megad-cfg.php on line 60
Warning: stream_socket_server(): in C:\_majordomo\htdocs\modules\megad\megad-cfg.php on line 60

MegaD


никаких ip-адресов, саме мега в сети работает нормально (настраивается, щелкает).
Ручное добавление не помогает, не отображает никаких портов.
Система Вин10 (на линуксе не осилил поставить мажордомо хотя вроде делал по инструкции)
Чем лечится?
Сам словил такой глюк. По моему уже отвечали, но на всякий случай напишу мой рецепт:
Вылечилось если настроить в Мажордомо: Панель управления - megad - -[ Настроить ] - Local IP: 192.168.1.200
Ну, то есть Local IP это ip компьютера (сервера) на котором установлен Мажордомо. С ним Мега подтягивается.
Хмм. У Меня так подтянулась дефолтная МегаД 192.168.0.14 на виртуалку Win7 с тремя сетевыми карточками. Одна получает адрес 192.168.1.200. Вторая 192.168.0.200. Третья по DHCP.
Руслан
Сообщения: 193
Зарегистрирован: Чт дек 17, 2015 10:08 am
Откуда: Уфа

Re: Модуль "MegaD"

Сообщение Руслан »

Kod.Begemot писал(а):Я добавил в класс реле метод "Impulse", вот его код:

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

$ot=$this->object_title;
$ImpulseTime=(int)$this->getProperty("ImpulseTime");
if(!$ImpulseTime)
 $ImpulseTime=1;

$this->callMethod('TurnOn');

setTimeOut($ot."_impulse","callMethod('".$ot.".TurnOff');",$ImpulseTime);
при этом добавлено свойство ImpulseTime - в котором пишем задержку в секундах.
Спасибо большое! Сейчас у меня можно включать свет через веб и происходит выключение через время, если сработал датчик движения
в первом скрине если не надо чтоб включенный свет из веб выключался по датчику, но при этом включенный по датчику гаснет по времени
2016-08-17_21-42-22.png
2016-08-17_21-42-22.png (28.75 КБ) 9290 просмотров
а вот так свет не гаснет если не было движения и гаснет, если было движение независимо от способа включения.
2016-08-17_21-48-29.png
2016-08-17_21-48-29.png (30.05 КБ) 9275 просмотров
Аватара пользователя
Genplane
Сообщения: 32
Зарегистрирован: Чт авг 18, 2016 11:43 am
Откуда: Калининград

Re: Модуль "MegaD"

Сообщение Genplane »

Установил-включил-просканировал. Нашлась моя Мега, но хотя на ней модуль с 14 входами, отображается только первые пять (0-4IN) и 16 вход с температурой интерфейсного модуля. Где спрятались 9 дискретных и два PWM?
Windows 7, MiniPC, MegaD, Arduino
Аватара пользователя
Genplane
Сообщения: 32
Зарегистрирован: Чт авг 18, 2016 11:43 am
Откуда: Калининград

Re: Модуль "MegaD"

Сообщение Genplane »

Потренировался. Считывал конфигурацию, проверял настройки Меги напрямую, удалял её и ставил. Не помогло. Помогла перезагрузка MJD.
Windows 7, MiniPC, MegaD, Arduino
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am

Re: Модуль "MegaD"

Сообщение Chainik »

А можно ли как-то передать в скрипт, который запускается после срабатывания входа по методу statusChanged, сведения о сработавшем порте. Ну чтобы можно было в скрипте использовать конструкции вида

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

if ( $_GET['pt'] == "6" )
{
//Выполнить действие
} 
Ясно, что сам модуль MegaD знает, какой именно вход сработал. Вот как это "знание" передать в скрипт?
Дело в том что один и тот же скрипт будет выполнять разные действия в зависимости от того, какой именно вход сработал.
Аватара пользователя
Kod.Begemot
Сообщения: 358
Зарегистрирован: Чт июн 20, 2013 5:53 pm

Re: Модуль "MegaD"

Сообщение Kod.Begemot »

Подозреваю, в этом случае проще использовать не модуль, а к примеру класс Bagir-a. Там как раз метод "Incoming Message"...
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am

Re: Модуль "MegaD"

Сообщение Chainik »

Kod.Begemot, спасибо за ответ. Не хотелось бы плодить "лишние сущности". В случае с модулем подкупает именно простота интеграции. Может быть придется использовать какой-нибудь "костыль" в виде промежуточного скрипта, устанавливающего значение свойства в SetGlobal в соответствии с тем, какой именно порт сработал, и запускающего основной скрипт. А уже основной скипт получит значение этого свойства по GetGlobal и выполнит необходимые действия.
Для каждого входа Меги промежуточный скрипт будет, разумеется, свой.

Что-то я "ступил". Все прекрасно работает безо всяких "костылей". Да здравствует Мажордомо!
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Контактная информация:

Re: Модуль "MegaD"

Сообщение sergejey »

Chainik писал(а):А можно ли как-то передать в скрипт, который запускается после срабатывания входа по методу statusChanged, сведения о сработавшем порте. Ну чтобы можно было в скрипте использовать конструкции вида

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

if ( $_GET['pt'] == "6" )
{
//Выполнить действие
}
Ясно, что сам модуль MegaD знает, какой именно вход сработал. Вот как это "знание" передать в скрипт?
Дело в том что один и тот же скрипт будет выполнять разные действия в зависимости от того, какой именно вход сработал.
Методу передаётся номер порта и его можно использовать у себя в коде как $params['port']

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am

Re: Модуль "MegaD"

Сообщение Chainik »

Спасибо, Сергей, разобрался. Все отлично работает.
Для тех, кому интересно поясню. Если в модуле MegaD к двум разным входам привязана одна и та же кнопка (keySensors) и указано, что нужно запускать при срабатывании метод, например, statusChanged, то в методе можно написать запуск сценария, в котором будет прописано, какие действия нужно выполнять в зависимости от того, какой именно вход меги сработал

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

if ( $_GET['pt'] == "0" )
{
// Выполнить одно действие
}

if ( $_GET['pt'] == "4" )
{
// Выполнить другое действие
}
Ответить