Автоматизация в ванной и в туалете

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

utax
Сообщения: 118
Зарегистрирован: Пт май 31, 2019 8:24 am
Благодарил (а): 28 раз
Поблагодарили: 3 раза

Re: Автоматизация в ванной и в туалете

Сообщение utax » Пн фев 13, 2023 10:06 am

Здравствуйте. Подскажите пожалуйста где ошибка вроде все отрабатывает но вот это // Дверь закрыта и нет движения, выключаем свет через 7 сек. не работает. Спасибо.

СпойлерПоказать

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

//запишем время срабатывания датчика в формате «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);
}
}
Ответить