Сценарий в сценарии

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
workpage
Сообщения: 418
Зарегистрирован: Чт авг 24, 2017 9:38 am
Благодарил (а): 50 раз
Поблагодарили: 84 раза
Контактная информация:

Сценарий в сценарии

Сообщение workpage » Ср окт 11, 2017 8:38 pm

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

Re: Сценарий в сценарии

Сообщение sergejey » Ср окт 11, 2017 8:50 pm

workpage писал(а):При выполнении метода объекта, выполняется некий сценарий. Но не выполняется сценарий в этом сценарии. Это бага или фича?
Это как? Запуск сценария из сценария вполне стандартная функция и должна работать.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
workpage
Сообщения: 418
Зарегистрирован: Чт авг 24, 2017 9:38 am
Благодарил (а): 50 раз
Поблагодарили: 84 раза
Контактная информация:

Re: Сценарий в сценарии

Сообщение workpage » Ср окт 11, 2017 9:11 pm

sergejey писал(а):
workpage писал(а):При выполнении метода объекта, выполняется некий сценарий. Но не выполняется сценарий в этом сценарии. Это бага или фича?
Это как? Запуск сценария из сценария вполне стандартная функция и должна работать.
Ситуация следующая.
Есть выключатель "никого нет дома".
Есть шторы с электроприводом.
Есть охранная сигнализация.
Когда никого дома нет и включена охрана - шторы не должны двигаться. Ну это просто. При открытии/закрытии проверяем статус выключателя.
Пока всё работает.
НО если я прихожу домой, а уже темно, то при нажатии на выключатель "никого нет дома", шторы немедленно должны начать закрываться. Что я сделал. Если грубо, то в методе "НикогоНетДома.Выключить выключатель" я поставил сценарий "Закрыть все шторы". И это не работает! Если поставить сценарий "Закрыть штору в большой комнате", то это уже работает.
Для самоконтроля поставил везде метки say('1'); say('2');...
Т.е. фактически не работают вложенные сценарии.
Можно конечно всё руками написать, но это костыли. Есть нормальное решение этой проблемы?
Аватара пользователя
nick7zmail
Сообщения: 7522
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 1991 раз

Re: Сценарий в сценарии

Сообщение nick7zmail » Чт окт 12, 2017 6:15 am

А если поставить "код", и прописать вызов сценария? т.е.

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

runScript('Закрыть все шторы');//или runScriptSafe  
Та же реакция? (я к тому, что называть кириллицей с пробелами сценарии не совсем хороший тон...если проблема в этом то через runscript должно сработать) Что пишется в дебаг в этот момент?
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
workpage
Сообщения: 418
Зарегистрирован: Чт авг 24, 2017 9:38 am
Благодарил (а): 50 раз
Поблагодарили: 84 раза
Контактная информация:

Re: Сценарий в сценарии

Сообщение workpage » Чт окт 12, 2017 7:10 am

nick7zmail писал(а):А если поставить "код", и прописать вызов сценария? т.е.

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

runScript('Закрыть все шторы');//или runScriptSafe   
Та же реакция? (я к тому, что называть кириллицей с пробелами сценарии не совсем хороший тон...если проблема в этом то через runscript должно сработать) Что пишется в дебаг в этот момент?
Ни первый ни второй вариант со вложенными сценариями не работают. Как посмотреть debug? Если надо, могу сбросить backup.
Аватара пользователя
nick7zmail
Сообщения: 7522
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 1991 раз

Re: Сценарий в сценарии

Сообщение nick7zmail » Чт окт 12, 2017 7:14 am

Не надо бэкап)) дебаг в панель управления-xray-debug
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
workpage
Сообщения: 418
Зарегистрирован: Чт авг 24, 2017 9:38 am
Благодарил (а): 50 раз
Поблагодарили: 84 раза
Контактная информация:

Re: Сценарий в сценарии

Сообщение workpage » Чт окт 12, 2017 7:39 am

Вобщем проблему решил прописав сценарий "Закрыть все шторы" в РОДИТЕЛЬСКОМ методе. Для остальных выключателей придётся создавать новый класс.
Аватара пользователя
nick7zmail
Сообщения: 7522
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 1991 раз

Re: Сценарий в сценарии

Сообщение nick7zmail » Чт окт 12, 2017 7:43 am

workpage писал(а):Вобщем проблему решил прописав сценарий "Закрыть все шторы" в РОДИТЕЛЬСКОМ методе. Для остальных выключателей придётся создавать новый класс.
Очень странно на самом деле.
И можете не создавать, на самом деле класс, а в коде условие поставить условие - если title объекта равен нужному объекту - то runscript, иначе ничего не делать.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Urbas81
Сообщения: 289
Зарегистрирован: Вс сен 16, 2012 9:39 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Сценарий в сценарии

Сообщение Urbas81 » Чт окт 12, 2017 9:30 am

У меня тоже не сработал вложенный скрипт, сейчас посмотрел в логах ничего нет по времени срабатывания, до этого код размещался в onNewMinute, работало все четко, затем создал скрипт, поместил в него код из onNewMinute и установил время запуска, перестало работать, в коде просто запрос file_get_contents(.....), в итоге получился скрипт с runScript('....'); с периодическим запуском, и он не сработал.
Ответить