Страница 5 из 6

Re: [Сценарий] Вычисляем восход и заход солнца

Добавлено: Вт апр 09, 2019 10:03 pm
xor
Logrus писал(а):
Вт апр 09, 2019 9:13 pm
[
а облака?
раз в 10-й уже спорим )))
отказался от джобов, т.к. пофиг что чуть сложнее, но ограничено - сложно динамическое смещение ввести, проверяется по сравнению с минутным намного чаще - нет в этом никакой оптимизации, да и что по сути там оптимизировать гг и сравнение условий - мизер
зато при стандартном использовании:
1. раз в сутки рассчитали и записали время восхода заката (в формате линукс тайм)
2. раз в минуту вызываем проверку

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

$last_register = $this->getProperty('updated');
if (time() - $last_register >= 19800) { //облачность и поменяться может, ну добавили еще одну проверку, убрав селекты и расчеты ниже
 $darkness = $this->getProperty('active');
 $cloudiness = getGlobal('ow_fact.clouds');
 $sunrise = getGlobal('Time.SunRiseTimestamp');
 $sunrise = date('H:i', $sunrise + 600 + (30*$cloudiness));
 $sunset = getGlobal('Time.SunSetTimestamp');
 $sunset = date('H:i', $sunset - 1200 - (30*$cloudiness));
 if ($darkness == 1 && timeBetween($sunrise, $sunset)) {
  callMethodSafe('DarknessMode.deactivate'); 
 }
 elseif ($darkness == 0 && timeBetween($sunset, $sunrise)) {
  callMethodSafe('DarknessMode.activate'); 
 }
}
та хоть с десяток таких сделайте, еще и не факт что будет хуже (это даже не копейки, а атомы от них "экономить") джобов )))
зато намного удобней и гибче
облака у меня учитываются в даркнесс.активате, у меня там уличный свет включается. Сумерки настали, даркнесс активировался, при активации запускаем вкл. уличного света с учетом облачности
при утренних сумерках даркнесс деактивируется, всё, что на улице -- гасится, если горит


ну режьте меня, не буду я заставлять свой умный дом делать дурацкую работу -- чекать рассвет после его наступления! так я устроен, извинити))

Re: [Сценарий] Вычисляем восход и заход солнца

Добавлено: Ср июл 31, 2019 9:00 pm
Chainik
Для любителей "однострочных" решений:

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

 if (timeIs(date("H:i",date_sun_info(time(), 50.335084, 30.724813)['sunrise']))) {
//Действия
}
Соответственно, для заката:

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

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

Re: [Сценарий] Вычисляем восход и заход солнца

Добавлено: Чт авг 01, 2019 1:24 am
xor
Chainik писал(а):
Ср июл 31, 2019 9:00 pm
Для любителей "однострочных" решений:

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

 if (timeIs(date("H:i",date_sun_info(time(), 50.335084, 30.724813)['sunrise']))) {
//Действия
}
Соответственно, для заката:

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

 if (timeIs(date("H:i",date_sun_info(time(), 50.335084, 30.724813)['sunset']))) {
//Действия
}
если это время пропущено по каким-то причинам (перезагрузка, включился на минуту позже, цикл упал и рестартует), то не сработает(

Re: [Сценарий] Вычисляем восход и заход солнца

Добавлено: Сб ноя 16, 2019 2:57 pm
lihodeev
Денечка добрейшего! Два дня пытаюсь найти кто меняет свойства ThisComputer.SunSetTime (17.09) и ThisComputer.SunRiseTime (8.37) .. есть скрипт который запускается в 2 часа ночи определяет время восход и время заката, тут все ок, НО проходит какое то время в пределах суток, и время становится не правильным. поиск по SunSetTime и SunRiseTime в системе не дал криминальных результатов. Какие народ имеет мысли? Да, время на сегодня правильное - 07:02 и 16:17

Re: [Сценарий] Вычисляем восход и заход солнца

Добавлено: Сб ноя 16, 2019 3:16 pm
TrDA
lihodeev писал(а):
Сб ноя 16, 2019 2:57 pm
Денечка добрейшего! Два дня пытаюсь найти кто меняет свойства ThisComputer.SunSetTime (17.09) и ThisComputer.SunRiseTime (8.37) .. есть скрипт который запускается в 2 часа ночи определяет время восход и время заката, тут все ок, НО проходит какое то время в пределах суток, и время становится не правильным. поиск по SunSetTime и SunRiseTime в системе не дал криминальных результатов. Какие народ имеет мысли? Да, время на сегодня правильное - 07:02 и 16:17
Я тоже с этим вопросом сейчас бьюсь - возможно тот кто вносит значения по погоде ?!?

Re: [Сценарий] Вычисляем восход и заход солнца

Добавлено: Сб ноя 16, 2019 4:02 pm
lihodeev
[/quote]

Я тоже с этим вопросом сейчас бьюсь - возможно тот кто вносит значения по погоде ?!?
[/quote]
уже перерыл, вроде нет, у Вас откуда погода берется? С OpenWeatherMap?

Re: [Сценарий] Вычисляем восход и заход солнца

Добавлено: Сб ноя 16, 2019 6:07 pm
TrDA
lihodeev писал(а):
Сб ноя 16, 2019 4:02 pm
Я тоже с этим вопросом сейчас бьюсь - возможно тот кто вносит значения по погоде ?!?
[/quote]
уже перерыл, вроде нет, у Вас откуда погода берется? С OpenWeatherMap?
[/quote]

Да, у меня с OpenWeather.

Re: [Сценарий] Вычисляем восход и заход солнца

Добавлено: Сб ноя 16, 2019 6:22 pm
MaxVM
А нельзя ли просто поставит погоду от Яндекса, там все есть

Отправлено с моего MI 9 через Tapatalk


Re: [Сценарий] Вычисляем восход и заход солнца

Добавлено: Сб ноя 16, 2019 6:29 pm
lihodeev
MaxVM писал(а):
Сб ноя 16, 2019 6:22 pm
А нельзя ли просто поставит погоду от Яндекса, там все есть
а чего нет в OpenWeatherMap?
проблема думаю не в погоде

Re: [Сценарий] Вычисляем восход и заход солнца

Добавлено: Сб ноя 16, 2019 7:11 pm
Logrus
веб переменные проверьте и удалите