Страница 1 из 1
Помогите с заходом солнца в (onNewMinute).
Добавлено: Вт авг 20, 2019 8:55 pm
Murat
Здравствуйте у меня в onNewMinute вот такой код включает свет в птичнике
if (timeIs(getGlobal('SunRiseTime'))) {
say('Всходит солнце');
}
if (timeIs(getGlobal('SunSetTime'))) {
say('Солнце заходит',2);
getURL('
http://192.168.1.107/gpio?st=1&pin=5');
say('включаю свет в курятнике', 2);
getURL('
http://192.168.1.107/matrixbr?mode=5');
say('включаю информер', 2);
}
Как сделать что-бы свет включался на час позже ?
Re: Помогите с заходом солнца в (onNewMinute).
Добавлено: Вт авг 20, 2019 9:07 pm
xor
Murat писал(а): ↑Вт авг 20, 2019 8:55 pm
Здравствуйте у меня в onNewMinute вот такой код включает свет в птичнике
if (timeIs(getGlobal('SunRiseTime'))) {
say('Всходит солнце');
}
if (timeIs(getGlobal('SunSetTime'))) {
say('Солнце заходит',2);
getURL('
http://192.168.1.107/gpio?st=1&pin=5');
say('включаю свет в курятнике', 2);
getURL('
http://192.168.1.107/matrixbr?mode=5');
say('включаю информер', 2);
}
Как сделать что-бы свет включался на час позже ?
https://kb.mjdm.ru/vstroennie-v-majordomo-funkcii/ это читали?
1 почитайте про таймеры SetTimeOut('title','commands', $timeout); -- $timeout в секундах
или
2 добавляйте час к закату и его проверяйте, типа date("H:i",timeConvert(getGlobal('SunSetTime'))+60*60)) или функцию strtotime использовать
Re: Помогите с заходом солнца в (onNewMinute).
Добавлено: Вт авг 20, 2019 9:17 pm
Logrus
Re: Помогите с заходом солнца в (onNewMinute).
Добавлено: Вт авг 20, 2019 9:30 pm
Chainik
Murat писал(а): ↑Вт авг 20, 2019 8:55 pm
Здравствуйте у меня в onNewMinute вот такой код включает свет в птичнике
if (timeIs(getGlobal('SunRiseTime'))) {
say('Всходит солнце');
}
if (timeIs(getGlobal('SunSetTime'))) {
say('Солнце заходит',2);
getURL('
http://192.168.1.107/gpio?st=1&pin=5');
say('включаю свет в курятнике', 2);
getURL('
http://192.168.1.107/matrixbr?mode=5');
say('включаю информер', 2);
}
Как сделать что-бы свет включался на час позже ?
Действительно, можно использовать таймеры. Тогда конструкция будет выглядеть так:
Код: Выделить всё
setTimeOut('myTimer_1','getURL("http://192.168.1.107/gpio?st=1&pin=5");',60*60);
Но для каждого связанного действия тогда придется запускать разноименные таймеры, что неудобно.
Можно попробовать прибавить час прямо в сравнении времени:
Код: Выделить всё
if (timeIs(date("H:i",strtotime(getGlobal('SunSetTime'))+60*60))) {
А вообще лучше вынести весь этот код в отдельный скрипт или метод, чтобы не загромождать onNewMinute. И запускать из onNewMinute уже этот скрипт или метод.