Сценарий в сценарии
Модератор: immortal
-
- Сообщения: 438
- Зарегистрирован: Чт авг 24, 2017 9:38 am
- Благодарил (а): 51 раз
- Поблагодарили: 86 раз
- Контактная информация:
Сценарий в сценарии
При выполнении метода объекта, выполняется некий сценарий. Но не выполняется сценарий в этом сценарии. Это бага или фича?
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Сценарий в сценарии
Это как? Запуск сценария из сценария вполне стандартная функция и должна работать.workpage писал(а):При выполнении метода объекта, выполняется некий сценарий. Но не выполняется сценарий в этом сценарии. Это бага или фича?
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 438
- Зарегистрирован: Чт авг 24, 2017 9:38 am
- Благодарил (а): 51 раз
- Поблагодарили: 86 раз
- Контактная информация:
Re: Сценарий в сценарии
Ситуация следующая.sergejey писал(а):Это как? Запуск сценария из сценария вполне стандартная функция и должна работать.workpage писал(а):При выполнении метода объекта, выполняется некий сценарий. Но не выполняется сценарий в этом сценарии. Это бага или фича?
Есть выключатель "никого нет дома".
Есть шторы с электроприводом.
Есть охранная сигнализация.
Когда никого дома нет и включена охрана - шторы не должны двигаться. Ну это просто. При открытии/закрытии проверяем статус выключателя.
Пока всё работает.
НО если я прихожу домой, а уже темно, то при нажатии на выключатель "никого нет дома", шторы немедленно должны начать закрываться. Что я сделал. Если грубо, то в методе "НикогоНетДома.Выключить выключатель" я поставил сценарий "Закрыть все шторы". И это не работает! Если поставить сценарий "Закрыть штору в большой комнате", то это уже работает.
Для самоконтроля поставил везде метки say('1'); say('2');...
Т.е. фактически не работают вложенные сценарии.
Можно конечно всё руками написать, но это костыли. Есть нормальное решение этой проблемы?
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Сценарий в сценарии
А если поставить "код", и прописать вызов сценария? т.е.
Та же реакция? (я к тому, что называть кириллицей с пробелами сценарии не совсем хороший тон...если проблема в этом то через runscript должно сработать) Что пишется в дебаг в этот момент?
Код: Выделить всё
runScript('Закрыть все шторы');//или runScriptSafe
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 438
- Зарегистрирован: Чт авг 24, 2017 9:38 am
- Благодарил (а): 51 раз
- Поблагодарили: 86 раз
- Контактная информация:
Re: Сценарий в сценарии
Ни первый ни второй вариант со вложенными сценариями не работают. Как посмотреть debug? Если надо, могу сбросить backup.nick7zmail писал(а):А если поставить "код", и прописать вызов сценария? т.е.Та же реакция? (я к тому, что называть кириллицей с пробелами сценарии не совсем хороший тон...если проблема в этом то через runscript должно сработать) Что пишется в дебаг в этот момент?Код: Выделить всё
runScript('Закрыть все шторы');//или runScriptSafe
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Сценарий в сценарии
Не надо бэкап)) дебаг в панель управления-xray-debug
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 438
- Зарегистрирован: Чт авг 24, 2017 9:38 am
- Благодарил (а): 51 раз
- Поблагодарили: 86 раз
- Контактная информация:
Re: Сценарий в сценарии
Вобщем проблему решил прописав сценарий "Закрыть все шторы" в РОДИТЕЛЬСКОМ методе. Для остальных выключателей придётся создавать новый класс.
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Сценарий в сценарии
Очень странно на самом деле.workpage писал(а):Вобщем проблему решил прописав сценарий "Закрыть все шторы" в РОДИТЕЛЬСКОМ методе. Для остальных выключателей придётся создавать новый класс.
И можете не создавать, на самом деле класс, а в коде условие поставить условие - если title объекта равен нужному объекту - то runscript, иначе ничего не делать.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 289
- Зарегистрирован: Вс сен 16, 2012 9:39 am
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Сценарий в сценарии
У меня тоже не сработал вложенный скрипт, сейчас посмотрел в логах ничего нет по времени срабатывания, до этого код размещался в onNewMinute, работало все четко, затем создал скрипт, поместил в него код из onNewMinute и установил время запуска, перестало работать, в коде просто запрос file_get_contents(.....), в итоге получился скрипт с runScript('....'); с периодическим запуском, и он не сработал.