Виртуальное устройство "Кнопка"
Кнопка — это виртуальное устройство, предназначенное для обработки различных типов нажатия (короткое, длинное, удержание) и запуска соответствующих действий. Кнопка может управлять светильниками, шторами, устройствами, а также запускать сценарии.

⚙️ Назначение
Кнопка реагирует на бинарный вход (0/1), получаемый из KNX, Wiren Board или любого другого источника, и определяет тип нажатия:
- короткое — включение/выключение
- удержание — диммирование или движение
- длинное — отдельная команда (например, запуск сценария)
🧩 Работа характеристик
Устройство содержит две характеристики:
- Состояние кнопки — принимает значения 1 (нажато) и 0 (отжато). Обновляется напрямую от физического входа.
- Действие кнопки — логическая характеристика, определяемая автоматически на основе времени между нажатием и отпусканием.
При изменении характеристики Состояние кнопки устройство запускает внутреннюю логику и определяет тип нажатия по таймингам. Результат записывается в характеристику Действие кнопки.
🔌 Интеграция с оборудованием
Для корректной работы необходимо связать характеристику Состояние кнопки с тегом статуса входа.
Поддерживаются:
- Входы контроллера или модулей Wiren Board — WBDI-14, WB-MCM8 (в режиме быстрого Modbus), входы реле и диммеров
- Выключатели KNX — через привязку к соответствующему групповому адресу (GA)
Тег должен присылать значение 1 при замыкании (нажатии) и 0 при размыкании (отпускании).
⚙️ Настройка действий
Можно назначить действия для разных типов нажатий:
- Управление светильниками — короткое нажатие включает/выключает, удержание диммирует
- Управление устройствами — включение/выключение
- Управление шторами — короткое нажатие открывает/закрывает, удержание останавливает
- Запуск сценариев — любое действие может вызывать запуск
Вы можете использовать встроенные разделы:
- управлять светильниками
- управлять устройствами
- управлять шторами
В этих разделах достаточно выбрать нужные устройства из списка — кнопка автоматически выполнит нужные действия по каждому типу нажатия.
При управлении несколькими устройствами действует следующая логика:
- Если выбраны несколько светильников:
- Если их состояния различаются (один включён, другой выключен) — первое короткое нажатие выключает все светильники, следующее включает все.
- При удержании кнопки, если светильники поддерживают диммирование — они будут плавно менять яркость от текущего значения до максимального. Повторное удержание меняет направление — до минимального уровня.
- Если выбраны несколько штор:
- Короткое нажатие, если не все шторы открыты — откроет все.
- Повторное короткое нажатие — закроет все шторы.
- Удержание кнопки — остановит движение всех штор одновременно.
Если нужно больше гибкости — можно не использовать встроенные блоки, а задать произвольную логику через сценарий Сценарные кнопки. В этом сценарии:
- выбираются одна или две кнопки, участвующие в логике;
- настраиваются действия на любые события (коснулись, отпустили, короткое, длинное, двойное нажатие и др.);
- можно задать индивидуальные задержки длинного нажатия для каждой кнопки.
Возможность задать действия при одновременном нажатии двух кнопок — находится в планах реализации.
⏱ Параметры
- Время длинного нажатия — длительность удержания, по истечении которой оно считается «длинным» (по умолчанию: 6 × 0.1 = 0.6 сек)
🧾 Возможные значения «Действие кнопки»
Характеристика Действие кнопки принимает одно из следующих значений:
- отпустили — завершение любого нажатия
- коснулись — моментальное касание кнопки (устанавливается мгновенно при изменении Состояния кнопки на "нажата")
- одиночное нажатие — короткое нажатие
- двойное нажатие — два коротких нажатия подряд
- длинное нажатие — удержание дольше заданного времени
Коснулись — это событие, которое фиксируется сразу при замыкании входа (нажатии). Оно позволяет максимально быстро запускать действия (например, свет по касанию), не дожидаясь завершения нажатия и определения его типа. Это особенно полезно для сценариев, требующих минимальной задержки.
👁 Интерфейс
Кнопка — это системное устройство. Она не отображается в пользовательском интерфейсе и служит для построения логики.