[Модуль] Сцены (scenes)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

[Модуль] Сцены (scenes)

Сообщение sergejey » Чт май 24, 2012 3:23 pm

Скоро на экранах... :)

В общем идёт работа над новой концепцией интерфейса управления. Всё будет очень наглядно, очень настраиваемо и очень динамично.
За это сообщение автора sergejey поблагодарил:
piton_78 (Пн апр 09, 2018 11:58 pm)
Рейтинг: 1.16%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: Новый интерфейс

Сообщение Vit » Чт май 24, 2012 3:48 pm

sergejey писал(а):Скоро на экранах... :)
В общем идёт работа над новой концепцией интерфейса управления. Всё будет очень наглядно, очень настраиваемо и очень динамично.

Спасибо Сереж тебе за твой проект и огромную проделанную работу!!!

С нетерпением буду ждать нового интерфейса управления.

Думаю Все, кто уже использует, либо решил использовать для домашней (и не только) автоматизации проект "MajorDoMo" поддержат меня.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Новый интерфейс

Сообщение Alex » Пт май 25, 2012 10:43 am

Просто огонь :)

То, что надо. Ждём подробностей.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Новый интерфейс

Сообщение sergejey » Пт май 25, 2012 5:11 pm

Пока оно ещё в работе, но делюсь некоторыми подробностями.

Интерфейс будет состоять из сцен, для каждой сцены можно установить свою фоновую картинку -- например план участка, дома или этажа. Разные сцены нужны для возможности переключаться (например между этажами).

Далее, к сценам можно будет добавлять элементы управления/индикации. У каждого элемента может быть любое количество состояний -- для них будут настраиваться условия показа. Например, элемент "Лампочка" будет отображаться в состоянии "Горит", если переменная "ThisComputer.LightIsOn" в состоянии "1". Каждое состояние может иметь своё отображение, проще говоря, картинку.

Так же каждое состояние позволяет повесить на него сценарий, который будет отправлен на выполнение по нажатию на элемент.

В принципе, можно создать из этого модуля интерфейс по своему вкусу, загрузив свой дизайн для кнопок, рычажков и прочего.

Прямо сейчас этот модуль готов процентов на 30% -- можно создавать сцены, добавлять элементы, настраивать состояния. Дальше надо сделать пользовательскую часть и можно будет уже как-то пользоваться.
За это сообщение автора sergejey поблагодарил:
piton_78 (Пн апр 09, 2018 11:59 pm)
Рейтинг: 1.16%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: Новый интерфейс

Сообщение Vit » Сб май 26, 2012 6:16 am

sergejey писал(а):Пока оно ещё в работе, но делюсь некоторыми подробностями.

Интерфейс будет состоять из сцен, для каждой сцены можно установить свою фоновую картинку -- например план участка, дома или этажа. Разные сцены нужны для возможности переключаться (например между этажами).

Далее, к сценам можно будет добавлять элементы управления/индикации. У каждого элемента может быть любое количество состояний -- для них будут настраиваться условия показа. Например, элемент "Лампочка" будет отображаться в состоянии "Горит", если переменная "ThisComputer.LightIsOn" в состоянии "1". Каждое состояние может иметь своё отображение, проще говоря, картинку.

Так же каждое состояние позволяет повесить на него сценарий, который будет отправлен на выполнение по нажатию на элемент.

В принципе, можно создать из этого модуля интерфейс по своему вкусу, загрузив свой дизайн для кнопок, рычажков и прочего.

Прямо сейчас этот модуль готов процентов на 30% -- можно создавать сцены, добавлять элементы, настраивать состояния. Дальше надо сделать пользовательскую часть и можно будет уже как-то пользоваться.
Классно, ждем когда можно будет пощупать данный интерфейс :)
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Новый интерфейс

Сообщение sergejey » Пт июн 01, 2012 4:40 pm

Выложил в исходниках первую версию модуля. Ниже распишу что это такое для тех, кто решится у себя поставить :)

Итак, немного повторюсь. Суть модуля в создании так называемых "сцен", на которые можно навешивать элементы интерфейса. Элементы могут быть либо информационными либо интерактивными, т.е. на них можно нажимать и инициировать какие-то действия.

Первоначально в модуле нужно задать размеры области показа сцен:
Изображение
(сами сцены могут быть других размеров, но не больше)

Добавляем сцену, указывая путь к фоновой картинке:

Изображение
(названия элементов сцены сразу на ней показываются, если они были добавлены на сцену -- сделано для удобства ориентирования)

