Выключатель и сценарий
Модератор: immortal
-
- Сообщения: 104
- Зарегистрирован: Сб фев 20, 2016 12:19 pm
- Благодарил (а): 7 раз
- Поблагодарили: 2 раза
Выключатель и сценарий
Имею сценарий который достаточно долго выполняется, запуская выключателем и по времени.
Подскажите, как сделать чтобы при нажатии на выключатель на время выполнения сценария выключатель блокировался и менялась надпись или цвет? Т.е. чтобы было понятно что идёт работа и повторный запуск не возможен.
Подскажите, как сделать чтобы при нажатии на выключатель на время выполнения сценария выключатель блокировался и менялась надпись или цвет? Т.е. чтобы было понятно что идёт работа и повторный запуск не возможен.
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Выключатель и сценарий
Создаете свойство, которое будет отображать состояние выполнения сценария. В начале выполнения сценария присваиваете свойству значение "1", а в конце "0". У выключателя будут 2 состояния, завязанные на вышеуказанное свойство. В состоянии при значении свойства "1" указывается команда за запуск сценария, в состоянии при значении "0" -- команда не указывается.
-
- Сообщения: 104
- Зарегистрирован: Сб фев 20, 2016 12:19 pm
- Благодарил (а): 7 раз
- Поблагодарили: 2 раза
Re: Выключатель и сценарий
Я делал через объект в котором менял свойство, но это немного не то, так как выключатель продолжает работать. Я хотел при нажати изменить его вид при этом заблокировать возможность реагирования до окончания выполнения скрипта. Или я не правильно понял?
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Выключатель и сценарий
Все правильно. Я, собственно, именно такой вариант и расписал. Тут надо понимать, как у вас реализован выключатель, это элемент типа "выключатель" на сцене, html-блок или еще что-то?
Ничего сложного тут нет. Могу попробовать подсказать с кодом, если скажите, как реализован выключатель, как называется скрипт, как называется свойство, отображающее состояние выполнения скрипта.
Ничего сложного тут нет. Могу попробовать подсказать с кодом, если скажите, как реализован выключатель, как называется скрипт, как называется свойство, отображающее состояние выполнения скрипта.
-
- Сообщения: 104
- Зарегистрирован: Сб фев 20, 2016 12:19 pm
- Благодарил (а): 7 раз
- Поблагодарили: 2 раза
Re: Выключатель и сценарий
сейчас на сцене у меня просто выключатель Тип: Выключатель имя Home-Sleep. У него одно состояние Off. Выполнить сценарий: спокойной ночи. Отображение: всегда показывать.
Сценарий собирает все включенные приборы и выстраивает их в очередь выключения. В итоге сценарий может работать до 30 минут.
Я предполагал что можно взять у кнопки состояние on и в Условие отображения в расширенных создать слежение за работой сценария и блокировать возможность нажатия выключателя до тех пор пока работает сценарий.
Сценарий собирает все включенные приборы и выстраивает их в очередь выключения. В итоге сценарий может работать до 30 минут.
Я предполагал что можно взять у кнопки состояние on и в Условие отображения в расширенных создать слежение за работой сценария и блокировать возможность нажатия выключателя до тех пор пока работает сценарий.
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Выключатель и сценарий
Пусть сам сценарий следит за работой сценария. Другими словами, в начале кода сценария пишем sg('Объект.Свойство', 0); Т.е. сценарий работает. В конце кода sg('Объект.Свойство', 1); Т.е. сценарий не выполняется.
Теперь что касается выключателя на сцене. Пусть его состояние "Off" будет означать, что сценарий работает и повторный запуск во время работы невозможен. Для этого в простом условии отображения надо указать наши Объект и Свойство, условие сравнение "= 0". Если есть желание указать это "в явном виде", в настройках элемента сцены выбирете "Расширенная настройка" = "Да". При этом в пункте "Выполнить при клике" должно быть указано "Ничего не делать".
Добавляем к выключателю новое состояние "On" при котором будет запускаться сценарий. В пункте "Выполнить при клике" указываем сценарий "спокойной ночи", а в условиях отображения "<> 0".
Должно работать.
Теперь что касается выключателя на сцене. Пусть его состояние "Off" будет означать, что сценарий работает и повторный запуск во время работы невозможен. Для этого в простом условии отображения надо указать наши Объект и Свойство, условие сравнение "= 0". Если есть желание указать это "в явном виде", в настройках элемента сцены выбирете "Расширенная настройка" = "Да". При этом в пункте "Выполнить при клике" должно быть указано "Ничего не делать".
Добавляем к выключателю новое состояние "On" при котором будет запускаться сценарий. В пункте "Выполнить при клике" указываем сценарий "спокойной ночи", а в условиях отображения "<> 0".
Должно работать.
-
- Сообщения: 104
- Зарегистрирован: Сб фев 20, 2016 12:19 pm
- Благодарил (а): 7 раз
- Поблагодарили: 2 раза
Re: Выключатель и сценарий
спасибо. все получилось. правда наличие паразитного объекта напрягает но главное что работает.
-
- Сообщения: 104
- Зарегистрирован: Сб фев 20, 2016 12:19 pm
- Благодарил (а): 7 раз
- Поблагодарили: 2 раза
Re: Выключатель и сценарий
еще попутный вопрос, пока у меня работает скрипт, остальные контролы не реагируют это может быть из-за использования sleep в скрипте?