Авто-запуск сценариев

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

Модератор: immortal

Аватара пользователя
sergejey
Site Admin
Сообщения: 4279
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1529 раз
Контактная информация:

Авто-запуск сценариев

Сообщение sergejey » Пт дек 29, 2017 5:34 pm

В настройке сценариев появилась дополнительная опция автоматического запуска:

Изображение

Эта опция позволяет запускать сценарий, если произошло изменение в указанном свойстве. Отдельно указать, с каким именно свойством связывается сценарий, нельзя. Работает это следующим образом: если в первой строчке кода сценария идёт условие, то система пытается определить, какое свойство отвечает за исполнение условия и автоматически связывает запуск сценария с этим свойством.

Работает это как с PHP-кодом, таки и со сценариями в режиме блокли. Например, можно создать новый сценарий такого вида:

Изображение
и он сразу заработает, т.к. свяжется с обновлением таймера.

или же вот ещё пример:

Изображение

сценарий тоже заработает сразу, т.к. привяжется к обновлению влажности.

Автоматическую привязку можно включить или отключить для каждого сценария.

Для чего это было сделано -- для упрощения написания сценариев. Зачастую у пользователей возникали вопросы не столько с тем, как писать сценарии, как с тем, как сделать, чтобы они запускались. Собственно, сейчас система будет пытаться сама организовать запуск сценария по заданному условию.
За это сообщение автора sergejey поблагодарили (всего 3):
samum (Сб янв 13, 2018 8:12 pm) • TrDA (Ср янв 24, 2018 1:22 pm) • Vit (Вт янв 30, 2018 5:12 am)
Рейтинг: 3.57%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
Gelezako
Сообщения: 961
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Благодарил (а): 205 раз
Поблагодарили: 106 раз
Контактная информация:

Re: Авто-запуск сценариев

Сообщение Gelezako » Вт янв 30, 2018 3:23 am

обновился из альфа ветки, но у меня в сценариях нет этого нового меню - "автоматический запуск сценария"
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
Аватара пользователя
sergejey
Site Admin
Сообщения: 4279
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1529 раз
Контактная информация:

Re: Авто-запуск сценариев

Сообщение sergejey » Вс фев 04, 2018 9:38 am

Gelezako писал(а):обновился из альфа ветки, но у меня в сценариях нет этого нового меню - "автоматический запуск сценария"
этот пункт появляется после сохранения кода и если в самом коде в первой строчке идёт проверка условия, по которому можно сделать автоматический запуск

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
Gelezako
Сообщения: 961
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Благодарил (а): 205 раз
Поблагодарили: 106 раз
Контактная информация:

Re: Авто-запуск сценариев

Сообщение Gelezako » Ср фев 07, 2018 2:15 pm

sergejey писал(а): этот пункт появляется после сохранения кода и если в самом коде в первой строчке идёт проверка условия, по которому можно сделать автоматический запуск
а можно пример проверки условия?
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
directman66
Сообщения: 2796
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 680 раз
Контактная информация:

Re: Авто-запуск сценариев

Сообщение directman66 » Ср фев 07, 2018 2:30 pm

Эти изменения уже есть в основной ветке репозитория?
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram | +79122962262 WhatsApp
Аватара пользователя
Gelezako
Сообщения: 961
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Благодарил (а): 205 раз
Поблагодарили: 106 раз
Контактная информация:

Re: Авто-запуск сценариев

Сообщение Gelezako » Ср фев 07, 2018 2:32 pm

что вы подразумеваете под новой? мастер или альфа? код на сколько я понимаю в альфа и судя по сообщению Сергея всегда весь новый код будет только в альфа
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
Аватара пользователя
sergejey
Site Admin
Сообщения: 4279
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1529 раз
Контактная информация:

Re: Авто-запуск сценариев

Сообщение sergejey » Вс фев 11, 2018 9:58 am

Gelezako писал(а):
sergejey писал(а): этот пункт появляется после сохранения кода и если в самом коде в первой строчке идёт проверка условия, по которому можно сделать автоматический запуск
а можно пример проверки условия?
Вот кусок исходника этой проверки:

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

        if (preg_match('/^if(.+?){/is', $rec['CODE'], $m)) {
            $conditions = trim($m[1], '()');
            if (preg_match('/getglobal\(["\'](\w+)\.(\w+)["\']\)/is', $conditions, $m2)) {
                $linked_object=$m2[1];
                $linked_property=$m2[2];
            } elseif (preg_match('/gg\(["\'](\w+)\.(\w+)["\']\)/is', $conditions, $m2)) {
                $linked_object=$m2[1];
                $linked_property=$m2[2];
            } elseif (preg_match('/timeis/is', $conditions) ||
                      preg_match('/timebefore/is', $conditions) ||
                      preg_match('/timeafter/is', $conditions) ||
                      preg_match('/timebetween/is', $conditions)) {
                $linked_object='ClockChime';
                $linked_property='time';
            }
        }
 
т.е. код должен начинаться с if и система пытается по первому условию определить, к изменению какого свойства привязать запуск скрипта.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
Gelezako
Сообщения: 961
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Благодарил (а): 205 раз
Поблагодарили: 106 раз
Контактная информация:

Re: Авто-запуск сценариев

Сообщение Gelezako » Пн фев 12, 2018 4:19 pm

Что я только не делал, но у меня не появляется этот пункт меню. Я написал пхп кодом пример, который представлен в виде блока в первом посте. Что я делю не так?
Скрин:
СпойлерПоказать
Изображение
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
Logrus
Сообщения: 1737
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 295 раз
Поблагодарили: 358 раз

Re: Авто-запуск сценариев

Сообщение Logrus » Пн фев 12, 2018 4:24 pm

скобки фигурные? и тут к какому свойству привязываться вместо времени?
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
Gelezako
Сообщения: 961
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Благодарил (а): 205 раз
Поблагодарили: 106 раз
Контактная информация:

Re: Авто-запуск сценариев

Сообщение Gelezako » Ср фев 14, 2018 1:04 am

я проделал кучу тестов, если делать блоками, то авто запуск работает, если писать кодом, то не работает. Отображает "Связанный объект", но не срабатывает.
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
Ответить