Доброго дня, форумчане.
Система дома управляется посредством Raspberry Pi. Программа RaZberry.
Суть в следующем.Свет в квартире управляется посредством встраиваемых реле. Выключателей в квартире 5, поэтому установить в каждый подрозетник реле, не критично в ценовом формате. Но для управления розеток коих более 30 использовать реле для каждой розетки дорого, а использовать для группы розеток не правильно, так как суммарная мощность может превысить допустимую. Поэтому возникла идея управлять группами розеток из щитка, включая и отключая линию.
Для этого на порты GPIO, через развязку, были подключены импульсные реле (импульсные потому что не требуют постоянного питания), в интерфейса созданы виртуальные кнопки (toggleButton) которые выключают и выключают реле. То есть включение и выключение происходит одной кнопкой.
Все работает прекрасно. Но возникает вопрос, а как проконтролировать в каком состоянии линия и есть ли на ней напряжение? Так как состояние порта всегда выключено то команда "system('cat /sys/class/gpio/gpio20/value')[1] == "1" ? "on" : "off"" не пойдет.
Были собраны модули которые смотрят есть ли напряжение и если есть, то выдают сигнал на другие порты GPIO. С них информация выдается в "Code Device" которая показывает в каком состоянии линия.
Все хорошо, но мало того модули в интерфейсе двоятся так и ещё где лампочка от какого выключателя понятно только если прочитать название.
Отсюда вопрос, можно ли создать общий модуль "Code Device" который имеет и кнопку и лампочку либо как то связать два модуля в один.
Объединить две кнопки в интерфейсе Z-Way
Re: Объединить две кнопки в интерфейсе Z-Way
Конечно я не разбираюсь сильно, но почему не CodeDevice "switchBinary" использовать? Там же вроде и статус опросить можно и комманду по on/off можно выполнить?
Re: Объединить две кнопки в интерфейсе Z-Way
switchBinary имеет два статуса on/off. А импульсное реле управляется кратковременным импульсом. Используется звонковая кнопка.gsaw wrote:Конечно я не разбираюсь сильно, но почему не CodeDevice "switchBinary" использовать? Там же вроде и статус опросить можно и комманду по on/off можно выполнить?
Для switchBinary необходимо ставить обыкновенный контактор, и он во включенном состоянии
постоянно потребляет электричество.
Re: Объединить две кнопки в интерфейсе Z-Way
Почему бы просто в on и off не прописать одну и ту же команду? Имею ввиду, статус это одно, это опросить пин. А в on/off пишутся команды на включение/выключение. В вашем случае это одна и таже комманда, выставить кротковременно однерку в пине или как это там у вас. Реле переключится, статус на другом пине будет опрошен, соответсвенно загорится или потухнет "лампочка".picachu wrote:switchBinary имеет два статуса on/off. А импульсное реле управляется кратковременным импульсом. Используется звонковая кнопка.gsaw wrote:Конечно я не разбираюсь сильно, но почему не CodeDevice "switchBinary" использовать? Там же вроде и статус опросить можно и комманду по on/off можно выполнить?
Для switchBinary необходимо ставить обыкновенный контактор, и он во включенном состоянии
постоянно потребляет электричество.
А, понял, хочется просто одну нефиксируемую кнопку. Ну тогда наверное надо свой модуль писать.
Re: Объединить две кнопки в интерфейсе Z-Way
а toggleButton не подойдёт?
Re: Объединить две кнопки в интерфейсе Z-Way
PoltoS, а я что написал? Я toggleButton и использую.PoltoS wrote:а toggleButton не подойдёт?
Вопрос стоял как объединить toggleButton с SensorBinary в одном модуле используя разные поры GPIO.
Re: Объединить две кнопки в интерфейсе Z-Way
Ничего не понял, но, видимо, вы правы
Re: Объединить две кнопки в интерфейсе Z-Way
Давайте я напишу с картинками, а то вероятно действительно трудно понять.PoltoS wrote:Ничего не понял, но, видимо, вы правы
Собрана схема для управления розетками.
В интерфейсе созданы модули управления.
Модуль toggleButton подключен на 24 пин GPIO и содержит код
Code: Select all
system('echo "1" > /sys/class/gpio/gpio24/value');
Модуль SensorBinary подключен на 23 пин и содержит код
Code: Select all
(system('/bin/cat /sys/class/gpio/gpio23/value')[1] === '1\n') ? "off":"on"
Таким образом мы имеем один модуль кнопки и один модель индикации. А так как линий несколько, то модулей в два раза больше. И сразу понять какой SensorBinary к какому toggleButton относится сложно.
Поэтому возникло желание как нибудь объединить оба модуля в один. Примерно как на рисунке (нарисовано руками) Что бы модуль мог работать одновременно с двумя пинами GPIO/
Я пробовал поправить код модуля. Но вероятно моих познаний в джаваскрипте недостаточно и у меня ничего не получилось
Re: Объединить две кнопки в интерфейсе Z-Way
Такой вьюхи в интерфейсе нет.
Можно, конечно, самому сделать. Несного копипасты, и готово
Можно, конечно, самому сделать. Несного копипасты, и готово
Re: Объединить две кнопки в интерфейсе Z-Way
Хм, то что такого нет, это я и сам понял.PoltoS wrote:Такой вьюхи в интерфейсе нет.
Можно, конечно, самому сделать. Несного копипасты, и готово
Но как бы надеялся на более конкретный ответ, что и где копипастить то и куда
Мои познания в JS как бы не позволяют сделать оное методом тыка.