Восход и заход солнца, web переменные

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Denis_k
Сообщения: 587
Зарегистрирован: Сб мар 19, 2016 7:24 pm

Re: Восход и заход солнца, web переменные

Сообщение Denis_k »

Alexsan писал(а):как сделать по времени вкл и выкл я разобрался... вот не могу разобраться как по восходу солнца это осуществить, я так предпололаю что так же как и режим ночь,вечер?
в методе "onNewMinute" объекта "ClockChime" добавить строки (в моем случае приложение "Погода от OpenWeatherMap.org" установлено и данные восход/закат берутся оттуда, в веб переменных всё удалил):

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

sg('ThisComputer.SunRiseTime', date('H:i',gg('ow_fact.sunrise')));
sg('ThisComputer.SunSetTime', date('H:i',gg('ow_fact.sunset')));

if (timeBetween(gg('SunSetTime'),gg('SunRiseTime'))) {
if(gg('Гирлянда.status')==0) {
 cm('Гирлянда.TurnOn');
 say ("Включаю гирлянду");
}
} else {
 if(gg('Гирлянда.status')==1) {
  cm('Гирлянда.TurnOff');
 say ("Выключаю гирлянду");
}
} 
MD на raspberry pi3
Аватара пользователя
dioxin
Сообщения: 175
Зарегистрирован: Вт фев 14, 2017 4:43 pm
Откуда: Иваново

Re: Восход и заход солнца, web переменные

Сообщение dioxin »

А я сделал все проще:

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

$sunrise = date_sunrise(time(), SUNFUNCS_RET_STRING, 57.000000, 41.000000, 90+50/60, 3);
$sunset = date_sunset(time(), SUNFUNCS_RET_STRING, 57.000000, 41.000000, 90+50/60, 3);
setGlobal  ('ThisComputer.SunSetTime',$sunset);
setGlobal  ('ThisComputer.SunRiseTime',$sunrise);
 
Алиска прописана на Debian 11 | Мой канал на youtube по MajorDomo
Akorolev
Сообщения: 119
Зарегистрирован: Вт ноя 08, 2016 4:27 pm

Re: Восход и заход солнца, web переменные

Сообщение Akorolev »

dioxin писал(а):А я сделал все проще:

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

$sunrise = date_sunrise(time(), SUNFUNCS_RET_STRING, 57.000000, 41.000000, 90+50/60, 3);
$sunset = date_sunset(time(), SUNFUNCS_RET_STRING, 57.000000, 41.000000, 90+50/60, 3);
setGlobal  ('ThisComputer.SunSetTime',$sunset);
setGlobal  ('ThisComputer.SunRiseTime',$sunrise);
Таймзоны:

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

$sunrise = date_sunrise(time(), SUNFUNCS_RET_STRING, 57.000000, 41.000000, 90+50/60, 3);
$sunset = date_sunset(time(), SUNFUNCS_RET_STRING, 57.000000, 41.000000, 90+50/60, 3); 
вот как раз последняя тройка это и есть таймзона, меняете ее на свою и будет время высчитывать!
Logrus
Сообщения: 2113
Зарегистрирован: Пт апр 07, 2017 12:20 pm

Re: Восход и заход солнца, web переменные

Сообщение Logrus »

Denis_k писал(а):в методе "onNewMinute" объекта "ClockChime" добавить строки (в моем случае приложение "Погода от OpenWeatherMap.org" установлено и данные восход/закат берутся оттуда, в веб переменных всё удалил)
а зачем в минутах, а не часах и реже (разве нужна лишняя нагрузка?)

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

sg('ThisComputer.SunRiseTime', date('H:i',gg('ow_fact.sunrise')));
sg('ThisComputer.SunSetTime', date('H:i',gg('ow_fact.sunset'))); 
и остальные значения, как-то продолжительность дня и пр. наверное также, честно читал все, а как правильно так и не понял.
собственно вопрос?
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин

Re: Восход и заход солнца, web переменные

Сообщение tarasfrompir »

у меня так -
SPOILERSPOILER_SHOW
$sunRise = gg('ow_fact.sunrise');
$sunSet = gg('ow_fact.sunset');
$sunRiseData = date(('H:i'),$sunRise);
$sunSetData = date(('H:i'),$sunSet);
sg('ThisComputer.SunRiseTime', $sunRiseData);
sg('ThisComputer.SunSetTime', $sunSetData);
да и запускаю этот сценарий раз в 2-20 ночи.
А погода она сама ежечасно обновляется
Спасибо нам ПОМОЖЕТ..!
Denis_k
Сообщения: 587
Зарегистрирован: Сб мар 19, 2016 7:24 pm

Re: Восход и заход солнца, web переменные

Сообщение Denis_k »

Logrus писал(а): а зачем в минутах, а не часах и реже (разве нужна лишняя нагрузка?)
хороший вопрос ;)
MD на raspberry pi3
Logrus
Сообщения: 2113
Зарегистрирован: Пт апр 07, 2017 12:20 pm

Re: Восход и заход солнца, web переменные

Сообщение Logrus »

;) да, ладно, просто разбирался, кучу примеров перечитал, спросить то совсем о другом хотел, и пост этот так отредактировал, ну бывает
в примерах видел как расчет скриптом восхода, захода вызывают в минутах
у вас с погоды устанавливается значения, каждую минуту
еще и ранее с вэб переменных
вот у меня все и в кучу
хоть и настроил со скрипта каждые 4 часа, далее в режимах работы, но вопрос про как правильно интересен
зы. чукча не писатель :)
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Denis_k
Сообщения: 587
Зарегистрирован: Сб мар 19, 2016 7:24 pm

Re: Восход и заход солнца, web переменные

Сообщение Denis_k »

Logrus писал(а): у вас с погоды устанавливается значения, каждую минуту
еще и ранее с вэб переменных
перенес эту часть в onNewHour

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

sg('ThisComputer.SunRiseTime', date('H:i',gg('ow_fact.sunrise')));
sg('ThisComputer.SunSetTime', date('H:i',gg('ow_fact.sunset'))); 
ну а проверку условия оставил в onNewMinute
веб переменные не использую
MD на raspberry pi3
Аватара пользователя
dioxin
Сообщения: 175
Зарегистрирован: Вт фев 14, 2017 4:43 pm
Откуда: Иваново

Re: Восход и заход солнца, web переменные

Сообщение dioxin »

А что, кроном никто не пользуется?
Он намного гибче. Можно модулем, можно системным кроном.
Алиска прописана на Debian 11 | Мой канал на youtube по MajorDomo
Logrus
Сообщения: 2113
Зарегистрирован: Пт апр 07, 2017 12:20 pm

Re: Восход и заход солнца, web переменные

Сообщение Logrus »

хм, я до него еще не дошел, в банальных вещах затык
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Ответить