Как выключить свет?
Модератор: immortal
- SmoKE_xDDD
- Сообщения: 816
- Зарегистрирован: Ср апр 17, 2019 5:00 pm
- Откуда: Нижний Новгород
- Благодарил (а): 110 раз
- Поблагодарили: 898 раз
Re: Как выключить свет?
Таймер который ставится на включение, если движение в течении действия таймер - чистим его и перезаводим.
-
- Сообщения: 1462
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Как выключить свет?
Я бы попробовал решить так. Заводим отдельное свойство, которое будет фиксировать первое срабатывание (OBJECT.pervoe_srabatyvanie).lihodeev писал(а): ↑Сб фев 08, 2020 1:02 pmв активах - коридор, датчик движения, реле включения света. Есть логика - проходим коридор включается свет, спустя 3 минуты после последней активности свет выключается. Эта часть работает. Хотелка - включить свет не по первому срабатыванию датчика движения (коридор ведет в другую комнату и к входной двери и датчик срабатывает в любом случае) , а спустя какое то время (если задержался в коридоре). У кого какие мысли?
А дальше прописываем логику:
Код: Выделить всё
//Проверяем, было ли уже первое срабатывание
if (gg('OBJECT.pervoe_srabatyvanie') == 1) {
//Уже было первое срабатывание и текущее срабатывание не первое
//тут ДЕЙСТВИЕ по управлению светом (код)
} else {
//Ранее срабатываний не было, тогда текущее срабатывание является первым (зафиксируем это)
sg('OBJECT.pervoe_srabatyvanie', 1);
//Устанавливаем время, через которое произойдет новый эпизод, когда очередное срабатывание надо считать первым (обнулим свойство, допустим, через 15 секунд)
SetTimeOut("MyTimer_999","sg('OBJECT.pervoe_srabatyvanie', 0);",15);
return"";
}
- Рейтинг: 1.16%
-
- Сообщения: 148
- Зарегистрирован: Ср июл 25, 2018 10:37 pm
- Благодарил (а): 43 раза
- Поблагодарили: 8 раз
Re: Как выключить свет?
Я бы попробовал решить так. Заводим отдельное свойство, которое будет фиксировать первое срабатывание (OBJECT.pervoe_srabatyvanie).
А дальше прописываем логику:
Супер! именно так и представлял себе.
Raspberry 3, AMS 16, arduinka 2560, Orange pi Zero, Broadlink RM3, Xiaomi Mi Robot Vacuum SKV4000GL
- SmoKE_xDDD
- Сообщения: 816
- Зарегистрирован: Ср апр 17, 2019 5:00 pm
- Откуда: Нижний Новгород
- Благодарил (а): 110 раз
- Поблагодарили: 898 раз
-
- Сообщения: 1462
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Как выключить свет?
А в чем нерациональная трата ресурсов? В обращениях к БД? MDM и так много раз в секунду обращается к базе... Несколько лишних обращений картины не изменят.
- xor
- Сообщения: 2039
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: Как выключить свет?
Вы же всё написали уже. При первой сработке дд запускайте таймер. Как он сработает, проверяйте снова дд Если он активен, включайте светlihodeev писал(а): ↑Сб фев 08, 2020 1:02 pmв активах - коридор, датчик движения, реле включения света. Есть логика - проходим коридор включается свет, спустя 3 минуты после последней активности свет выключается. Эта часть работает. Хотелка - включить свет не по первому срабатыванию датчика движения (коридор ведет в другую комнату и к входной двери и датчик срабатывает в любом случае) , а спустя какое то время (если задержался в коридоре). У кого какие мысли?
win10 connect https://connect.smartliving.ru/profile/303
-
- Сообщения: 148
- Зарегистрирован: Ср июл 25, 2018 10:37 pm
- Благодарил (а): 43 раза
- Поблагодарили: 8 раз
Re: Как выключить свет?
Хм.. идея так и остается - супер, делаю скрипт с Вашим кодом, запускаю ииии... не включился свет(но свойство объекта поменялось на 1) в течении 15 сек запускаю еще раз, включился.. как бы все ок, НО когда прописываю код в мотиондетектед датчика - при первом же срабатывании датчика включается свет. Не может ли датчик два раза менять свое состояние к ряду? В качестве бреда - может дребезг контактов??
ЗЫ датчик движения HC-SR501
Raspberry 3, AMS 16, arduinka 2560, Orange pi Zero, Broadlink RM3, Xiaomi Mi Robot Vacuum SKV4000GL
-
- Сообщения: 148
- Зарегистрирован: Ср июл 25, 2018 10:37 pm
- Благодарил (а): 43 раза
- Поблагодарили: 8 раз
Re: Как выключить свет?
так свет надо включить если датчик сработал больше одного раза за период (пусть 15 секунд). Потому что я могу просто пройти в комнату мимо ДД и не задержаться в коридоре(не выхожу из дома), а вот если я нахожусь под ним(начал обуваться) только в этом случае мне нужен свет (надо только второе срабатывание и больше подряд )
Raspberry 3, AMS 16, arduinka 2560, Orange pi Zero, Broadlink RM3, Xiaomi Mi Robot Vacuum SKV4000GL
- xor
- Сообщения: 2039
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: Как выключить свет?
ну при первом же срабатывании запускайте таймер 15 с, а при сработке дд проверяйте его наличие. если такой таймер есть, значит, уже не первое срабатывание и можно вкл свет. как движа не будет более 15 с, можно выключать и система снова будет ждать второго срабатывания ддlihodeev писал(а): ↑Сб фев 08, 2020 6:15 pmтак свет надо включить если датчик сработал больше одного раза за период (пусть 15 секунд). Потому что я могу просто пройти в комнату мимо ДД и не задержаться в коридоре(не выхожу из дома), а вот если я нахожусь под ним(начал обуваться) только в этом случае мне нужен свет (надо только второе срабатывание и больше подряд )
win10 connect https://connect.smartliving.ru/profile/303
-
- Сообщения: 148
- Зарегистрирован: Ср июл 25, 2018 10:37 pm
- Благодарил (а): 43 раза
- Поблагодарили: 8 раз
Re: Как выключить свет?
прикольно - из истории статусаlihodeev писал(а): ↑Сб фев 08, 2020 5:54 pm
Хм.. идея так и остается - супер, делаю скрипт с Вашим кодом, запускаю ииии... не включился свет(но свойство объекта поменялось на 1) в течении 15 сек запускаю еще раз, включился.. как бы все ок, НО когда прописываю код в мотиондетектед датчика - при первом же срабатывании датчика включается свет. Не может ли датчик два раза менять свое состояние к ряду? В качестве бреда - может дребезг контактов??
ЗЫ датчик движения HC-SR501
2020-02-08 17:34:39 0 /objects/?job=8348922
2020-02-08 17:34:32 1 /objects/?object=pirPRH&op=m&m=update&v=0
2020-02-08 17:34:31 0 /objects/?job=8348910
2020-02-08 17:34:29 1 /objects/?object=pirPRH&op=m&m=update&v=1
откуда может браться?
Raspberry 3, AMS 16, arduinka 2560, Orange pi Zero, Broadlink RM3, Xiaomi Mi Robot Vacuum SKV4000GL