После того как у нас есть сцена, мы можем на неё добавлять элементы:
Изображение

При добавлении элемента надо указать как он будет называться, его координаты (TOP, LEFT -- отступ сверху и слево), и тип (image/html).
Изображение

Немного о типах. Тип Image обозначает, что элемент будет картинкой, а HTML значит, что он будет блоком HTML-кода (или просто текста). В последнем случае нужно будет задать ещё ширину и высоту блока (для картинки используется ширина/высота картинки).

После добавления элемента появляется возможность добавить его "состояния". На самом деле, на экране как раз будут показываться различные состояния элмента в заданных координатах.

Вот пример настройки состояния "On" для картинки:
Изображение

Основные опции настройки состояния:

Название -- ни на что не влияет и нигде не отображается, просто для удобства

Image -- картинка состояния. Если элемент типа HTML, то здесь может быть текст или код. Кстати, в текст можно вставлять служебные обозначения к примеру %Object.Property%, которые при выводе будут заменены на значение свойства объекта. Можно сделать вывод времени или температуры.

Run script on click -- если выбран сценарий, то он будет запущен при клике на элемент

Display condition -- (самое интересно) это условие отображения состояния. Может быть n/a -- т.е. всегда активно. Полезно для кнопок или отображения какой-то меняющейся информации (температура и прочее). Условие может быть simple -- простое и, наверное, наиболее часто используемое. При выборе такого типа условия нужно будет задать объект/свойство и критерий сравнения. Если условие будет верно, то состояние будет активно и отображаться, если нет, то нет.

Пример simple условия:
Изображение

При температуре котла больше 40 градусов на сцене будет отображен элемент в данном состоянии. Это может быть, например, большая красная лампочка. Даже мигающая, если в качестве картинки использовать gif-анимацию.

Последним типом условия является advanced, при котором можно ввести собственный php-код со сколь угодно сложными условиями. Главное, чтобы этот код устанавливал значение переменной $display в 0 или 1.

Пример advanced условия:
Изображение

В приведённом выше примере реализовано случайное включение/выключение состояния.

Если выбран тип условия simple или advanced, то появляется ещё одна опция: switch scene when activated . Если эта галочка выбрана, то в случае активации состояния, будет автоматически активирована соответствующая сцена. Это может быть очень удобно, когда сцен несколько (этажи здания) и происходит важное событие на сцене, которая в данный момент не выбрана, тогда система сама переключится из текущей сцены в ту, где произошло событие.

Вот как выглядит интерфейс сцен со стороны пользователя:

Сцена 1 (два элемента -- лампочка и сообщение)
Изображение

Сцена 2 (один элемент -- большая красная кнопка)
Изображение

Элементы дизайна сцен (картинки) находятся в папке /cms/scenes/backgrounds и /cms/scenes/elements -- туда можно копировать свои и они будут доступны для выбора. Со временем хотелось бы набрать какую-то базу часто-используемых элементов (выключатели, лампочки, кнопки и т.п.).

Модуль этот использовать можно очень широко, например как альтернативу меню управления и совсем не обязательно, чтобы фоновой картинкой был план комнат -- можно использовать в качестве фона картинку деревянного стола и на нём разложить иконки запуска различных действий. В общем, всё только в рамках вашей фантазии!

Вот собственно и всё :)

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: Новый интерфейс

Сообщение Vit » Сб июн 02, 2012 3:47 pm

Обновился, пощупал, впечатления классные. Совсем по другому все воспринимается.... Все наглядно, универсально, легко настраиваемое.

Изображение
Пробуйте, пишите отзывы..
Panchez
Сообщения: 99
Зарегистрирован: Вс апр 29, 2012 7:31 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Новый интерфейс

Сообщение Panchez » Сб июн 02, 2012 11:30 pm

Отличная работа, очень удобно, легко настраивать!
С уважением
Александр.
sochkasov
Сообщения: 21
Зарегистрирован: Ср июл 25, 2012 4:15 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Новый интерфейс

Сообщение sochkasov » Пн сен 17, 2012 4:14 pm

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

Re: Новый интерфейс

Сообщение sergejey » Пн сен 17, 2012 5:31 pm

sochkasov писал(а):А в каком ПО рисуются такие замечательные картинки "разрезов" помещений?
Картинки с планами это я просто для примера в интернете нашел. Но вообще можно использовать Google Sketchup -- простая программа для 3d-моделирования. На ней можно быстро план стен набросать. Ну или смотреть уже что-то специализированное, например веб-сервис http://www.roomle.com/

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Ответить