Код: Выделить всё
if (date("H:i",time()+30*60)==getGlobal('SunRiseTime')) {
setGlobal("isDark",0);
}
if (date("H:i",time()-30*60)==getGlobal('SunSetTime')) {
setGlobal("isDark",1);
Модератор: immortal
Код: Выделить всё
if (date("H:i",time()+30*60)==getGlobal('SunRiseTime')) {
setGlobal("isDark",0);
}
if (date("H:i",time()-30*60)==getGlobal('SunSetTime')) {
setGlobal("isDark",1);
У меня вот так корявенько, но работаетAleks130699 писал(а):но почему то он у меня не срабатывает, я в программировании пока не сильно понимаю, могу только переделать код под себя, и так еще немного.Подскажите что не так в коде.
Код: Выделить всё
if (timeIs(getGlobal('yw_day0.sunset'))) { // проверка что сейчас закат
SetTimeOut("lightOnTimer","callMethod('Megad3-8.turnOn');",1500); // устанавливаем таймер
Даflair писал(а):В какое место его прописать? В онМинут?
Вместо callMethod вписывайте свой getUrl между кавычками.И этод метод как его применить к ардуине? Она у меня включает по гет запросу... (простите я нуб)))
Может быть идея не плохая, но он не сработает если сервер глюканет в это время, да и на какое- то время раньше не сделаешь.Jager писал(а): У меня вот так корявенько, но работает
if (timeIs(getGlobal('yw_day0.sunset'))) {
SetTimeOut("lightOnTimer","callMethod('Megad3-8.turnOn');",1500);
Включается уличное освещение через 25 минут после заката.
Код: Выделить всё
$lat=gg('Coordinates.latitude'); // широта 55.553964
$long=gg('Coordinates.longitude'); // долгота 39.744074
$sun_info = date_sun_info(time(), $lat, $long);
foreach ($sun_info as $key => $val) {
if ($key == 'sunrise') {
$sunrise = $val;
echo 'Восход: '.date("H:i", $sunrise).'<br>';
setGlobal('Sun.SunRiseTime',date("H:i", $sunrise));
}
if ($key == 'sunset') {
$sunset = $val;
$day_length = $sunset - $sunrise;
echo 'Заход: '.date("H:i", $sunset).'<br>';
echo 'Долгота дня: '.gmdate("H:i", $day_length).'<br>';
setGlobal('Sun.SunSetTime',date("H:i", $sunset));
setGlobal('Sun.LongTag',gmdate("H:i", $day_length));
}
if ($key == 'transit') {
echo 'В зените: '.date("H:i", $val).'<br>';
setGlobal('Sun.Transit',date("H:i", $val));
}
if ($key == 'civil_twilight_begin') {
echo 'Начало утренних сумерек: '.date("H:i", $val).'<br>';
setGlobal('Sun.civil_begin',date("H:i:s", $val));
}
if ($key == 'civil_twilight_end') {
echo 'Конец вечерних сумерек: '.date("H:i", $val).'<br>';
setGlobal('Sun.civil_end',date("H:i", $val));
}
}
Код: Выделить всё
//попадаю сюда при наступлении заката
//задержка вкл уличного света после заката от 18 с (100% облачность) до 30 мин (облачность 0%)
Settimeout('StreetLightOn',"cm('nl1.turnon');",(101-gg('ow_fact.clouds'))*18);
Код: Выделить всё
list($tmph, $tmpm) = explode(":", gg("ThisComputer.SunSetTime"));
if (($tmpm == 00) || ($tmpm < gg("swHall.before_Dark"))) { //swHall.before_Dark - это свойство выключателя и задается слайдером в настройках (0-50 минут)
$tmph = $tmph-1;
$tmpm = $tmpm+60-gg("swHall.before_Dark");
} else { $tmpm = $tmpm-gg("swHall.before_Dark");}
if ($tmpm < 10) {sg("ThisComputer.DarkneesTime",$tmph.":0".$tmpm);}
else {sg("ThisComputer.DarkneesTime",$tmph.":".$tmpm);}
Код: Выделить всё
if (timeBetween(getGlobal('SunRiseTime'),getGlobal('DarkneesTime')) && getGlobal('isDark')=="1") {
setGlobal("isDark",0);
callMethod('DarknessMode.deactivate');
say('Всходит солнце');
} elseif (!timeBetween(getGlobal('SunRiseTime'),getGlobal('DarkneesTime')) && getGlobal('isDark')!="1") {
setGlobal("isDark",1);
callMethod('DarknessMode.activate');
say('Солнце заходит');
}