[Модуль] MegaD (megad)
Модератор: immortal
-
- Сообщения: 331
- Зарегистрирован: Пн апр 06, 2015 9:51 am
- Благодарил (а): 37 раз
- Поблагодарили: 22 раза
Re: Модуль "MegaD"
с железом вроде разобрались.теперь давайте поговорим о настройках меги.
1 присабачиваем к входу №5 дверной звонок
2 выставляем режим P&R моде с галочкой.
3 в меджере создаем обьекты и привязываем в модуле мега(скаченного с маркета).
4 замыкаем контакты -четко получаем значение 1
5 размыкаем контакты -и тишина
6 лезим в свойства обьектов а там как стояла 1 так и стоит
7 лезим в меджере в модуль мега смотрим значение которое получила с меги -то же 1
8 нажимаем кнопку обновить - появляется ноль
9 в свойствах привязанных обьектах то же появляется ноль
Помогите ,наверное я что то не дочитал или не доделал. наверное все должно меняться от нажатие дверного звонка.
в идеале вместо самого звонка должно стоять реле. если кто подскажет правильную "петлю" буду рад.
тобишь алгоритм. кнопку нажал реле под током. алиса предупредила об этом и ещё чего то сделала. кнопку оджал-реле без тока .Алиса ещё чего то сделала.
1 присабачиваем к входу №5 дверной звонок
2 выставляем режим P&R моде с галочкой.
3 в меджере создаем обьекты и привязываем в модуле мега(скаченного с маркета).
4 замыкаем контакты -четко получаем значение 1
5 размыкаем контакты -и тишина
6 лезим в свойства обьектов а там как стояла 1 так и стоит
7 лезим в меджере в модуль мега смотрим значение которое получила с меги -то же 1
8 нажимаем кнопку обновить - появляется ноль
9 в свойствах привязанных обьектах то же появляется ноль
Помогите ,наверное я что то не дочитал или не доделал. наверное все должно меняться от нажатие дверного звонка.
в идеале вместо самого звонка должно стоять реле. если кто подскажет правильную "петлю" буду рад.
тобишь алгоритм. кнопку нажал реле под током. алиса предупредила об этом и ещё чего то сделала. кнопку оджал-реле без тока .Алиса ещё чего то сделала.
-
- Сообщения: 1
- Зарегистрирован: Пн май 23, 2016 5:28 pm
- Благодарил (а): 0
- Поблагодарили: 0
Re: Модуль "MegaD"
Сам словил такой глюк. По моему уже отвечали, но на всякий случай напишу мой рецепт: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"
Спасибо большое! Сейчас у меня можно включать свет через веб и происходит выключение через время, если сработал датчик движенияKod.Begemot писал(а):Я добавил в класс реле метод "Impulse", вот его код:
при этом добавлено свойство ImpulseTime - в котором пишем задержку в секундах.Код: Выделить всё
$ot=$this->object_title; $ImpulseTime=(int)$this->getProperty("ImpulseTime"); if(!$ImpulseTime) $ImpulseTime=1; $this->callMethod('TurnOn'); setTimeOut($ot."_impulse","callMethod('".$ot.".TurnOff');",$ImpulseTime);
в первом скрине если не надо чтоб включенный свет из веб выключался по датчику, но при этом включенный по датчику гаснет по времени а вот так свет не гаснет если не было движения и гаснет, если было движение независимо от способа включения.
- Рейтинг: 1.16%
- Genplane
- Сообщения: 32
- Зарегистрирован: Чт авг 18, 2016 11:43 am
- Откуда: Калининград
- Благодарил (а): 37 раз
- Поблагодарили: 1 раз
Re: Модуль "MegaD"
Установил-включил-просканировал. Нашлась моя Мега, но хотя на ней модуль с 14 входами, отображается только первые пять (0-4IN) и 16 вход с температурой интерфейсного модуля. Где спрятались 9 дискретных и два PWM?
Windows 7, MiniPC, MegaD, Arduino
- Genplane
- Сообщения: 32
- Зарегистрирован: Чт авг 18, 2016 11:43 am
- Откуда: Калининград
- Благодарил (а): 37 раз
- Поблагодарили: 1 раз
Re: Модуль "MegaD"
Потренировался. Считывал конфигурацию, проверял настройки Меги напрямую, удалял её и ставил. Не помогло. Помогла перезагрузка MJD.
Windows 7, MiniPC, MegaD, Arduino
-
- Сообщения: 1465
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 262 раза
- Поблагодарили: 455 раз
Re: Модуль "MegaD"
А можно ли как-то передать в скрипт, который запускается после срабатывания входа по методу statusChanged, сведения о сработавшем порте. Ну чтобы можно было в скрипте использовать конструкции вида
Ясно, что сам модуль MegaD знает, какой именно вход сработал. Вот как это "знание" передать в скрипт?
Дело в том что один и тот же скрипт будет выполнять разные действия в зависимости от того, какой именно вход сработал.
Код: Выделить всё
if ( $_GET['pt'] == "6" )
{
//Выполнить действие
}
Дело в том что один и тот же скрипт будет выполнять разные действия в зависимости от того, какой именно вход сработал.
- Kod.Begemot
- Сообщения: 358
- Зарегистрирован: Чт июн 20, 2013 5:53 pm
- Благодарил (а): 32 раза
- Поблагодарили: 42 раза
Re: Модуль "MegaD"
Подозреваю, в этом случае проще использовать не модуль, а к примеру класс Bagir-a. Там как раз метод "Incoming Message"...
-
- Сообщения: 1465
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 262 раза
- Поблагодарили: 455 раз
Re: Модуль "MegaD"
Kod.Begemot, спасибо за ответ. Не хотелось бы плодить "лишние сущности". В случае с модулем подкупает именно простота интеграции. Может быть придется использовать какой-нибудь "костыль" в виде промежуточного скрипта, устанавливающего значение свойства в SetGlobal в соответствии с тем, какой именно порт сработал, и запускающего основной скрипт. А уже основной скипт получит значение этого свойства по GetGlobal и выполнит необходимые действия.
Для каждого входа Меги промежуточный скрипт будет, разумеется, свой.
Что-то я "ступил". Все прекрасно работает безо всяких "костылей". Да здравствует Мажордомо!
Для каждого входа Меги промежуточный скрипт будет, разумеется, свой.
Что-то я "ступил". Все прекрасно работает безо всяких "костылей". Да здравствует Мажордомо!
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Модуль "MegaD"
Методу передаётся номер порта и его можно использовать у себя в коде как $params['port']Chainik писал(а):А можно ли как-то передать в скрипт, который запускается после срабатывания входа по методу statusChanged, сведения о сработавшем порте. Ну чтобы можно было в скрипте использовать конструкции видаЯсно, что сам модуль MegaD знает, какой именно вход сработал. Вот как это "знание" передать в скрипт?Код: Выделить всё
if ( $_GET['pt'] == "6" ) { //Выполнить действие }
Дело в том что один и тот же скрипт будет выполнять разные действия в зависимости от того, какой именно вход сработал.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 1465
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 262 раза
- Поблагодарили: 455 раз
Re: Модуль "MegaD"
Спасибо, Сергей, разобрался. Все отлично работает.
Для тех, кому интересно поясню. Если в модуле MegaD к двум разным входам привязана одна и та же кнопка (keySensors) и указано, что нужно запускать при срабатывании метод, например, statusChanged, то в методе можно написать запуск сценария, в котором будет прописано, какие действия нужно выполнять в зависимости от того, какой именно вход меги сработал
Для тех, кому интересно поясню. Если в модуле MegaD к двум разным входам привязана одна и та же кнопка (keySensors) и указано, что нужно запускать при срабатывании метод, например, statusChanged, то в методе можно написать запуск сценария, в котором будет прописано, какие действия нужно выполнять в зависимости от того, какой именно вход меги сработал
Код: Выделить всё
if ( $_GET['pt'] == "0" )
{
// Выполнить одно действие
}
if ( $_GET['pt'] == "4" )
{
// Выполнить другое действие
}