СпойлерПоказать
Код: Выделить всё
//запишем время срабатывания датчика в формате «HH:MM»
setGlobal('XiMotion01.updatedTimeHHMM', gg('ThisComputer.timeNow'));
// Открыли дверь, включаем свет на 10 секунд.
if (gg('Дверь_в_туалет.status') == 0)
{
sg('XiRelay02.status', 1);
SetTimeOut('lightOffTimerAuto', 'sg("XiRelay02.status", 0);', 10);
}
// Дверь открыта и было движение, включаем свет на 3 минуты.
elseif (gg('Дверь_в_туалет.status') == 0 && gg('XiMotion01.status') == 1)
{
sg('XiRelay02.status', 1);
clearTimeOut("lightOffTimerAuto");
SetTimeOut('lightOffTimerAuto', 'sg("XiRelay02.status", 0);', 60*3);
}
// Дверь закрыта и было движение, включаем свет на 15 минут.
elseif (gg('Дверь_в_туалет.status') == 1 && gg('XiMotion01.status') == 1)
{
sg('XiRelay02.status', 1);
clearTimeOut("lightOffTimerAuto");
SetTimeOut('lightOffTimerAuto', 'sg("XiRelay02.status", 0);', 60*15);
}
// Дверь закрыта и нет движения, выключаем свет через 7 сек.
elseif (gg('Дверь_в_туалет.status') == 1 && gg('XiMotion01.status') == 0)
{
clearTimeOut("lightOffTimerAuto");
SetTimeOut('lightOffTimerAuto', 'sg("XiRelay02.status", 0);', 7);
}else {
clearTimeOut("lightOffTimerAuto");
if (gg('XiRelay02.status ')==1) {
//запустим таймер (15 мин), по истечении которого свет будет выключен
clearTimeOut("lightOffTimer");
SetTimeOut("lightOffTimer","callMethod('XiRelay02.turnOff');
sg('XiMotion01.Mode',1);",60*15);
}
}