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

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

Модератор: immortal

Denis_k
Сообщения: 587
Зарегистрирован: Сб мар 19, 2016 7:24 pm
Благодарил (а): 299 раз
Поблагодарили: 27 раз

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

Сообщение Denis_k » Сб май 27, 2017 10:38 pm

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
Откуда: Иваново
Благодарил (а): 15 раз
Поблагодарили: 45 раз

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

Сообщение dioxin » Вс май 28, 2017 4:36 pm

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

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

$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 8 | Мой канал на youtube по MajorDomo
Akorolev
Сообщения: 119
Зарегистрирован: Вт ноя 08, 2016 4:27 pm
Благодарил (а): 11 раз
Поблагодарили: 10 раз

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

Сообщение Akorolev » Вт июл 25, 2017 11:33 am

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
Сообщения: 1783
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 296 раз
Поблагодарили: 370 раз

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

Сообщение Logrus » Чт авг 03, 2017 9:17 pm

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
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
tarasfrompir
Сообщения: 3133
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 212 раз
Поблагодарили: 784 раза

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

Сообщение tarasfrompir » Чт авг 03, 2017 9:49 pm

у меня так -
СпойлерПоказать
$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 ночи.
А погода она сама ежечасно обновляется
За это сообщение автора tarasfrompir поблагодарил:
Zubkov (Пт авг 04, 2017 5:32 pm)
Рейтинг: 1.18%
Спасибо нам ПОМОЖЕТ..!
Denis_k
Сообщения: 587
Зарегистрирован: Сб мар 19, 2016 7:24 pm
Благодарил (а): 299 раз
Поблагодарили: 27 раз

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

Сообщение Denis_k » Вс авг 06, 2017 6:04 pm

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

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

Сообщение Logrus » Пн авг 07, 2017 1:41 am

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

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

Сообщение Denis_k » Пн авг 07, 2017 9:50 pm

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
Откуда: Иваново
Благодарил (а): 15 раз
Поблагодарили: 45 раз

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

Сообщение dioxin » Вт авг 08, 2017 6:27 am

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

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

Сообщение Logrus » Ср авг 09, 2017 10:01 am

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