[Модуль] MegaD (megad)
Модератор: immortal
-
- Сообщения: 50
- Зарегистрирован: Пт окт 03, 2014 9:04 am
- Благодарил (а): 2 раза
- Поблагодарили: 14 раз
Re: Модуль "MegaD"
И по феншую, если вы используете модуль "простые устройства", этот код должен быть не в statusUpdated, а в logicAction. Что соответствует вкладке "Действия" модуля.
-
- Сообщения: 154
- Зарегистрирован: Чт апр 20, 2017 5:32 am
- Откуда: Томск
- Благодарил (а): 55 раз
- Поблагодарили: 22 раза
Re: Модуль "MegaD"
Нет, модулем не пользуюсьerandess писал(а):И по феншую, если вы используете модуль "простые устройства", этот код должен быть не в statusUpdated, а в logicAction. Что соответствует вкладке "Действия" модуля.
Raspberry Pi2, Pi3, MegaD2561RTC + 14 in + 14R, WemosD1, Mega2560, Arduino nano v.3, Arduino Uno, ESP8266 12f.
-
- Сообщения: 154
- Зарегистрирован: Чт апр 20, 2017 5:32 am
- Откуда: Томск
- Благодарил (а): 55 раз
- Поблагодарили: 22 раза
Re: Модуль "MegaD"
Может быть пригодится кому нибудь, работает.
Смысл в том если SecuritySwitch.status значение 0 - режим не охраны а наблюдения, соответственно включает реле, если наоборот то говорит проникновение.
вот как сделать что бы Проникновение проговорилось 1 раз...?
Смысл в том если SecuritySwitch.status значение 0 - режим не охраны а наблюдения, соответственно включает реле, если наоборот то говорит проникновение.
Код: Выделить всё
if (gg('SecuritySwitch.status') == "0") {
sg("Switch0.status","1");
sg('Switch0.statusText','Включено');
SetTimeOut("Switch0",'sg("Switch0.status","0");
sg("Switch0.statusText","Выключено");',10);
} else {
say("Проникновение",5);
}
Raspberry Pi2, Pi3, MegaD2561RTC + 14 in + 14R, WemosD1, Mega2560, Arduino nano v.3, Arduino Uno, ESP8266 12f.
-
- Сообщения: 62
- Зарегистрирован: Пн апр 06, 2015 10:57 am
- Благодарил (а): 19 раз
- Поблагодарили: 3 раза
Re: Модуль "MegaD"
Друзья, помогите со следующей проблемой.
У меня выключатели обычные, с фиксацией. На актуальной прошивке меги сейчас реализовано длительное нажатие, которое через 1,5 сек после нажатия отправляет дополнительное сообщение на сервер. Таким образом, после включения выключателя, свет гаснет через 1,5 секунды. Ну а после выключения включается )) Как победить сей трабл?
У меня выключатели обычные, с фиксацией. На актуальной прошивке меги сейчас реализовано длительное нажатие, которое через 1,5 сек после нажатия отправляет дополнительное сообщение на сервер. Таким образом, после включения выключателя, свет гаснет через 1,5 секунды. Ну а после выключения включается )) Как победить сей трабл?
-
- Сообщения: 1462
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Модуль "MegaD"
А выставление в настройках порта режима "P&R" не исправляет ситуацию?Ivan_A писал(а):У меня выключатели обычные, с фиксацией. На актуальной прошивке меги сейчас реализовано длительное нажатие, которое через 1,5 сек после нажатия отправляет дополнительное сообщение на сервер. Таким образом, после включения выключателя, свет гаснет через 1,5 секунды. Ну а после выключения включается )) Как победить сей трабл?
Ну и в настройках модуля MegaD галку в поле «Skip default action» тоже, тоже, думаю, надо поставить. Может быть из-за этого происходит двойное отрабатывание на срабатывание порта.
-
- Сообщения: 62
- Зарегистрирован: Пн апр 06, 2015 10:57 am
- Благодарил (а): 19 раз
- Поблагодарили: 3 раза
Re: Модуль "MegaD"
именно p&r стоит.
fw 3.54, type in, act 7:2, NET пустой, mode p&r, чекбоксы все пустые
fw 3.54, type in, act 7:2, NET пустой, mode p&r, чекбоксы все пустые
-
- Сообщения: 1462
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Модуль "MegaD"
В настройках модуля MegaD галку «Skip default action» проверьте. Думаю, что она должна быть установлена.
-
- Сообщения: 62
- Зарегистрирован: Пн апр 06, 2015 10:57 am
- Благодарил (а): 19 раз
- Поблагодарили: 3 раза
Re: Модуль "MegaD"
Да, стоит. Думаю, что метод вызывается каждый раз, когда сервер получает с меги сообщение. Однако в сообщениях должны быть разные значения параметра m. Так это или нет не знаю как проверить. Видимо надо как-то в методе осуществлять проверку этого параметра и управлять выходом только когда m отсутствует или равна 1.
-
- Сообщения: 1462
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Модуль "MegaD"
Вот пример работоспособной настройки
http://ab-log.ru/forum/viewtopic.php?f=1&t=1328
(ближе к концу первого сообщения топика).
В вашем случае разница будет только в том, что в настройках порта установлен режим "P&R" (т.к. выключатели обычные). По идее все должно работать.
http://ab-log.ru/forum/viewtopic.php?f=1&t=1328
(ближе к концу первого сообщения топика).
В вашем случае разница будет только в том, что в настройках порта установлен режим "P&R" (т.к. выключатели обычные). По идее все должно работать.
-
- Сообщения: 62
- Зарегистрирован: Пн апр 06, 2015 10:57 am
- Благодарил (а): 19 раз
- Поблагодарили: 3 раза
Re: Модуль "MegaD"
Спасибо, но как раз в режиме p&r и проблема.
Цитирую с ab-log.ru
Обработка длительных нажатий (важно!)
Часто возникает задача по-разному реагировать на длительность нажатия. Например, короткое нажатие включает/выключает свет в одной комнате, а нажатие и удержание (длительное нажатие) включает свет во всех комнатах. Не всегда удобно и легко делать такую обработку на сервере. Но на помощь приходит наше устройство. В том случае, если вход (в режиме P или P&R) удерживается более 1,5 секунд, на сервер отправляется второй запрос, в котором передается параметр m=2. Пример.
http://192.168.0.1/megad.php?pt=4
// спустя 1,5 секунды удержания клавиши выключателя
http://192.168.0.1/megad.php?pt=4&m=2
Это в значительной степени облегчает обработку таких событий на сервере.
Но если вам эта функция не нужна (к примеру, вы решили использовать обычные выключатели вместо кнопочных), и вы в своей системе ее не используете, то обязательно делайте проверку на наличие параметра m=2, чтобы действия не выполнялись дважды, если пользователь случайно нажал и удерживал кнопку дольше обычного.
То есть на каждое включение выключателя мега шлет 2 сообщения, и это в ней зашито, сделать ничего нельзя.
Соответственно, при стандартных настройках каждый раз при получении запроса с меги вызывается метод и инвертирует состояние выхода. А надо, чтобы инвертировал только когда параметр m отсутствует или равен 1. А как его подтянуть в метод, чтобы произвести проверку, не понимаю.
Цитирую с ab-log.ru
Обработка длительных нажатий (важно!)
Часто возникает задача по-разному реагировать на длительность нажатия. Например, короткое нажатие включает/выключает свет в одной комнате, а нажатие и удержание (длительное нажатие) включает свет во всех комнатах. Не всегда удобно и легко делать такую обработку на сервере. Но на помощь приходит наше устройство. В том случае, если вход (в режиме P или P&R) удерживается более 1,5 секунд, на сервер отправляется второй запрос, в котором передается параметр m=2. Пример.
http://192.168.0.1/megad.php?pt=4
// спустя 1,5 секунды удержания клавиши выключателя
http://192.168.0.1/megad.php?pt=4&m=2
Это в значительной степени облегчает обработку таких событий на сервере.
Но если вам эта функция не нужна (к примеру, вы решили использовать обычные выключатели вместо кнопочных), и вы в своей системе ее не используете, то обязательно делайте проверку на наличие параметра m=2, чтобы действия не выполнялись дважды, если пользователь случайно нажал и удерживал кнопку дольше обычного.
То есть на каждое включение выключателя мега шлет 2 сообщения, и это в ней зашито, сделать ничего нельзя.
Соответственно, при стандартных настройках каждый раз при получении запроса с меги вызывается метод и инвертирует состояние выхода. А надо, чтобы инвертировал только когда параметр m отсутствует или равен 1. А как его подтянуть в метод, чтобы произвести проверку, не понимаю.