Виртуальное устройство "Кнопка"

Материал из XIOT Wiki
Перейти к навигации Перейти к поиску


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

⚙️ Назначение

Кнопка реагирует на бинарный вход (0/1), получаемый из KNX, Wiren Board или любого другого источника, и определяет тип нажатия:

  • короткое — включение/выключение
  • удержание — диммирование или движение
  • длинное — отдельная команда (например, запуск сценария)

🧩 Работа характеристик

Устройство содержит две характеристики:

  • Состояние кнопки — принимает значения 1 (нажато) и 0 (отжато). Обновляется напрямую от физического входа.
  • Действие кнопки — логическая характеристика, определяемая автоматически на основе времени между нажатием и отпусканием.

При изменении характеристики Состояние кнопки устройство запускает внутреннюю логику и определяет тип нажатия по таймингам. Результат записывается в характеристику Действие кнопки.

🔌 Интеграция с оборудованием

Для корректной работы необходимо связать характеристику Состояние кнопки с тегом статуса входа.

Поддерживаются:

  • Входы контроллера или модулей Wiren Board — WBDI-14, WB-MCM8 (в режиме быстрого Modbus), входы реле и диммеров
  • Выключатели KNX — через привязку к соответствующему групповому адресу (GA)

Тег должен присылать значение 1 при замыкании (нажатии) и 0 при размыкании (отпускании).

⚙️ Настройка действий

Можно назначить действия для разных типов нажатий:

  • Управление светильниками — короткое нажатие включает/выключает, удержание диммирует
  • Управление устройствами — включение/выключение
  • Управление шторами — короткое нажатие открывает/закрывает, удержание останавливает
  • Запуск сценариев — любое действие может вызывать запуск

Вы можете использовать встроенные разделы:

  • управлять светильниками
  • управлять устройствами
  • управлять шторами

В этих разделах достаточно выбрать нужные устройства из списка — кнопка автоматически выполнит нужные действия по каждому типу нажатия.

При управлении несколькими устройствами действует следующая логика:

  • Если выбраны несколько светильников:
    • Если их состояния различаются (один включён, другой выключен) — первое короткое нажатие выключает все светильники, следующее включает все.
    • При удержании кнопки, если светильники поддерживают диммирование — они будут плавно менять яркость от текущего значения до максимального. Повторное удержание меняет направление — до минимального уровня.
  • Если выбраны несколько штор:
    • Короткое нажатие, если не все шторы открыты — откроет все.
    • Повторное короткое нажатие — закроет все шторы.
    • Удержание кнопки — остановит движение всех штор одновременно.

Если нужно больше гибкости — можно не использовать встроенные блоки, а задать произвольную логику через сценарий Сценарные кнопки. В этом сценарии:

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

Возможность задать действия при одновременном нажатии двух кнопок — находится в планах реализации.

⏱ Параметры

  • Время длинного нажатия — длительность удержания, по истечении которой оно считается «длинным» (по умолчанию: 6 × 0.1 = 0.6 сек)

🧾 Возможные значения «Действие кнопки»

Характеристика Действие кнопки принимает одно из следующих значений:

  • отпустили — завершение любого нажатия
  • коснулись — моментальное касание кнопки (устанавливается мгновенно при изменении Состояния кнопки на "нажата")
  • одиночное нажатие — короткое нажатие
  • двойное нажатие — два коротких нажатия подряд
  • длинное нажатие — удержание дольше заданного времени

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

👁 Интерфейс

Кнопка — это системное устройство. Она не отображается в пользовательском интерфейсе и служит для построения логики.

🔍 См. также

Источник — https://wiki.xiot.ru/index.php?title=Виртуальное_устройство_%22Кнопка%22&oldid=1719