Активные объекты на сценах

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

Модератор: immortal

Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: Активные объекты на сценах

Сообщение Vit » Вс сен 14, 2014 1:07 pm

Dragon писал(а):
Vit писал(а):
На сцене добавьте элемент например картинку, в нем два состояния например вкл/выкл и условие status=1 вкл и наоборот .
добавил элемент ..лампы.. сделал два состояния On и Off. но при запуска интерфейса сцены элемент пропадает.

дается мне что где то и что то еще надо прописывать. а что и где я без понятия.
Как на скрине поставьте условие статус например.
Dragon
Сообщения: 96
Зарегистрирован: Ср авг 27, 2014 6:14 am
Благодарил (а): 36 раз
Поблагодарили: 0

Re: Активные объекты на сценах

Сообщение Dragon » Вс сен 14, 2014 2:54 pm

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

Re: Активные объекты на сценах

Сообщение Bagir » Вс сен 14, 2014 4:56 pm

План понимания примерно такой:
У Вас есть:
1. Порт IN на Меге, к которому подключен выключатель на стене.
2. Порт OUT на Меге, к которому подключена лампочка в комнате.
3. Есть лампочка на сцене.
4. Нужно создать объект Relay1MegaD1 класса Relays.
Теперь это все нужно перевязать большим узлом с бантиком ))

В классе Relays мы создадим объект Relay1MegaD1. У него будет свойство Status, по которому можно узнать, включен свет или нет. Наш объект всегда можно спросить о статусе, и он ответит нам 0-выкл или 1-вкл. Еще у него будут методы Включить (turnOff ) и выключить (turnOff ). Все это уже там есть. Нам лишь надо добавить код в методы включить и выключить. Тогда наш объект уже сможет чем то управлять, а именно портом OUT на Меге.

Теперь про лампочку на сцене. Она будет смотреть на свойство status объекта Relay1MegaD1 и показывать его состояние. А при клике по лампочке, она должна выполнить метод turnOn или turnOff объекта Relay1MegaD1.

Все, мы научили объект Relay1MegaD1 класса Relays управлять портом OUT на Меге и завязали лампочку на сцене с объектом Relay1MegaD1 класса Relays.

Осталось настроить сообщения от выключателя, который подключен к Меге на порт IN, чтобы при его нажатии наш объект Relay1MegaD1 переключал реле. Это можно сделать в методе incomingMessage класса MegaD. Об этом мы вчера говорили, и все получилось.
За это сообщение автора Bagir поблагодарил:
foxvlad (Вс сен 28, 2014 1:13 am)
Рейтинг: 1.16%
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Dragon
Сообщения: 96
Зарегистрирован: Ср авг 27, 2014 6:14 am
Благодарил (а): 36 раз
Поблагодарили: 0

Re: Активные объекты на сценах

Сообщение Dragon » Вс сен 14, 2014 5:42 pm

Bagir писал(а):
В классе Relays мы создадим объект Relay1MegaD1. У него будет свойство Status, по которому можно узнать, включен свет или нет. Наш объект всегда можно спросить о статусе, и он ответит нам 0-выкл или 1-вкл. Еще у него будут методы Включить (turnOff ) и выключить (turnOff ). Все это уже там есть. Нам лишь надо добавить код в методы включить и выключить. Тогда наш объект уже сможет чем то управлять, а именно портом OUT на Меге.
Как прописать метод опроса объекта.
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Активные объекты на сценах

Сообщение Bagir » Вс сен 14, 2014 6:00 pm

Если вы про лампочку на сцене, то у нее надо создать два состояния с разными картинками горит и не горит. Назовем состояния Включено и Выключено. В каждом из них нужно указать
Object Relay1MegaD1
Property Status
Condition =
Value 1 и 0 соответственно
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Dragon
Сообщения: 96
Зарегистрирован: Ср авг 27, 2014 6:14 am
Благодарил (а): 36 раз
Поблагодарили: 0

Re: Активные объекты на сценах

Сообщение Dragon » Вс сен 14, 2014 6:03 pm

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

Re: Активные объекты на сценах

Сообщение Bagir » Вс сен 14, 2014 6:43 pm

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

Re: Активные объекты на сценах

Сообщение Bagir » Вс сен 14, 2014 6:44 pm

Ой как бы спойлеры не помешали!!! Можно создавать компактные мега посты. Надо просить Сергея чтобы прикрутил!
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Dragon
Сообщения: 96
Зарегистрирован: Ср авг 27, 2014 6:14 am
Благодарил (а): 36 раз
Поблагодарили: 0

Re: Активные объекты на сценах

Сообщение Dragon » Вс сен 14, 2014 7:30 pm

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

Re: Активные объекты на сценах

Сообщение Bagir » Вс сен 14, 2014 7:47 pm

Ну тогда я даже и не знаю. Этот момент у меня вообще на ура сразу получился. Попробуйте изменить Условие отображения -> n/a (всегда показывать)
Изображение
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Ответить