Включение света по датчику движения

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

mmalva
Сообщения: 18
Зарегистрирован: Вт фев 24, 2015 1:04 am
Благодарил (а): 0
Поблагодарили: 2 раза

Re: Включение света по датчику движения

Сообщение mmalva » Вт фев 24, 2015 1:30 am

Включение работает моментально если датчик движения сам вызывает метод запросом GET.
"Можно установить метод, который будет запускаться при изменении свойства (через настройку свойства класса). " Нужно!!!
Это позволяет избежать задержек.
Более того отнеситесь к датчику более детально.
Сразу в классе датчика создайте свойства "вкл\выкл", длительность задержки повторного срабатывания, время последнего срабатывания, время последнего опроса(делайте датчик сразу с обратной связью).

а задержку датчика устанавливаем так.

Class: inhouseMovementSensors M statusOFF

if ($this->getProperty('on') == 1) {
if ($this->getProperty('status') == 1) {
if (getGlobal('ThisComputer'.'.'.'cycle_pingRun') > $this->getProperty('updatedTimestamp') + $this->getProperty('aliveTimeOut')) {
$this->setProperty('status', '0');
$this->callMethod('statusChanged', array('status'=>'0'));
}
}
}
rtroyakov
Сообщения: 109
Зарегистрирован: Сб июл 11, 2015 2:54 am
Откуда: Московская обл,город Ногинск
Благодарил (а): 27 раз
Поблагодарили: 6 раз

Re: Включение света по датчику движения

Сообщение rtroyakov » Пн мар 14, 2016 1:45 am

Всем привет.Разъясните,пожалуйста:вот в статье "включения света по датчику движения",в пошаговом описании есть такое:
if(timeBetween('22:00','06:30'))
{
// проверка времени
sg("ReleKabinet.status","1");
sg('ReleKabinet.statusText','Включено');
clearTimeOut("kabinetLight");
SetTimeOut("kabinetLight",'sg("ReleKabinet.status","0");
sg("ReleKabinet.statusText","Выключено");',10*60);
}
Откуда появляется таймер kabinetlight и где его нужно создать,что в нём записать,как заполнить? Я во "встроенных функциях/запланированные задачи и события" так и не понял кто для кого и что чистит.... Надеюсь на скорый ответ.Спасибо
Jager
Сообщения: 708
Зарегистрирован: Сб авг 18, 2012 10:21 am
Благодарил (а): 26 раз
Поблагодарили: 183 раза

Re: Включение света по датчику движения

Сообщение Jager » Пн мар 14, 2016 9:09 pm

rtroyakov писал(а):Откуда появляется таймер kabinetlight и где его нужно создать,что в нём записать,как заполнить? Я во "встроенных функциях/запланированные задачи и события" так и не понял кто для кого и что чистит.... Надеюсь на скорый ответ.Спасибо
У меня вот так включается свет по датчику

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

callMethod('Megad1-11.turnOn'); //Включается свет
SetTimeOut("lightOffTimer","callMethod('Megad1-11.turnOff');",60);
 //Создается таймер с именем lightOffTimer (имя произвольное) который через 60 сек запускает метод Megad1-11.turnOff который соответственно свет выключает.
rtroyakov
Сообщения: 109
Зарегистрирован: Сб июл 11, 2015 2:54 am
Откуда: Московская обл,город Ногинск
Благодарил (а): 27 раз
Поблагодарили: 6 раз

Re: Включение света по датчику движения

Сообщение rtroyakov » Пн мар 14, 2016 9:52 pm

Jager,привет,пока ты здесь,поясни,пожалуйста:
1)Твой весь этот код прописан ГДЕ?(я полагаю, в методе ДАТЧИКА?)
2) Допустим,с таким же именем lightOffTimer создаю таймер ГДЕ?(В классе Timer?)
3)В методе lightOffTimer я уже пишу код на "выключение" предыдущего "включения" свыше?
Jager
Сообщения: 708
Зарегистрирован: Сб авг 18, 2012 10:21 am
Благодарил (а): 26 раз
Поблагодарили: 183 раза

Re: Включение света по датчику движения

Сообщение Jager » Пн мар 14, 2016 10:15 pm

rtroyakov писал(а):Jager,привет,пока ты здесь,поясни,пожалуйста:
1)Твой весь этот код прописан ГДЕ?(я полагаю, в методе ДАТЧИКА?)
Да
2) Допустим,с таким же именем lightOffTimer создаю таймер ГДЕ?(В классе Timer?)
Командой SetTimeOut таймер создается сам, ничего нигде прописывать не надо.
3)В методе lightOffTimer я уже пишу код на "выключение" предыдущего "включения" свыше?
Не в методе, а в строке создающей таймер пишите нужное действие по истечении времени, через запятую указываете время срабатывания таймера.
В общем в метод который срабатывает по датчику пишите указанные выше две строки.
В первой вызываете метод на включение callMethod('Megad1-11.turnOn');
Во второй когда создаете таймер указываете метод на выключение
SetTimeOut("lightOffTimer","callMethod('Megad1-11.turnOff');",60);

