Страница 2 из 2

Re: Задержка срабатывания метода от времени восхода и заката

Добавлено: Ср ноя 02, 2016 10:03 am
Xseon
Не претендую на правильность решения но вот код:

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

list($tmph, $tmpm) = explode(":", gg("ThisComputer.SunSetTime"));
if (($tmpm == 00) || ($tmpm < gg("swHall.before_Dark"))) {  // before_Dark - это слайдер, который задаем время срабатывания до...
 $tmph = $tmph-1;
 $tmpm = $tmpm+60-gg("swHall.before_Dark");
} else { $tmpm = $tmpm-gg("swHall.before_Dark");}
if (($tmpm - gg("swHall.before_Dark")) < 10) {sg("ThisComputer.DarkneesTime",$tmph.":0".$tmpm);} 
else {sg("ThisComputer.DarkneesTime",$tmph.":".$tmpm);}
Далее в onMinute стандартный метод проверки изменен на:

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

if (timeBetween(getGlobal('SunRiseTime'),getGlobal('DarkneesTime')) && getGlobal('isDark')=="1") {
  setGlobal("isDark",0);
  callMethod('DarknessMode.deactivate'); 
 } elseif (!timeBetween(getGlobal('SunRiseTime'),getGlobal('DarkneesTime')) && getGlobal('isDark')!="1") {
  setGlobal("isDark",1);
  callMethod('DarknessMode.activate');  
 }
*** Сообщение запрещено. Сообщение похоже на спам. ***

Re: Задержка срабатывания метода от времени восхода и заката

Добавлено: Пн мар 02, 2020 5:04 pm
Nail
zelevova писал(а): Вт янв 26, 2016 5:24 pm Писать его туда же где твой код написан.

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

if (timeIs(getGlobal('yw_day0.sunset'))) { // проверка что сейчас закат
SetTimeOut("lightOnTimer","callMethod('Megad3-8.turnOn');",1500); // устанавливаем таймер  
Собственно таймер ставиться на 25 минут = 1500/60
По таймеру вызывается "callMethod('Megad3-8.turnOn');", можно вызвать runScript() или еще чего. Это просто вариант отложить выполнение на некоторое время.
А как написать код callMethod до заката за 30 минут? (т.е. заранее)

Re: Задержка срабатывания метода от времени восхода и заката

Добавлено: Пн мар 02, 2020 5:31 pm
Chainik
Nail писал(а): Пн мар 02, 2020 5:04 pm ...
А как написать код callMethod до заката за 30 минут? (т.е. заранее)
Можно попробовать так:

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

 if (timeIs(date("H:i",date_sun_info(time(), 50.335084, 30.724813)['sunset']-60*30))) {
//Действия
}