# Проблема "двойного нажатия кнопок"

**URL:** <https://knx-forum.ru/t/problema-dvojnogo-nazhatiya-knopok/79>\
**Category:** Темы и статьи от KNX-профессионалов\
**Tags:** практикум\
**Created:** [01.Октябрь.2016 09:23:32 UTC](https://knx-forum.ru/t/problema-dvojnogo-nazhatiya-knopok/79 "2016-10-01T09:23:32Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![knxtrade](https://knx-forum.ru/user_avatar/knx-forum.ru/knxtrade/32/8_2.png) [@knxtrade](https://knx-forum.ru/u/knxtrade)\
**Post date:** [01.Октябрь.2016 09:23:32 UTC](https://knx-forum.ru/t/problema-dvojnogo-nazhatiya-knopok/79/1 "2016-10-01T09:23:32Z")

</div>

Про неё знает каждый, кто собирал проходное включение на KNX. Проблемой это становится только тогда, когда не знаешь пары правил.

Сначала про саму логику. Проходное включение это управление одной нагрузкой с двух и более выключателей. В обычной проводке для этого ставят проходные выключатели и тянут хитрую схему. В KNX ограничений нет: сколько кнопок, столько и ставим, схема не меняется.

Примеры ниже на оборудовании Zennio.

На рисунке 1 одна лампа и две сенсорные панели SQTMD. Кнопки работают в режиме переключения, по-английски toggle: каждое нажатие отправляет по очереди 0 и 1.

Рисунок 1. Проходное включение в KNX

 ![01-toggle-sc](https://knx-forum.ru/uploads/default/original/1X/cbd2ecf3d771e7ffe2dc1aaa19d7ebfd34489c3b.png)

Чтобы кнопки управляли одной нагрузкой, они должны отправлять команды в один групповой адрес, на рисунке это 1/1/1.

С изделиями Zennio проблемы не будет. С чужим оборудованием иногда приходится нажимать дважды. Почему?

В режиме переключения каждая кнопка отправляет 1 и 0 по очереди. Остальные кнопки в группе видят эту команду и меняют своё состояние на последнее отправленное. Следующее нажатие продолжает последовательность 1-0-1-0.

Так происходит потому, что у объекта кнопки установлен флаг записи.

Рисунок 2. Флаг записи

 ![02-flag-W-set](https://knx-forum.ru/uploads/default/original/1X/2adfd794899565d993a5e066c62f1da15a262b46.png)

Рисунок 3. Флаг записи вручную

 ![03-flag-W-manual](https://knx-forum.ru/uploads/default/original/1X/ec39509f7319185ca6a277a1a9334833cf2a9615.png)

Кнопка видит все команды в группе и подстраивает состояние, чтобы в следующий раз отправить противоположное.

Но производители не всегда ставят флаг записи в ETS по умолчанию: часто оставляют минимальную конфигурацию.

Рисунок 4. Флаги по умолчанию

 ![04-flags-by-default](https://knx-forum.ru/uploads/default/original/1X/76d866f36c8aff12de12ae86de9168e4d4884e6b.png)

Проверим. Снимем флаг записи у объектов кнопок.

Рисунок 5. Флаг записи снят

 ![05-flag-W-RE-set](https://knx-forum.ru/uploads/default/original/1X/a2c665b84fa5285fab31224c5b25eab30d8c1404.png)

И посмотрим групповой мониторинг. Первый случай, флаг записи стоит: последовательность 0-1-0-1 корректная.

Рисунок 6. Корректная последовательность

 ![06-correct-seq](https://knx-forum.ru/uploads/default/original/1X/015d1fff27d8ee8777cc9d861afee68d8ee673da.png)  

Второй, флаг снят: последовательность 1-0-1-0 не соблюдается. Нажатия в обоих примерах одинаковые.

Рисунок 7. Последовательность сбилась

 ![07-incorrect-seq](https://knx-forum.ru/uploads/default/original/1X/b45d633fb3d22a2ad9b64dec7f6c2f22853f4340.png)

Вывод простой: в логике проходного включения проверяйте флаг записи у передающих объектов.

Другая ситуация. Добавим кнопку общего выключения всего здания.

Рисунок 8. Общее выключение

 ![08-all-off](https://knx-forum.ru/uploads/default/original/1X/5ad504a98c1ee9f79e9872d2a50f343c6da90d9b.png)

Она всегда отправляет только 0. И снова двойное нажатие, потому что кнопки (выключатель 1.1.14) не видят её телеграмму.

Решение короткое. По правилам KNX объект может входить в несколько групповых адресов. Добавляем адрес команды общего выключения объектам наших кнопок.

Рисунок 9. Общий адрес для всех кнопок

 ![09-all-off](https://knx-forum.ru/uploads/default/original/1X/d875a16557ccaf9a3ad6c49a258d73efd5071a2d.png)  

Теперь при команде “всё выключить” в объекты кнопок записывается 0, и следующее нажатие отправит 1. Двойного нажатия нет.

С точки зрения технологии решение правильное. На практике есть неудобство: статус по управляющей телеграмме не всегда совпадает с реальным состоянием канала. Например, если в канале актуатора работают таймеры или блокировки. Со световыми стенами та же история.

Но разобрать эти примеры полезно: так становится понятнее, как KNX работает с групповыми телеграммами.

Универсальнее другое решение: статус канала актуатора. Для каждого выхода создаём отдельную группу состояния, куда входят объект статуса актуатора и объект кнопки, которая этим выходом управляет.

Рисунок 10. Группы состояния

 ![10-all-off-with-status](https://knx-forum.ru/uploads/default/original/1X/c0cf0a99d3fad099a858b6b985cfe1b738945fae.png)

---

<div class="post-metadata">

**Author:** ![Kirpalitsch](https://knx-forum.ru/letter_avatar_proxy/v4/letter/k/f07891/32.png) [@Kirpalitsch](https://knx-forum.ru/u/Kirpalitsch)\
**Post date:** [10.Январь.2018 14:44:07 UTC](https://knx-forum.ru/t/problema-dvojnogo-nazhatiya-knopok/79/2 "2018-01-10T14:44:07Z")

</div>

Спасибо большое за доступное изложение материала!  
Есть вопрос связанный с расширением этой темы.  
Допустим в схему с переключателем (выключателем) добывляем датчик движения.  
Т.е. кнопкой мы включаем группу освещения до следующего нажатия кнопки, а по датчику движения идет временное включение этой же группы освещения при условии что она выключена.

---

<div class="post-metadata">

**Author:** ![leonid](https://knx-forum.ru/letter_avatar_proxy/v4/letter/l/d9b06d/32.png) [@leonid](https://knx-forum.ru/u/leonid)\
**Post date:** [11.Январь.2018 07:52:12 UTC](https://knx-forum.ru/t/problema-dvojnogo-nazhatiya-knopok/79/3 "2018-01-11T07:52:12Z")

</div>

Также добавляете выход ДД в ту же группу.  
Если освещение уже вкл и ДД дает вкл - освещение так и остается вкл.  
Если освещение в состоянии выкл и ДД дает вкл - освещение вкл.

Никаких особенностей нет

---

<div class="post-metadata">

**Author:** ![Kirpalitsch](https://knx-forum.ru/letter_avatar_proxy/v4/letter/k/f07891/32.png) [@Kirpalitsch](https://knx-forum.ru/u/Kirpalitsch)\
**Post date:** [16.Январь.2018 20:19:35 UTC](https://knx-forum.ru/t/problema-dvojnogo-nazhatiya-knopok/79/4 "2018-01-16T20:19:35Z")

</div>

**[leonid](https://knx-forum.ru/t/problema-dvojnogo-nazhatiya-knopok/79/3)** писал(а):  
Также добавляете выход ДД в ту же группу.  
Если освещение уже вкл и ДД дает вкл - освещение так и остается вкл.  
Если освещение в состоянии выкл и ДД дает вкл - освещение вкл.

Никаких особенностей нет  
Почти, но не совсем.  
Я понял что не совсем точно описал ситуацию (упростил).  
Имеем две группы освещения: малая и большая. ДД включает и выключает только малую группу, а кнопка включает и выключает обе группы.  
Кнопка находится в зоне действия ДД. ДД до нажатия кнопки успевает включить малую группу освещения и запустить таймер на отправку сигнала отключения. Я же допустим решил задержаться в комнате подольше и нажимаю кнопку включения малой и большой группы света. Все включилось, но через 30 секунд малая группа освещения вырубается.  
Принцип, который Вы описываете работает в данном случае только если притаиться и когда после таймера ДД малая группа освещения отключится (или дважды щелкнуть кнопкой, чтобы принудительно все вырубить) нажать кнопку включения двух групп освещения, тогда ДД не конфликтует.
