Элемент сцены - "Изображение"

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

Модератор: immortal

Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Элемент сцены - "Изображение"

Сообщение Bagir » Чт дек 18, 2014 2:38 am

Вот элемент Изображение
Изображение
У него есть состояния
Изображение
При клике можно на выбор запустить Скрипт, Объект.Метод, Показать меню и т.д. Поговорим о выборе Объект.Метод:
Тут нужно указать само имя объекта и имя его метода. А как передать параметры? Это очень нужно!!
Допустим мы вызываем метод объекта реле, в котором будет приниматься решение, включить или нет. Этому методу нужно сообщить, кто его вызвал. Конкретный пример - включение освещения. Если вызывает датчик движения - включить на 5 минут. Если кликом по элементу на сцене - включить на 1 час. То есть, методу нужно знать, кто именно его вызывает, чтобы соответственно отреагировать.
Сейчас, чтобы как то передать параметры, я выбираю "Выполнить сценарий при клике", а в этом сценарии просто пишу одну строчку кода

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

callMethod("RelayProjectorsDriveway.sendMessage",array("whosent"=>'Объект_на_сцене_лампа'));
но уже с передачей параметров.

Варианты решений:
1. Для выбора Запускать Объект.Метод добавить еще одно поле, с указанием параметров. Например вписывать туда все что находится внутри array(...)
2. К выбору Скрипт, Метод, Меню и т.д. добавить Код. А в соответствующем поле можно будет написать любой код, который нужно.

PS Вариант 2 мне нравится намного больше.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Элемент сцены - "Изображение"

Сообщение sergejey » Чт дек 18, 2014 11:47 am

Ещё вариант обхода органичения это добавить отдельный метод типа SendMessageScene

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Элемент сцены - "Изображение"

Сообщение Bagir » Чт дек 18, 2014 5:42 pm

Да, можно и так. Просто у меня уже есть горькой опыт работы с одной системой. Ewclid. Может кто знает. Ее планировщик мало что позволял. Но я все еж выпросил, чтобы сделали возможность запускать сторонние приложения. После этого я начал закидывать свои скрипты пачками. В конечном итоге уже было трудно понять и отследить работу системы.
Так то пока отсутствие параметров не так уж и проблематично.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Элемент сцены - "Изображение"

Сообщение Bagir » Чт дек 18, 2014 11:49 pm

А почему бы не сделать так же, как сейчас в настройке элемента меню? Там есть сразу все на выбор. Мне очень нравится! Все очень просто, и в то же время позволит сделать любую сложную схему. Пока что, я не делал таких очень сложных схем, когда используется сразу и объект метод (или/и код) и запуск скрипта одновременно. Но планы есть. Просто еще до них не добрался. Главное, я вижу в этом свободу. Ну и еще настройка элементов будет похоже друг на друга, что не маловажно.
Изображение
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Элемент сцены - "Изображение"

Сообщение Ivan » Пт дек 19, 2014 7:34 pm

Замените файл в templates\scenes
Вложения
elements_edit.zip
(4.4 КБ) 136 скачиваний
За это сообщение автора Ivan поблагодарил:
Bagir (Сб дек 20, 2014 8:06 pm)
Рейтинг: 1.16%
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Элемент сцены - "Изображение"

Сообщение Bagir » Сб дек 20, 2014 12:55 am

Ivan писал(а):Замените файл в templates\scenes
Пожалуйста немного подробней что должно произойти? В последнем обновлении есть
sergejey писал(а):* Возможность по клику на элемент сцены задать произвольный код
Это что то другое или оно и есть? Я обновился и теперь вижу новый выбор "Код". Так то это решает все мыслимые и немыслимые просьбы и предложения. Разве что лично мне все равно больше нравится вариант где всё открыто сразу без необходимости выбора чего то одного, как сейчас сделано в меню. Но это конечно на любителя.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Элемент сцены - "Изображение"

Сообщение Ivan » Сб дек 20, 2014 10:52 am

Я сделал что вы просили в посте от 19 дек 2014, 00:49
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Элемент сцены - "Изображение"

Сообщение Bagir » Сб дек 20, 2014 7:46 pm

Ivan писал(а):Я сделал что вы просили в посте от 19 дек 2014, 00:49
Все понял, большое спасибо! Похоже Сергей добавил это в обновление. Поэтому я и не увидел разницу. Сегодня перенесу код запуска метода с параметром из скриптов в элемент на сцене.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Элемент сцены - "Изображение"

Сообщение Bagir » Сб дек 20, 2014 9:58 pm

Работает. Все что пишу в коде, все выполняется. Но на сценах у элемента отображается весь написанный код. Что то не так.
Изображение
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Элемент сцены - "Изображение"

Сообщение Bagir » Сб янв 03, 2015 11:50 pm

Серёж, пожалуйста посмотри по возможности. Код так и прописывается прямо на сцене. Более того, если там будет что то наподобие

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

$sc='<img src="http://10.10.3.2:8000/asip-api/live/media/SERVER/DeviceIpint.4/SourceEndpoint.video:0:0?format=mjpeg&w=960&h=0" style="display:inline; top:120px; left:60px; width:640px; height:360px; position:relative;">';  
sg('ThisComputer.StreamingCode',$sc);
То все что у $sс в '' будет тоже сразу отображено на сцене. В данном примере у переменной $sc правильный код изображения. Оно и будет вставлено сразу, точно так же как просто печатается любой код.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Ответить