Всем добрый вечер.. Помогите с реализацией скрипта. Допустим есть объект Relay(уличный свет) нужно чтоб при появление в сети телефона включился на 15 минут.. реализация скрипта не очень сложное ,Но есть подводные камни как реализовать чтоб свет включаться один раз при появлении в сети . Допустим я в вечернее время возвращаюсь с работы..телефон поймал сеть и включил освещение, но так как мой телефон постоянно будет в онлайне освещение будет гореть постоянно хоть и стоит таймер на 15 минут
Как реализовать алгоритм чтоб свет например зажигался после того как мой телефон находился какое то время в офлане т.е. я отсутствовал дома
уличное освещение
Модератор: immortal
-
- Сообщения: 1462
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: уличное освещение
Можно попробовать так:
Разумеется, в объект.свойствах 'ThisComputer.SunRiseTime' и 'ThisComputer.SunSetTime' должно содержаться правильно рассчитанное время восхода и заката солнца.
Код: Выделить всё
//Если имеет место не первое обнаружение за последние 45 минут, то ничего не делаем (со светом)
if (timeOutExists('myTimer_prishol_domoy') !== 0)
return "";
setTimeOut('myTimer_prishol_domoy','say("prishol_domoy");',60*45);
//Если темно
if (timeBetween('ThisComputer.SunSetTime', 'ThisComputer.SunRiseTime')) {
//Включаем свет на улице
cm('Relay.turnOn');
//Выключаем свет через 15 минут
setTimeOut('myTimer_Outdoor_Light_Off','cm("Relay.turnOff");',60*15);
}
- Рейтинг: 1.16%