Объединить две кнопки в интерфейсе Z-Way

Данный раздел предназначен для русскоязычных пользователей. Если вы владеете английским, рекомендуем также просмотреть общую ветку обсуждений на английском.
picachu
Posts: 141
Joined: 02 Mar 2016 10:44

Объединить две кнопки в интерфейсе Z-Way

Post by picachu »

Доброго дня, форумчане.

Система дома управляется посредством Raspberry Pi. Программа RaZberry.

Суть в следующем.Свет в квартире управляется посредством встраиваемых реле. Выключателей в квартире 5, поэтому установить в каждый подрозетник реле, не критично в ценовом формате. Но для управления розеток коих более 30 использовать реле для каждой розетки дорого, а использовать для группы розеток не правильно, так как суммарная мощность может превысить допустимую. Поэтому возникла идея управлять группами розеток из щитка, включая и отключая линию.

Для этого на порты GPIO, через развязку, были подключены импульсные реле (импульсные потому что не требуют постоянного питания), в интерфейса созданы виртуальные кнопки (toggleButton) которые выключают и выключают реле. То есть включение и выключение происходит одной кнопкой.

Все работает прекрасно. Но возникает вопрос, а как проконтролировать в каком состоянии линия и есть ли на ней напряжение? Так как состояние порта всегда выключено то команда "system('cat /sys/class/gpio/gpio20/value')[1] == "1" ? "on" : "off"" не пойдет.
Были собраны модули которые смотрят есть ли напряжение и если есть, то выдают сигнал на другие порты GPIO. С них информация выдается в "Code Device" которая показывает в каком состоянии линия.

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

Отсюда вопрос, можно ли создать общий модуль "Code Device" который имеет и кнопку и лампочку либо как то связать два модуля в один.
gsaw
Posts: 78
Joined: 22 Aug 2016 00:26

Re: Объединить две кнопки в интерфейсе Z-Way

Post by gsaw »

Конечно я не разбираюсь сильно, но почему не CodeDevice "switchBinary" использовать? Там же вроде и статус опросить можно и комманду по on/off можно выполнить?
picachu
Posts: 141
Joined: 02 Mar 2016 10:44

Re: Объединить две кнопки в интерфейсе Z-Way

Post by picachu »

gsaw wrote:Конечно я не разбираюсь сильно, но почему не CodeDevice "switchBinary" использовать? Там же вроде и статус опросить можно и комманду по on/off можно выполнить?
switchBinary имеет два статуса on/off. А импульсное реле управляется кратковременным импульсом. Используется звонковая кнопка.
Для switchBinary необходимо ставить обыкновенный контактор, и он во включенном состоянии
постоянно потребляет электричество.
gsaw
Posts: 78
Joined: 22 Aug 2016 00:26

Re: Объединить две кнопки в интерфейсе Z-Way

Post by gsaw »

picachu wrote:
gsaw wrote:Конечно я не разбираюсь сильно, но почему не CodeDevice "switchBinary" использовать? Там же вроде и статус опросить можно и комманду по on/off можно выполнить?
switchBinary имеет два статуса on/off. А импульсное реле управляется кратковременным импульсом. Используется звонковая кнопка.
Для switchBinary необходимо ставить обыкновенный контактор, и он во включенном состоянии
постоянно потребляет электричество.
Почему бы просто в on и off не прописать одну и ту же команду? Имею ввиду, статус это одно, это опросить пин. А в on/off пишутся команды на включение/выключение. В вашем случае это одна и таже комманда, выставить кротковременно однерку в пине или как это там у вас. Реле переключится, статус на другом пине будет опрошен, соответсвенно загорится или потухнет "лампочка".

А, понял, хочется просто одну нефиксируемую кнопку. Ну тогда наверное надо свой модуль писать.
User avatar
PoltoS
Posts: 7579
Joined: 26 Jan 2011 19:36

Re: Объединить две кнопки в интерфейсе Z-Way

Post by PoltoS »

а toggleButton не подойдёт?
picachu
Posts: 141
Joined: 02 Mar 2016 10:44

Re: Объединить две кнопки в интерфейсе Z-Way

Post by picachu »

PoltoS wrote:а toggleButton не подойдёт?
PoltoS, а я что написал? Я toggleButton и использую.
Вопрос стоял как объединить toggleButton с SensorBinary в одном модуле используя разные поры GPIO.
User avatar
PoltoS
Posts: 7579
Joined: 26 Jan 2011 19:36

Re: Объединить две кнопки в интерфейсе Z-Way

Post by PoltoS »

Ничего не понял, но, видимо, вы правы ;)
picachu
Posts: 141
Joined: 02 Mar 2016 10:44

Re: Объединить две кнопки в интерфейсе Z-Way

Post by picachu »

PoltoS wrote:Ничего не понял, но, видимо, вы правы ;)
Давайте я напишу с картинками, а то вероятно действительно трудно понять.

Собрана схема для управления розетками.
Схема управления
Схема управления
Схема управления розеток.png (114.66 KiB) Viewed 9792 times
В интерфейсе созданы модули управления.

Модуль 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"
Кнопки в интерфейсе
Кнопки в интерфейсе
Кнопки.png (19.73 KiB) Viewed 9792 times
При нажатии на кнопку toggleButton импульсное реле включается, модуль проверки напряжения подает на 23 пин высокий уровень, SensorBinary показывает что на линии появилось напряжение. При повторном нажатии реле выключается, SensorBinary показывает что напряжения нет.


Таким образом мы имеем один модуль кнопки и один модель индикации. А так как линий несколько, то модулей в два раза больше. И сразу понять какой SensorBinary к какому toggleButton относится сложно.

Поэтому возникло желание как нибудь объединить оба модуля в один. Примерно как на рисунке (нарисовано руками)
Кнопка-хотелка
Кнопка-хотелка
кнопка.png (7.99 KiB) Viewed 9792 times
Что бы модуль мог работать одновременно с двумя пинами GPIO/

Я пробовал поправить код модуля. Но вероятно моих познаний в джаваскрипте недостаточно и у меня ничего не получилось
User avatar
PoltoS
Posts: 7579
Joined: 26 Jan 2011 19:36

Re: Объединить две кнопки в интерфейсе Z-Way

Post by PoltoS »

Такой вьюхи в интерфейсе нет.

Можно, конечно, самому сделать. Несного копипасты, и готово
picachu
Posts: 141
Joined: 02 Mar 2016 10:44

Re: Объединить две кнопки в интерфейсе Z-Way

Post by picachu »

PoltoS wrote:Такой вьюхи в интерфейсе нет.

Можно, конечно, самому сделать. Несного копипасты, и готово
Хм, то что такого нет, это я и сам понял.
Но как бы надеялся на более конкретный ответ, что и где копипастить то и куда ;)

Мои познания в JS как бы не позволяют сделать оное методом тыка.
Post Reply