Авто-запуск сценариев
Модератор: immortal
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Авто-запуск сценариев
В настройке сценариев появилась дополнительная опция автоматического запуска:
Эта опция позволяет запускать сценарий, если произошло изменение в указанном свойстве. Отдельно указать, с каким именно свойством связывается сценарий, нельзя. Работает это следующим образом: если в первой строчке кода сценария идёт условие, то система пытается определить, какое свойство отвечает за исполнение условия и автоматически связывает запуск сценария с этим свойством.
Работает это как с PHP-кодом, таки и со сценариями в режиме блокли. Например, можно создать новый сценарий такого вида:
и он сразу заработает, т.к. свяжется с обновлением таймера.
или же вот ещё пример:
сценарий тоже заработает сразу, т.к. привяжется к обновлению влажности.
Автоматическую привязку можно включить или отключить для каждого сценария.
Для чего это было сделано -- для упрощения написания сценариев. Зачастую у пользователей возникали вопросы не столько с тем, как писать сценарии, как с тем, как сделать, чтобы они запускались. Собственно, сейчас система будет пытаться сама организовать запуск сценария по заданному условию.
Эта опция позволяет запускать сценарий, если произошло изменение в указанном свойстве. Отдельно указать, с каким именно свойством связывается сценарий, нельзя. Работает это следующим образом: если в первой строчке кода сценария идёт условие, то система пытается определить, какое свойство отвечает за исполнение условия и автоматически связывает запуск сценария с этим свойством.
Работает это как с PHP-кодом, таки и со сценариями в режиме блокли. Например, можно создать новый сценарий такого вида:
и он сразу заработает, т.к. свяжется с обновлением таймера.
или же вот ещё пример:
сценарий тоже заработает сразу, т.к. привяжется к обновлению влажности.
Автоматическую привязку можно включить или отключить для каждого сценария.
Для чего это было сделано -- для упрощения написания сценариев. Зачастую у пользователей возникали вопросы не столько с тем, как писать сценарии, как с тем, как сделать, чтобы они запускались. Собственно, сейчас система будет пытаться сама организовать запуск сценария по заданному условию.
- Рейтинг: 4.65%
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Авто-запуск сценариев
обновился из альфа ветки, но у меня в сценариях нет этого нового меню - "автоматический запуск сценария"
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Авто-запуск сценариев
этот пункт появляется после сохранения кода и если в самом коде в первой строчке идёт проверка условия, по которому можно сделать автоматический запускGelezako писал(а):обновился из альфа ветки, но у меня в сценариях нет этого нового меню - "автоматический запуск сценария"
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Авто-запуск сценариев
а можно пример проверки условия?sergejey писал(а): этот пункт появляется после сохранения кода и если в самом коде в первой строчке идёт проверка условия, по которому можно сделать автоматический запуск
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: Авто-запуск сценариев
Эти изменения уже есть в основной ветке репозитория?
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Авто-запуск сценариев
что вы подразумеваете под новой? мастер или альфа? код на сколько я понимаю в альфа и судя по сообщению Сергея всегда весь новый код будет только в альфа
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Авто-запуск сценариев
Вот кусок исходника этой проверки: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';
}
}
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Авто-запуск сценариев
Что я только не делал, но у меня не появляется этот пункт меню. Я написал пхп кодом пример, который представлен в виде блока в первом посте. Что я делю не так?
Скрин:
Скрин:
СпойлерПоказать
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
-
- Сообщения: 2086
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 313 раз
- Поблагодарили: 458 раз
Re: Авто-запуск сценариев
скобки фигурные? и тут к какому свойству привязываться вместо времени?
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
- Gelezako
- Сообщения: 963
- Зарегистрирован: Чт июн 02, 2016 9:33 pm
- Благодарил (а): 205 раз
- Поблагодарили: 106 раз
- Контактная информация:
Re: Авто-запуск сценариев
я проделал кучу тестов, если делать блоками, то авто запуск работает, если писать кодом, то не работает. Отображает "Связанный объект", но не срабатывает.
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E