Страница 2 из 3
Re: Открытие закрытие роллетных ставень
Добавлено: Пт май 21, 2021 8:59 pm
Alexiy2
Уважаемый Chainik!!!
Закат и рассвет давно присутствует (берется из модуля погоды), как прибавить 30 минут к рассвету я знал, а вот как сделать на 30 минут раньше - Добрые люди подсказали!!! У меня не та команда стояла, поэтому высчитывалось некорректно. С PHP я на ВЫ! Читаю мануалы и пробую что то сделать! А вот со временем, ЧТО НАСТУПИТ РАНЬШЕ, я как то пока не нашел, поэтому и спрашиваю у сообщества. И, надеюсь, что какой-нибудь знающий человек подскажет... А может и сам найду раньше ответа сообщества... Всех благодарю за посильную помощь...
Re: Открытие закрытие роллетных ставень
Добавлено: Пт май 21, 2021 9:15 pm
fandaymon
Alexiy2 писал(а): ↑Пт май 21, 2021 8:04 pm
И mktime работает не так, как вы себе это представляете...
Там скорее подошёл бы strtotime($RunTime1)
Спасибо! Вот так нормально вычисляет!!! Как я и хотел!
А не могли бы подсказать, как написать нормально логику, что
РАНЬШЕ сработает, и наоборот, что
ПОЗЖЕ???
Какими командами????
Самое простое - во время вычислений -30 минут вычислить strtotime('22:00') и посмотреть что меньше
Делать это в какое-нибудь время типа 2 часа ночи, например, в сценарии Hourly
Код: Выделить всё
$h=(int)date('G',time());
if ($h==2) {
$RunTime1=(gg('ow_fact.sunset'));
$RunTime2=strtotime($RunTime1);
$RunTime2=$RunTime2-1800;
$RunTime3=strtotime('22:00');
if ($RunTime3 > $RunTime2) {
AddScheduledJob("CloseCurtain","rs('Close_Curtains');", $RunTime2 );
} else {
AddScheduledJob("CloseCurtain","rs('Close_Curtains');", $RunTime3 );
}
}
Как-то так... Не проверял
В нужное время выполнится скрипт Close_Curtains
Re: Открытие закрытие роллетных ставень
Добавлено: Пт май 21, 2021 9:18 pm
Alexiy2
fandaymon писал(а): ↑Пт май 21, 2021 9:15 pm
Alexiy2 писал(а): ↑Пт май 21, 2021 8:04 pm
И mktime работает не так, как вы себе это представляете...
Там скорее подошёл бы strtotime($RunTime1)
Спасибо! Вот так нормально вычисляет!!! Как я и хотел!
А не могли бы подсказать, как написать нормально логику, что
РАНЬШЕ сработает, и наоборот, что
ПОЗЖЕ???
Какими командами????
Самое простое - во время вычислений -30 минут вычислить strtotime('22:00') и посмотреть что меньше
Делать это в какое-нибудь время типа 2 часа ночи, например, в сценарии Onhourly
Код: Выделить всё
$h=(int)date('G',time());
if ($h==2) {
$RunTime1=(gg('ow_fact.sunset'));
$RunTime2=strtotime($RunTime1);
$RunTime2=$RunTime2-1800;
$RunTime3=strtotime('22:00');
if ($RunTime3 > $RunTime2) {
AddScheduledJob("CloseCurtain","rs('Close_Curtains');", $RunTime2 );
} else {
AddScheduledJob("CloseCurtain","rs('Close_Curtains');", $RunTime3 );
}
}
Как-то так... Не проверял
В нужное время выполнится скрипт Close_Curtains
Спасибо за подсказку!!!! Только что читал статью о Сравнении дат и времени!!! Там так же написано!!!! Огромнейшая БЛАГОДАРНОСТЬ Вам!!!
Re: Открытие закрытие роллетных ставень
Добавлено: Пт май 21, 2021 9:53 pm
Alexiy2
Отдельное спасибо Уважаемому мною
fandaymon за подсказки!!!
Сценарий получился вот таким для определения времени закрытия роллет:
Код: Выделить всё
//$RunTime1=(gg('ow_fact.sunset')); // берем время заката
$RunTime2=strtotime($RunTime1); // Переводим его в UNIXTime
$RunTime3=$RunTime2-1800; // Вычитаем 30 минут
$RunTime4=strtotime('22:00');
if ($RunTime4 >= $RunTime3) {
$RunTime3=date('H:i', $RunTime3);
sg ('sunset.Start', $RunTime3);
} else {
$RunTime4=date('H:i', $RunTime4);
sg ('sunset.Start', $RunTime4);
}
Но опять загвоздка... Решил я установить время заката после полуночи (бывает у нас такое "счастье" в разгар белых ночей) и скрипт отработал не верно. Почему он так сделал я понимаю, а вот как это исправить, буду думать и читать далее.
Re: Открытие закрытие роллетных ставень
Добавлено: Пт май 21, 2021 10:39 pm
fandaymon
Alexiy2 писал(а): ↑Пт май 21, 2021 9:53 pm
Отдельное спасибо Уважаемому мною
fandaymon за подсказки!!!
Сценарий получился вот таким для определения времени закрытия роллет:
Код: Выделить всё
//$RunTime1=(gg('ow_fact.sunset')); // берем время заката
$RunTime2=strtotime($RunTime1); // Переводим его в UNIXTime
$RunTime3=$RunTime2-1800; // Вычитаем 30 минут
$RunTime4=strtotime('22:00');
if ($RunTime4 >= $RunTime3) {
$RunTime3=date('H:i', $RunTime3);
sg ('sunset.Start', $RunTime3);
} else {
$RunTime4=date('H:i', $RunTime4);
sg ('sunset.Start', $RunTime4);
}
Но опять загвоздка... Решил я установить время заката после полуночи (бывает у нас такое "счастье" в разгар белых ночей) и скрипт отработал не верно. Почему он так сделал я понимаю, а вот как это исправить, буду думать и читать далее.
Добавить ещё сравнение $RunTime2 с strtotime('06:00'), если меньше то в $RunTime3 помещать $RunTime4
Re: Открытие закрытие роллетных ставень
Добавлено: Сб май 22, 2021 11:25 pm
TrDA
Alexiy2 писал(а): ↑Пт май 21, 2021 8:32 pm
TrDA писал(а): ↑Пт май 21, 2021 8:16 pm
Alexiy2 писал(а): ↑Пт май 21, 2021 12:53 pm
Решил автоматизировать свои роллеты на окнах.
Собрал контроллеры на базе NodeMCU v3 и прошивке Tasmota. Все работает как часы.
Если это возможно можно(!) - хотелось-бы побольше грязных подробностей про "автоматизировать свои роллеты на окнах". Если, вас это не затруднит, плиз !!!
Меня ни капли не затруднит!!!!
Или Вы не это имели ввиду????
Меня интересовали "грязные" технические подробности.
Re: Открытие закрытие роллетных ставень
Добавлено: Вс май 23, 2021 9:47 pm
Alexiy2
[/quote]
Меня интересовали "грязные" технические подробности.
[/quote]
Что то я не пойму сленга Вашего! Можно на более русском народном. А то я только учу данный язык. Мы так не общались...
Вы про железо имеете ввиду? Или прошивку?
Re: Открытие закрытие роллетных ставень
Добавлено: Вс май 23, 2021 9:53 pm
Jilber
Я думаю будет интересно и железо, и прошивки, и схемы, и фото...
Re: Открытие закрытие роллетных ставень
Добавлено: Вт май 25, 2021 10:54 am
Alexiy2
Jilber писал(а): ↑Вс май 23, 2021 9:53 pm
Я думаю будет интересно и железо, и прошивки, и схемы, и фото...
к сожалению контроллеры уже установлены в свои родные места, и сделать фото не предоставляется возможным. Заказал с Китая на оставшиеся окна NodeMcu и релюшки. Как придет посылка, буду делать еще три контроллера, вот тогда и напишу с фото отчет по проделанной работе.
Re: Открытие закрытие роллетных ставень
Добавлено: Ср май 26, 2021 11:33 am
TrDA
Alexiy2 писал(а): ↑Вс май 23, 2021 9:47 pm
Меня интересовали "грязные" технические подробности.
[/quote]
Что то я не пойму сленга Вашего! Можно на более русском народном. А то я только учу данный язык. Мы так не общались...
Вы про железо имеете ввиду? Или прошивку?
[/quote]
Особенно(!) интересно про железо.