Comments 22
UFO just landed and posted this here
Чекбокс не только переключает что-то между двумя состояниями, но и отображает, в каком состоянии он сейчас находится.
Т.к. нет возможности узнать состояние нагрузки, пришлось сделать две кнопки (кнопки только выполняют действие, но не отображают состояние).
Т.е., например, если Вы включите свет из приложения, а потом выключите с выключателя, то приложение не сможет узнать об этом и изменить состояние переключателя на «выключен».
Т.к. нет возможности узнать состояние нагрузки, пришлось сделать две кнопки (кнопки только выполняют действие, но не отображают состояние).
Т.е., например, если Вы включите свет из приложения, а потом выключите с выключателя, то приложение не сможет узнать об этом и изменить состояние переключателя на «выключен».
+7
UFO just landed and posted this here
Если уж не отображает состояние, тогда в чем было проблема сделать одну кнопку On/Off? :) По аналогии с toggle
0
Не думал, что есть большая разница с двумя кнопками. Если хотите, могу добавить.
0
Прислушивайтесь к тому что говорят другие, как удобно большинству, и двигайтесь в этом направлении, если вы конечно хотите сделать полезный продукт для людей, а не просто для себя. Для себя можно много чего упростить и много на что забить.
-1
Не слушайте никого. У меня две кнопки, потому что удобно. Не думать «так, вторая лампа выключена, поэтому если я нажму on-off, она включится», а просто нажать включить. А если я в другой комнате, и не вижу, какая из двух ламп выключена, а какая включена?
+1
Скорее всего будет удобнее сгрупировать эти две кнопки в одну с разделителем по середине. Это решит обе проблемы:
а. Элементы логически сгруппированы как в чекбоксе
б. Принцип работы не подразумевает отслеживания текущего состояния.
В принципе не могу понять зачем мне в таком функционале toggle — я хочу либо включить свет, либо выключить, но не «сделать наоборот»
а. Элементы логически сгруппированы как в чекбоксе
б. Принцип работы не подразумевает отслеживания текущего состояния.
В принципе не могу понять зачем мне в таком функционале toggle — я хочу либо включить свет, либо выключить, но не «сделать наоборот»
+1
Спасибо за обзор. Тоже давно хочу иметь онлайн доступ ко всем электроприборам дома, интересный проект.
0
Это надо на вооон той железке, мирно жужжащей в углу в роли NAS'а, ставить винду и иис только ради того, чтобы выключить свет?
+3
Ну, например, у меня на кухне постоянно включен ноутбук с виндой. Он качает торренты + жена на нем смотрит фильмы в фоновом режиме. Соответственно, включением/выключением света у меня тоже он занимается. Думаю, не только у меня дома постоянно включен полноценный компьютер.
А вообще, в планах попробовать запустить этот сайт на linux (примерно так). Думаю, с веб-мордой проблем не будет (ничего специфического из винды там не используется). Возможно будут трудности с отправкой команд адаптеру через USB.
А вообще, в планах попробовать запустить этот сайт на linux (примерно так). Думаю, с веб-мордой проблем не будет (ничего специфического из винды там не используется). Возможно будут трудности с отправкой команд адаптеру через USB.
+1
Если уж пошла такая пьянка, неплохо было бы стандартизировать команды web-api, чтобы клиент не зависел от сервера. Мне вот не нравится веб-страничка, нативная программа лучше — ее не надо загружать и запускается быстрее.
У меня сейчас вот так: api.php?channel=1&command=set&level=10
У меня сейчас вот так: api.php?channel=1&command=set&level=10
+1
У меня вот так:
Home/Command?page=bedroom&control=main&level=155&strong=false
page — идентификатор страницы (задается в конфиге);
control — идентификатор элемента управления (задается в конфиге);
level — уровень яркости;
strong — логическое значение, которое определяет приоритет параметра level над уровнем яркости, заданным в конфиге.
Т. е. команды отдаются не конкретным каналам адаптерам, а элементам управления, определенным в конфиге. Для каждого элемента управления в настройках можно задать несколько действий. По сути, каждый элемент управления — это как сценарный канал на выключателе.
Такой подход удобен, если нужно по нажатию одной кнопки, например, выключить основной свет и включить ночник на заданную яркость. Действия в каналах настраиваются в конфигурационном файле, а с клиента на сервер отправляется только один запрос.
Home/Command?page=bedroom&control=main&level=155&strong=false
page — идентификатор страницы (задается в конфиге);
control — идентификатор элемента управления (задается в конфиге);
level — уровень яркости;
strong — логическое значение, которое определяет приоритет параметра level над уровнем яркости, заданным в конфиге.
Т. е. команды отдаются не конкретным каналам адаптерам, а элементам управления, определенным в конфиге. Для каждого элемента управления в настройках можно задать несколько действий. По сути, каждый элемент управления — это как сценарный канал на выключателе.
Такой подход удобен, если нужно по нажатию одной кнопки, например, выключить основной свет и включить ночник на заданную яркость. Действия в каналах настраиваются в конфигурационном файле, а с клиента на сервер отправляется только один запрос.
0
Демо-приложение не работает. Нажимаю включить свет — не включается :(
Подозреваю, придется идти к выключателю пешком как обычно!
Подозреваю, придется идти к выключателю пешком как обычно!
0
Вот скажите, зачем делать велосипеды, если можно взять готовую систему (OpenRemote, OpenHAB, etc) и написать под нее плагин?
А там сразу и веб-интерфейс, и мобильный появятся?
А там сразу и веб-интерфейс, и мобильный появятся?
0
Sign up to leave a comment.
Управление светом через браузер