Периодически запуск сценариев

Новые релизы, обновления и т.п.

Модератор: immortal

Аватара пользователя
xor
Сообщения: 1722
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 205 раз
Поблагодарили: 512 раз

Re: Периодически запуск сценариев

Сообщение xor » Ср мар 11, 2020 11:04 pm

bonyfacci писал(а):
Вт мар 10, 2020 11:14 am
А подскажите пожалуйста, как сделать цикличный запуск сценария раз в секунду (всегда)?
1.создаем скрипт с именем, например, every1s

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

//script every1s
do what u want
setTimeOut('run_my_script',"rs('every1s');",1);
но это теоретически, ровно через секунду не получится, зависит от того, что в скрипте, от общей загрузки железа, и т.д.(
2.делаем через свой цикл
Аватара пользователя
Bagir
Сообщения: 1485
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 187 раз
Поблагодарили: 337 раз

Re: Периодически запуск сценариев

Сообщение Bagir » Пт май 29, 2020 1:12 am

Через секунду точно не выйдет. У меня есть задача, при которой нужно снимать показания с термодатчика как можно чаще. Сейчас вызываю самого себя через setTimeOut с задержкой 2 секунды. Весьма устойчиво, но есть вероятность остановки. Поэтому каждый раз дублирую еще один setTimeOut уже с задержкой 4 сек. И в модуле onNewMinute перезапускаю если нет таймеров.
Пока что оставил такой вариант. Править штатный код не хочется. И вешать свой цикл для отдельной не часто используемой задачи тоже нет смысла.
Windows 7, HTTP, MegaD, Z-Wave, 1-Wire
ZyaK
Сообщения: 366
Зарегистрирован: Вт окт 24, 2017 2:01 pm
Откуда: Ижевск
Благодарил (а): 39 раз
Поблагодарили: 66 раз

Re: Периодически запуск сценариев

Сообщение ZyaK » Пт май 29, 2020 8:54 am

если не секрет зачем так часто опрашивать термодатчик?
PI2 + MQTT + 5 ESP8266 + Atmega16
Аватара пользователя
xor
Сообщения: 1722
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 205 раз
Поблагодарили: 512 раз

Re: Периодически запуск сценариев

Сообщение xor » Пт май 29, 2020 4:05 pm

ZyaK писал(а):
Пт май 29, 2020 8:54 am
если не секрет зачем так часто опрашивать термодатчик?
ну, например, при автоматизации самогонного аппарата. там динамика нужна
За это сообщение автора xor поблагодарил:
ZyaK (Пт май 29, 2020 4:48 pm)
Рейтинг: 1.19%
Logrus
Сообщения: 1737
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 295 раз
Поблагодарили: 358 раз

Re: Периодически запуск сценариев

Сообщение Logrus » Пт май 29, 2020 5:30 pm

это в каком месте там температура меняется раз в секунду?
а использовать для этого таймер, а не цикл очень не оптимально, народ просто не представляет сколько там лишних движений
п.с. и зачем путать мдм с микроконтроллером?
За это сообщение автора Logrus поблагодарил:
Amarok (Сб май 30, 2020 12:38 pm)
Рейтинг: 1.19%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
Bagir
Сообщения: 1485
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 187 раз
Поблагодарили: 337 раз

Re: Периодически запуск сценариев

Сообщение Bagir » Пн июн 01, 2020 8:39 am

Logrus писал(а):
Пт май 29, 2020 5:30 pm
это в каком месте там температура меняется раз в секунду?
В спиртовой колонне. Раз в две секунды, сервер на ПК, совершенно не напрягает. Лишних действий при использовании таймеров, да, согласен полностью, очень много. Что ставит под удар надежность. Правильнее будет написать цикл, и во время процесса запускать его. А потом тормозить. Как нибудь перепишу код.
Windows 7, HTTP, MegaD, Z-Wave, 1-Wire
Logrus
Сообщения: 1737
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 295 раз
Поблагодарили: 358 раз

Re: Периодически запуск сценариев

Сообщение Logrus » Пн июн 01, 2020 2:04 pm

имхо правильней под это микроконтроллер у самого аппарата
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
Bagir
Сообщения: 1485
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 187 раз
Поблагодарили: 337 раз

Re: Периодически запуск сценариев

Сообщение Bagir » Пн июн 01, 2020 2:23 pm

Logrus писал(а):
Пн июн 01, 2020 2:04 pm
имхо правильней под это микроконтроллер у самого аппарата
Думал над этим. Но по полученным данным у меня сразу рисуется график в реальном времени, а также идет контроль. Уже реализованы сообщения на браслет при отклонении параметров. Теперь не сижу по 4 часа наблюдая за стрелочкой. Можно позволить себе заниматься делами не недалеко от аппарата. В будущем планирую крутить кран охлаждения дефлегматора сервоприводом. Да и может ещё что приспособлю под процесс.
Если даже сделать микроконтроллер, то всё равно придется часто забирать с него данные для графиков и контроля. Тоже самое и получится.
Вариант с таймерами конечно тут не к черту. Сейчас обдумываю идею с циклом. Надо бы тут пример запилить.
Идея такая: Сделать цикл, который стартует и останавливается по команде Алисы и перенести код чтения датчиков в него. В итоге получится вариант для запуска кода с нужной частотой. Оформить всё это в класс, назвав его каким нибудь таймером периодических процессов. Вечерком подумаю как сделать универсальный вариант, чтобы объекты этого класса можно было использовать и для других целей.
Так то сам придумать не могу, где ещё нужен такой частый опрос чего либо. Ну может кому пригодиться.
Хотя от 15 секундного штатного таймера сам бы не отказался. Только очень не хочется оригинальный код трогать. Практика показала, так делать неудобно.
Windows 7, HTTP, MegaD, Z-Wave, 1-Wire
Logrus
Сообщения: 1737
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 295 раз
Поблагодарили: 358 раз

Re: Периодически запуск сценариев

Сообщение Logrus » Пн июн 01, 2020 4:11 pm

Только очень не хочется оригинальный код трогать. Практика показала, так делать неудобно.
очень напряжно - согласен, но наоборот перестал обновляться и снялись ограничения по своим правкам ...
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
xor
Сообщения: 1722
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 205 раз
Поблагодарили: 512 раз

Re: Периодически запуск сценариев

Сообщение xor » Вт июн 02, 2020 12:21 am

Bagir писал(а):
Пн июн 01, 2020 8:39 am
Logrus писал(а):
Пт май 29, 2020 5:30 pm
это в каком месте там температура меняется раз в секунду?
В спиртовой колонне. Раз в две секунды, сервер на ПК, совершенно не напрягает. Лишних действий при использовании таймеров, да, согласен полностью, очень много. Что ставит под удар надежность. Правильнее будет написать цикл, и во время процесса запускать его. А потом тормозить. Как нибудь перепишу код.
хе, угадал)) сам уже заказал себе оснастку к своему аппарату под дс1820. две секунды, по мне, слишком часто, но у меня бак большой. так что мне и обычных таймеров хватит, чтоб алиска крикнула, если что. Жалко, что плиткой индукционной управлять не могу. поэтому только контроль температуры в двух точках, ну воду еще можно включить

пс. чтение температуры с дс18б20 около 1 с, точность там дай бог, так что динамика будет видна и на больших интервалах, так что, меня и таймеры с их +/- 1с устроят. но это мой выбор. а циклом (старт/стоп) легко управлять штатно через свойства в зискомпьютер
Ответить