Подскажите как правильно создать таймер!

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

Yashalta
Сообщения: 315
Зарегистрирован: Вс май 20, 2018 9:27 am
Благодарил (а): 160 раз
Поблагодарили: 29 раз

Re: Подскажите как правильно создать таймер!

Сообщение Yashalta » Сб апр 06, 2019 12:02 am

Chainik писал(а):
Пт апр 05, 2019 11:31 pm
Это он про "динамическое относительно облачности". А чтобы учесть фактический уровень освещенности (и на основе этого смещать ежедневное время включения и выключения), естественно, нужны показания уличного датчика освещенности.
Спасибо, а где это готовое можно посмотреть?
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Подскажите как правильно создать таймер!

Сообщение Chainik » Сб апр 06, 2019 12:15 am

Yashalta писал(а):
Сб апр 06, 2019 12:02 am
...
Спасибо, а где это готовое можно посмотреть?
Как сделать, например, здесь (https://ab-log.ru/smart-house/ethernet/ ... or-outdoor).
Какой датчик выбрать, например, здесь (https://ab-log.ru/smart-house/ethernet/megad-tsl2591).
Хотя были еще опыты:
https://ab-log.ru/smart-house/ethernet/light-sensor
https://ab-log.ru/smart-house/ethernet/temt6000-test
https://ab-log.ru/smart-house/ethernet/bh1750-megad

По алгоритму берутся несколько показаний за период (вдруг случайное облачно набежало), усредняются и на основе этих усредненных данных выдается команда. Время действия (вкл/выкл) находится в неком диапазоне, приближенном ко времени заката/восхода.
Ссылку на пример кода не дам (не видел). Но интуитивно, вроде бы все понятно.

Извиняюсь, что несколько отклонился от темы топика.
За это сообщение автора Chainik поблагодарил:
Yashalta (Сб апр 06, 2019 9:02 am)
Рейтинг: 1.16%
Logrus
Сообщения: 2084
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: Подскажите как правильно создать таймер!

Сообщение Logrus » Сб апр 06, 2019 12:29 am

https://connect.smartliving.ru/profile/ ... -koda.html
пп. 2 в третьем примеры таймеров (синтаксис)
а впрочем зачем там писать, что б потом за каждым бегать и ссылку кидать :cry:
За это сообщение автора Logrus поблагодарили (всего 2):
Yashalta (Сб апр 06, 2019 9:02 am) • Chainik (Сб апр 06, 2019 6:34 pm)
Рейтинг: 2.33%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: Подскажите как правильно создать таймер!

Сообщение xor » Сб апр 06, 2019 12:09 pm

У меня, к примеру, облачность в процентах из прогноза берется

Отправлено с моего Redmi 4X через Tapatalk

Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Подскажите как правильно создать таймер!

Сообщение Chainik » Сб апр 06, 2019 1:08 pm

xor писал(а):
Сб апр 06, 2019 12:09 pm
У меня, к примеру, облачность в процентах из прогноза берется

Отправлено с моего Redmi 4X через Tapatalk
Ну это вы так "выкрутились", ввиду отсутствия датчика освещенности.
Интересно, удалось таким образом "попасть" (хотя бы по ощущениям) в более-менее точное наступление суммерек/ночи/зори/дня?
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: Подскажите как правильно создать таймер!

Сообщение xor » Сб апр 06, 2019 1:29 pm

Chainik писал(а):
Сб апр 06, 2019 1:08 pm
xor писал(а):
Сб апр 06, 2019 12:09 pm
У меня, к примеру, облачность в процентах из прогноза берется

Отправлено с моего Redmi 4X через Tapatalk
Ну это вы так "выкрутились", ввиду отсутствия датчика освещенности.
Интересно, удалось таким образом "попасть" (хотя бы по ощущениям) в более-менее точное наступление суммерек/ночи/зори/дня?
получается для сезона. зимой и летом подкручиваю
DarknessMode.activate:

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

//задержка вкл уличного света после заката от 1мин (100% облачность=10 баллов) до ~11 мин (облачность 0%)

callMethodSafe('testRGB.turnon'); //в доме подсветка
callMethodSafe('nl6.turnon'); //гостиная
Settimeout('StreetLightOn2',"cm('nl2.turnon');",(11-gg('weather_my.clouds'))*60); //крыльцо
Settimeout('LoungeLightOn2',"cm('nl16.turnon');",(11-gg('weather_my.clouds'))*60); //дом снаружи
с зарей не встаю, просто гашу всё снаружи невыключенное
За это сообщение автора xor поблагодарил:
Chainik (Сб апр 06, 2019 1:49 pm)
Рейтинг: 1.16%
Logrus
Сообщения: 2084
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: Подскажите как правильно создать таймер!

Сообщение Logrus » Сб апр 06, 2019 3:51 pm

xor писал(а):
Сб апр 06, 2019 12:09 pm
У меня, к примеру, облачность в процентах из прогноза берется

Отправлено с моего Redmi 4X через Tapatalk
аналогично и там все до безобразия просто, со скрипта восход, закат в линукс тайм, с опенвейзер облачность в процентах, это на примере выше ночного добавлено в код еще две строчки
работает идеально
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Logrus
Сообщения: 2084
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: Подскажите как правильно создать таймер!

Сообщение Logrus » Вт апр 09, 2019 9:27 pm

Yashalta писал(а):
Сб апр 06, 2019 12:02 am
Chainik писал(а):
Пт апр 05, 2019 11:31 pm
Это он про "динамическое относительно облачности". А чтобы учесть фактический уровень освещенности (и на основе этого смещать ежедневное время включения и выключения), естественно, нужны показания уличного датчика освещенности.
Спасибо, а где это готовое можно посмотреть?
viewtopic.php?f=27&t=2215&p=101322#p101322
За это сообщение автора Logrus поблагодарил:
Yashalta (Ср апр 10, 2019 2:50 pm)
Рейтинг: 1.16%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Подскажите как правильно создать таймер!

Сообщение Chainik » Вт апр 09, 2019 10:53 pm

Кстати, для теста попробовал в одном скрипте создать Job и Timer с одинаковыми именами (первой строчкой в коде шел Job), так вот Job не сработал. До тех пор, пока не задал ему имя, отличное от имени таймера.
Отсюда мораль: имена таймеров и джобов надо соотносить между собой во избежание.
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: Подскажите как правильно создать таймер!

Сообщение xor » Ср апр 10, 2019 12:00 am

Chainik писал(а):
Вт апр 09, 2019 10:53 pm
Кстати, для теста попробовал в одном скрипте создать Job и Timer с одинаковыми именами (первой строчкой в коде шел Job), так вот Job не сработал. До тех пор, пока не задал ему имя, отличное от имени таймера.
Отсюда мораль: имена таймеров и джобов надо соотносить между собой во избежание.
да, это одно и то же

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

function setTimeOut($title, $commands, $timeout)
{
    clearTimeOut($title);
    $res = addScheduledJob($title, $commands, time() + $timeout);
    return $res;
}
За это сообщение автора xor поблагодарил:
Chainik (Ср апр 10, 2019 8:39 am)
Рейтинг: 1.16%
Ответить