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

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

Модератор: immortal

gagarin74
Сообщения: 331
Зарегистрирован: Пн апр 06, 2015 9:51 am
Благодарил (а): 37 раз
Поблагодарили: 22 раза

Re: Модуль "MegaD"

Сообщение gagarin74 » Сб июл 02, 2016 4:23 pm

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

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

Re: Модуль "MegaD"

Сообщение OlegJktu84 » Вт авг 16, 2016 8:08 pm

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
Откуда: Уфа
Благодарил (а): 36 раз
Поблагодарили: 14 раз

Re: Модуль "MegaD"

Сообщение Руслан » Ср авг 17, 2016 7:44 pm

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 КБ) 8942 просмотра
а вот так свет не гаснет если не было движения и гаснет, если было движение независимо от способа включения.
2016-08-17_21-48-29.png
2016-08-17_21-48-29.png (30.05 КБ) 8927 просмотров
За это сообщение автора Руслан поблагодарил:
tsember (Вс фев 05, 2017 1:36 pm)
Рейтинг: 1.16%
Аватара пользователя
Genplane
Сообщения: 32
Зарегистрирован: Чт авг 18, 2016 11:43 am
Откуда: Калининград
Благодарил (а): 37 раз
Поблагодарили: 1 раз

Re: Модуль "MegaD"

Сообщение Genplane » Чт авг 18, 2016 10:21 pm

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

Re: Модуль "MegaD"

Сообщение Genplane » Пт авг 19, 2016 12:45 pm

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

Re: Модуль "MegaD"

Сообщение Chainik » Пт авг 19, 2016 8:17 pm

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

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

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

Re: Модуль "MegaD"

Сообщение Kod.Begemot » Сб авг 20, 2016 8:46 am

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

Re: Модуль "MegaD"

Сообщение Chainik » Сб авг 20, 2016 3:12 pm

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

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

Re: Модуль "MegaD"

Сообщение sergejey » Вт авг 23, 2016 1:37 pm

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

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

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

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

Re: Модуль "MegaD"

Сообщение Chainik » Вт авг 23, 2016 2:52 pm

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

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

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

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