Как заставить работать Switch с свойством (значения ON\OFF)
Модератор: immortal
-
- Сообщения: 80
- Зарегистрирован: Пн апр 01, 2013 10:20 pm
- Откуда: Днепропетровск
- Благодарил (а): 7 раз
- Поблагодарили: 3 раза
Как заставить работать Switch с свойством (значения ON\OFF)
У меня есть свойство для лампочки Light.enabled. Оно содержит значения 'ON'\'OFF', вместо привычных 1\0. Прописал это свойство в меню, но переключатель не хочет правильно отображаться. Т.е. он переключается когда нажимаю, всё правильно срабатывает, но автоматически возвращается в положение Выкл. после автообновления. Приложил картинку. Пробовал вписывать "Текущее значение", оно пропадает и не помогает.
Помогите с настройкой, а лучше подскажите где посмотреть работу выключателя в коде. Похоже читать код быстрее чем опытным путём подбирать чтоб заработало.
Помогите с настройкой, а лучше подскажите где посмотреть работу выключателя в коде. Похоже читать код быстрее чем опытным путём подбирать чтоб заработало.
- Вложения
-
- Switch.png (9.3 КБ) 13612 просмотров
-
- Сообщения: 289
- Зарегистрирован: Вс сен 16, 2012 9:39 am
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Как заставить работать Switch с свойством (значения ON\O
if (($params['VALUE'])&&(gg("Storeroom.enabled")=="ON"))
{
sg("Storeroom.enabled","ON");
}
else
{
sg("Storeroom.enabled","OFF");
}
если так попробовать, пол часа назад себе подобное делал, но у меня 0 и 1 вместо ON OFF
это прописать в поле Код
{
sg("Storeroom.enabled","ON");
}
else
{
sg("Storeroom.enabled","OFF");
}
если так попробовать, пол часа назад себе подобное делал, но у меня 0 и 1 вместо ON OFF
это прописать в поле Код
Re: Как заставить работать Switch с свойством (значения ON\O
Я так понимаю, это для Мегадевайса? Там в прошивке на крайний случай легко поменять на значения 0 и 1 и посмотреть как будет.
С уважением
Александр.
Александр.
-
- Сообщения: 80
- Зарегистрирован: Пн апр 01, 2013 10:20 pm
- Откуда: Днепропетровск
- Благодарил (а): 7 раз
- Поблагодарили: 3 раза
Re: Как заставить работать Switch с свойством (значения ON\O
Этот код меняет свойство когда кликаешь. У меня проблема с другой стороны. Switch отлично вызывает указанный метод и свет вкл\выкл. У меня проблема в том что switch не понимает моих значений on\off и в результате показывает не тот статус. Т.е. я включаю свет, он включился, а switch остаётся в состоянии выключен.Urbas81 писал(а):if (($params['VALUE'])&&(gg("Storeroom.enabled")=="ON")
P.s. мне не сложно переделать код чтоб было 0\1, но пока интересно.
-
- Сообщения: 469
- Зарегистрирован: Вт мар 12, 2013 1:22 am
- Благодарил (а): 41 раз
- Поблагодарили: 81 раз
Re: Как заставить работать Switch с свойством (значения ON\O
Введите вторую переменную Storeroom.enabled_switch, она будет только для установки положения (привяжите её к переключателю).
в коде toggleSwitch присваивайте этой переменной 1/0 в зависимости от значения основной Storeroom.enabled
в коде toggleSwitch присваивайте этой переменной 1/0 в зависимости от значения основной Storeroom.enabled
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Как заставить работать Switch с свойством (значения ON\O
Выключатель действительно понимает только 1/0, а вот "On" и "Off" всегда воспринимается как 1.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 80
- Зарегистрирован: Пн апр 01, 2013 10:20 pm
- Откуда: Днепропетровск
- Благодарил (а): 7 раз
- Поблагодарили: 3 раза
Re: Как заставить работать Switch с свойством (значения ON\O
Ну раз автор рекомендует переделать на 1\0, сделаем. Думал я ещё не познал все тонкости.
И подскажите по контролу "Текущее значение". Какова его цель? Почему я могу его редактировать?
И подскажите по контролу "Текущее значение". Какова его цель? Почему я могу его редактировать?
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Как заставить работать Switch с свойством (значения ON\O
Контролы могут работать и без привязки к свойствам объектов и в таком случае текущее значение отражает последнее состояние. Собственно, оно всегда отражает последнее установленное состояние, просто в случае привязки к свойству это состояние обновляется автоматически из свойства. Редактировать его можно, но если есть привязка к свойству объекта, то оно ни на что не влияет.dimitrystd писал(а):Ну раз автор рекомендует переделать на 1\0, сделаем. Думал я ещё не познал все тонкости.
И подскажите по контролу "Текущее значение". Какова его цель? Почему я могу его редактировать?
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 22
- Зарегистрирован: Пн апр 08, 2013 3:54 pm
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Как заставить работать Switch с свойством (значения ON\O
Всем привет!
Я, как и все, собравшиеся на этом форуме, "добавляю мозгов" своему дому. Управление решил сделать на Arduino Мега. В принципе, скелет уже готов, все работает как мне надо, но появилась проблема с интерфейсом. Вот и нашел такую замечательную разработку! Спасибо авторам и всем, кто участвует в данном проекте!
После установки сервера, занялся подстройкой системы к дому. И сразу появился вопрос.
Я хочу сделать переключение реле объектом "Switch". Переключая переключатель, все отлично срабатывает. Но к ардуино у меня подключен радио пульт. который тоже переключает нужное реле.
Как из ардуино возвращать к серверу информацию о том, какой переключатель включен?
Например, я включил свет с радио пульта, а не с сервера, но в "Web морде", переключатель, естественно, остался в положении "0" т.е. "Выкл".
Мега подключена через W5100. Что нужно отправить серверу, чтобы переключатель встал в положение "Вкл" при нажатии кнопки на радио пульте?
Я, как и все, собравшиеся на этом форуме, "добавляю мозгов" своему дому. Управление решил сделать на Arduino Мега. В принципе, скелет уже готов, все работает как мне надо, но появилась проблема с интерфейсом. Вот и нашел такую замечательную разработку! Спасибо авторам и всем, кто участвует в данном проекте!
После установки сервера, занялся подстройкой системы к дому. И сразу появился вопрос.
Я хочу сделать переключение реле объектом "Switch". Переключая переключатель, все отлично срабатывает. Но к ардуино у меня подключен радио пульт. который тоже переключает нужное реле.
Как из ардуино возвращать к серверу информацию о том, какой переключатель включен?
Например, я включил свет с радио пульта, а не с сервера, но в "Web морде", переключатель, естественно, остался в положении "0" т.е. "Выкл".
Мега подключена через W5100. Что нужно отправить серверу, чтобы переключатель встал в положение "Вкл" при нажатии кнопки на радио пульте?
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Как заставить работать Switch с свойством (значения ON\O
Добро пожаловатьStanislav писал(а):Всем привет!
Я, как и все, собравшиеся на этом форуме, "добавляю мозгов" своему дому. Управление решил сделать на Arduino Мега. В принципе, скелет уже готов, все работает как мне надо, но появилась проблема с интерфейсом. Вот и нашел такую замечательную разработку! Спасибо авторам и всем, кто участвует в данном проекте!
Во-первых, лучше всего завести объект, который будет отвечать за этот выключатель (а лучше целый класс на будущее). В этом объекте добавить свойство status. Далее, сделать привязку переключателя к этому свойству (там можно задать связанный объект). Теперь изменение положение выключателя будет менять свойство объекта. Более того, изменение свойства объекта будет менять состояние переключателя. Нам лишь нужно, чтобы мега могла устанавливать это свойство. Для этого нужно просто инициировать http-запрос вида:После установки сервера, занялся подстройкой системы к дому. И сразу появился вопрос.
Я хочу сделать переключение реле объектом "Switch". Переключая переключатель, все отлично срабатывает. Но к ардуино у меня подключен радио пульт. который тоже переключает нужное реле.
Как из ардуино возвращать к серверу информацию о том, какой переключатель включен?
Например, я включил свет с радио пульта, а не с сервера, но в "Web морде", переключатель, естественно, остался в положении "0" т.е. "Выкл".
Мега подключена через W5100. Что нужно отправить серверу, чтобы переключатель встал в положение "Вкл" при нажатии кнопки на радио пульте?
http://сервер/objects/?object=myObject&p=status&op=set&v=1
вместо myObject имя объекта, вместо 1 (включено) может быть и 0 (выключено)
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги