Chainik писал(а):xor писал(а): ↑Вт апр 09, 2019 1:33 pm
Она прекращается после сработки
Я поглядываю на часы, когда жду наступления какого-нибудь события, после наступления его - перестаю. Некоторые делают по-другому. Это их путь)
Прошу прощения за занудство, можно все же выложить фрагмент кода (кодом).
Скажу сейчас немыслимую для многих вещь: у меня нет телеграмма и даже смартфона.
Вот мой, вызываю при рестарте и в полночь (onNewDay) - свои координаты и несколько свойств подправить:
$lat=55.4734; // широта
$long= 37.7848; // долгота
$sun_info = date_sun_info(time(), $lat, $long);
ClearScheduledJob("job_SunSet");
ClearScheduledJob("job_civil_twilight_begin");
ClearScheduledJob("job_civil_twilight_end");
foreach ($sun_info as $key => $val) {
if ($key == 'sunrise') {
$sunrise = $val;
//echo 'Восход: '.date("H:i", $sunrise).'<br>';
setGlobal('weather_my.SunRise',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('weather_my.SunSet',date("H:i", $sunset));
setGlobal('weather_my.LongTag',gmdate("H:i", $day_length));
AddScheduledJob("job_SunSet","cm('DarknessMode.activate');say('Закат',2);", $sunset);
}
if ($key == 'transit') {
//echo 'В зените: '.date("H:i", $val).'<br>';
setGlobal('weather_my.Transit',date("H:i", $val));
}
if ($key == 'civil_twilight_begin') {
//echo 'Начало утренних сумерек: '.date("H:i", $val).'<br>';
setGlobal('weather_my.civil_begin',date("H:i", $val));
AddScheduledJob("job_civil_twilight_begin","cm('DarknessMode.deactivate');", $val);
}
if ($key == 'civil_twilight_end') {
//echo 'Конец вечерних сумерек: '.date("H:i", $val).'<br>';
setGlobal('weather_my.civil_end',date("H:i", $val));
AddScheduledJob("job_civil_twilight_end","say('Сумерки!',2);", $val);
}
}
if (timeBetween(getGlobal('weather_my.civil_begin'),getGlobal('weather_my.SunSet')) && getGlobal('DarknessMode.active')==1) {
callMethod('DarknessMode.deactivate');
} elseif (!timeBetween(getGlobal('weather_my.civil_begin'),getGlobal('weather_my.SunSet')) && getGlobal('DarknessMode.active')!=1) {
callMethod('DarknessMode.activate');
}
Отправлено с моего Redmi 4X через Tapatalk