И все.
За это сообщение автора Jager поблагодарили (всего 2):
rtroyakov (Вт мар 15, 2016 4:27 pm) • triada13 (Вт мар 15, 2016 6:00 pm)
Рейтинг: 2.33%
rtroyakov
Сообщения: 109
Зарегистрирован: Сб июл 11, 2015 2:54 am
Откуда: Московская обл,город Ногинск
Благодарил (а): 27 раз
Поблагодарили: 6 раз

Re: Включение света по датчику движения

Сообщение rtroyakov » Вт мар 15, 2016 4:29 pm

Спасибо ,Jager!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Jager
Сообщения: 708
Зарегистрирован: Сб авг 18, 2012 10:21 am
Благодарил (а): 26 раз
Поблагодарили: 183 раза

Re: Включение света по датчику движения

Сообщение Jager » Вт мар 15, 2016 7:04 pm

rtroyakov писал(а):Спасибо ,Jager!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Вот так можете посмотреть свои запущенные таймеры в реальном времени
Изображение
ILGAS
Сообщения: 366
Зарегистрирован: Пт июл 26, 2013 4:11 pm
Благодарил (а): 71 раз
Поблагодарили: 18 раз

Re: Включение света по датчику движения

Сообщение ILGAS » Ср мар 16, 2016 4:00 pm

Всем привет.
Нашел маленький недостаток в коде взятый у Сергея в connect.

В коридоре и на кухне датчик работает отлично (коридор проходной, а кухня большая, там датчик периодически щелкает когда попадаю в зону действия), но во второй прихожей (она маленькая) свет выключается через, установленное в таймере, время, пока нахожусь в прихожей.
Как я понял, датчик движения постоянно находится в замкнутом состоянии (постоянно он меня видит и не отключается) , я не успеваю одеться за данный период времени, конечно можно выставить и 15-20 мин, но тогда, если я просто зашел и вышел, свет будет гореть все это время.
Похоже нужно сделать еще один таймер, который через определенный период будет добавлять время к таймеру (дополнительное время), чтобы он не выключался пока датчик реагирует на движение.
Но как переписать код знаний не достаточно.
Jager
Сообщения: 708
Зарегистрирован: Сб авг 18, 2012 10:21 am
Благодарил (а): 26 раз
Поблагодарили: 183 раза

Re: Включение света по датчику движения

Сообщение Jager » Ср мар 16, 2016 5:07 pm

ILGAS писал(а):Всем привет.
Нашел маленький недостаток в коде взятый у Сергея в connect.

В коридоре и на кухне датчик работает отлично (коридор проходной, а кухня большая, там датчик периодически щелкает когда попадаю в зону действия), но во второй прихожей (она маленькая) свет выключается через, установленное в таймере, время, пока нахожусь в прихожей.
Как я понял, датчик движения постоянно находится в замкнутом состоянии (постоянно он меня видит и не отключается) , я не успеваю одеться за данный период времени, конечно можно выставить и 15-20 мин, но тогда, если я просто зашел и вышел, свет будет гореть все это время.
Похоже нужно сделать еще один таймер, который через определенный период будет добавлять время к таймеру (дополнительное время), чтобы он не выключался пока датчик реагирует на движение.
Но как переписать код знаний не достаточно.
Посмотрите внимательнее на свой датчик движения, практически во всех есть регулировка времени активности. В некоторых моделях это подстроечный резистор, в некоторых джамперы.
ILGAS
Сообщения: 366
Зарегистрирован: Пт июл 26, 2013 4:11 pm
Благодарил (а): 71 раз
Поблагодарили: 18 раз

Re: Включение света по датчику движения

Сообщение ILGAS » Ср мар 16, 2016 5:18 pm

Jager писал(а):
ILGAS писал(а):Всем привет.
Нашел маленький недостаток в коде взятый у Сергея в connect.

В коридоре и на кухне датчик работает отлично (коридор проходной, а кухня большая, там датчик периодически щелкает когда попадаю в зону действия), но во второй прихожей (она маленькая) свет выключается через, установленное в таймере, время, пока нахожусь в прихожей.
Как я понял, датчик движения постоянно находится в замкнутом состоянии (постоянно он меня видит и не отключается) , я не успеваю одеться за данный период времени, конечно можно выставить и 15-20 мин, но тогда, если я просто зашел и вышел, свет будет гореть все это время.
Похоже нужно сделать еще один таймер, который через определенный период будет добавлять время к таймеру (дополнительное время), чтобы он не выключался пока датчик реагирует на движение.
Но как переписать код знаний не достаточно.
Посмотрите внимательнее на свой датчик движения, практически во всех есть регулировка времени активности. В некоторых моделях это подстроечный резистор, в некоторых джамперы.
У меня тык обычные датчики движения, там нету регулировки.
Ответить