Button: различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) Английские адреса Wiki: обновление ссылок с сохранением русских подписей |
||
| (не показано 17 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
{{DISPLAYTITLE:Виртуальное устройство "Кнопка"}} | |||
__NOTOC__ | __NOTOC__ | ||
'''Кнопка''' | [[File:PushButton.png|28px|link=|class=xioticon]] '''Кнопка''' - это системное виртуальное устройство XIOT для обработки физической или программной кнопки. Устройство принимает сигнал нажатия/отпускания, определяет тип действия и запускает связанные команды: управление светом, шторами, устройствами или сценариями. | ||
[[Файл:2025-05-12 23-43-00.png|без|мини|634x634px]] | [[Файл:2025-05-12 23-43-00.png|без|мини|634x634px]] | ||
== ⚙️ Назначение == | == ⚙️ Назначение == | ||
Кнопка | Кнопка используется как промежуточный логический слой между реальным входом и управляемыми устройствами. На практике это позволяет: | ||
* короткое | * превратить дискретный вход контроллера, KNX-клавишу или другой источник в события XIOT; | ||
* | * быстро выполнять действие сразу при нажатии; | ||
* отличать одиночный, двойной и тройной клик; | |||
* отличать короткое нажатие от долгого удержания; | |||
* использовать одну кнопку для света, штор, реле, розеток, сирен и сценариев. | |||
== 🧩 Работа характеристик == | == 🧩 Работа характеристик == | ||
Устройство содержит две характеристики: | Устройство содержит две обязательные характеристики и одну дополнительную: | ||
* ''' | * '''состояние кнопки''' - входная характеристика. Принимает состояния '''нажата''' и '''отжата'''. Обычно именно она связывается с физическим адресом состояния входа. | ||
* ''' | * '''действие кнопки''' - логическая характеристика. Заполняется автоматически по результату обработки нажатия. | ||
* '''счетчик нажатий''' - дополнительная характеристика для источников, которые передают не состояние '''нажата / отжата''', а растущий счетчик нажатий. | |||
При изменении характеристики ''' | При изменении характеристики '''состояние кнопки''' устройство запускает внутреннюю логику. Результат записывается в '''действие кнопки''' и может быть использован встроенными блоками управления или сценариями. | ||
Если используется '''счетчик нажатий''' и включен параметр '''Определять действие кнопки по счетчику нажатий''', изменение счетчика на одно значение формирует '''одиночный клик''', на два значения - '''двойной клик''', на три значения - '''тройной клик'''. После такого события кнопка автоматически возвращает '''действие кнопки''' в состояние '''отпустили'''. | |||
== 🔌 Интеграция с оборудованием == | == 🔌 Интеграция с оборудованием == | ||
Для корректной работы необходимо связать характеристику ''' | Для корректной работы необходимо связать характеристику '''состояние кнопки''' с адресом состояния входа. | ||
Поддерживаются: | Поддерживаются: | ||
| Строка 24: | Строка 30: | ||
* '''Выключатели KNX''' — через привязку к соответствующему групповому адресу (GA) | * '''Выключатели KNX''' — через привязку к соответствующему групповому адресу (GA) | ||
При замыкании вход должен переводить характеристику в состояние '''нажата''', при размыкании - в состояние '''отжата'''. | |||
Если оборудование или интеграция передает только счетчик нажатий, можно добавить характеристику '''счетчик нажатий''' и связать ее с соответствующим адресом состояния. | |||
== ⚙️ Настройка действий == | == ⚙️ Настройка действий == | ||
Можно назначить действия для разных типов нажатий: | Можно назначить действия для разных типов нажатий: | ||
* | * '''Управлять светильниками (Одиночный клик - вкл/выкл, долгое нажатие - диммирование)'''. | ||
* | * '''Управлять светильниками (Одиночный клик - включение, долгое нажатие - диммирование вверх)'''. | ||
* | * '''Управлять светильниками (Одиночный клик - выключение, долгое нажатие - диммирование вниз)'''. | ||
* | * '''Управлять светильниками (Одиночный клик - переключить)'''. | ||
* '''Управлять устройствами (Одиночный клик и удержание - переключить)'''. | |||
* '''Управлять шторами (Одиночный клик - открыть/закрыть, долгое нажатие - стоп)'''. | |||
* '''Действие при нажатии кнопки''', '''Действие при отпускании кнопки''', '''Действие при долгом нажатии''', '''Действие при одиночном клике''', '''Действие при двойном клике''', '''Действие при тройном клике'''. | |||
Вы можете использовать встроенные разделы: | Вы можете использовать встроенные разделы: | ||
* '''управлять светильниками''' | * '''управлять светильниками'''; | ||
* '''управлять устройствами''' | * '''управлять устройствами'''; | ||
* '''управлять шторами''' | * '''управлять шторами'''; | ||
* '''действия при событиях кнопки'''. | |||
В этих разделах достаточно выбрать нужные устройства из списка — кнопка автоматически выполнит нужные действия по каждому типу нажатия. | В этих разделах достаточно выбрать нужные устройства из списка — кнопка автоматически выполнит нужные действия по каждому типу нажатия. | ||
| Строка 46: | Строка 58: | ||
** Если их состояния различаются (один включён, другой выключен) — первое короткое нажатие выключает все светильники, следующее включает все. | ** Если их состояния различаются (один включён, другой выключен) — первое короткое нажатие выключает все светильники, следующее включает все. | ||
** При удержании кнопки, если светильники поддерживают диммирование — они будут плавно менять яркость от текущего значения до максимального. Повторное удержание меняет направление — до минимального уровня. | ** При удержании кнопки, если светильники поддерживают диммирование — они будут плавно менять яркость от текущего значения до максимального. Повторное удержание меняет направление — до минимального уровня. | ||
* Если выбраны несколько светильников в режиме переключения без диммирования: | |||
** Если хотя бы один светильник включён — одиночный клик выключит все выбранные светильники. | |||
** Если все выключены — одиночный клик включит все выбранные светильники. | |||
* Если выбраны несколько штор: | * Если выбраны несколько штор: | ||
| Строка 52: | Строка 68: | ||
** Удержание кнопки — остановит движение всех штор одновременно. | ** Удержание кнопки — остановит движение всех штор одновременно. | ||
Если нужно больше гибкости — можно не использовать встроенные блоки, а задать произвольную логику через сценарий [[Сценарные кнопки]]. | Если нужно больше гибкости — можно не использовать встроенные блоки, а задать произвольную логику через сценарий [[Scene-buttons-scenario|Сценарные кнопки]]. | ||
В этом сценарии: | В этом сценарии: | ||
* выбираются одна или две кнопки, участвующие в логике; | * выбираются одна или две кнопки, участвующие в логике; | ||
* настраиваются действия на | * настраиваются действия на события ''нажали'', ''отпустили'', ''одиночный клик'', ''двойной клик'', ''долгое нажатие''; | ||
* можно задать индивидуальные задержки длинного нажатия для каждой кнопки. | * можно задать индивидуальные задержки длинного нажатия для каждой кнопки. | ||
| Строка 61: | Строка 77: | ||
== ⏱ Параметры == | == ⏱ Параметры == | ||
* '''Время | * '''Время долгого нажатия''' - длительность удержания, после которой формируется событие '''долгое нажатие'''. Значение задается в единицах по 0.1 сек. По умолчанию: '''6''', то есть '''0.6 сек'''. | ||
* '''Максимальное количество нажатий''' - сколько кликов объединять в одну серию: одно, два или три. Если выбрано '''одно''', одиночный клик определяется сразу после отпускания. Если выбрано '''два''' или '''три''', система короткое время ожидает следующие клики серии. | |||
* '''Определять действие кнопки по счетчику нажатий''' - включает обработку характеристики '''счетчик нажатий'''. При изменении счетчика на одно, два или три значения формируются соответствующие клики. | |||
== 🧾 Возможные значения «Действие кнопки» == | == 🧾 Возможные значения «Действие кнопки» == | ||
Характеристика ''' | Характеристика '''действие кнопки''' принимает одно из следующих состояний: | ||
{| class="wikitable" | |||
! Событие | |||
! Когда формируется | |||
|- | |||
| '''нажали''' | |||
| сразу при переходе '''состояния кнопки''' в состояние '''нажата''' | |||
|- | |||
| '''отпустили''' | |||
| при переходе '''состояния кнопки''' в состояние '''отжата''' или после обработки счетчика | |||
|- | |||
| '''одиночный клик''' | |||
| после одного короткого нажатия | |||
|- | |||
| '''двойной клик''' | |||
| после двух коротких нажатий подряд | |||
|- | |||
| '''тройной клик''' | |||
| после трех коротких нажатий подряд | |||
|- | |||
| '''долгое нажатие''' | |||
| после удержания дольше заданного времени | |||
|} | |||
'''Нажали''' - это мгновенное событие при замыкании входа. Его удобно использовать там, где нужна минимальная задержка, например для быстрого включения света или переключения простого реле. В старых материалах это событие может называться '''коснулись'''. | |||
'''Одиночный клик''' определяется после отпускания. Если разрешены двойной или тройной клик, система короткое время ждет продолжения серии, поэтому одиночный клик может сработать с небольшой задержкой. | |||
'''Долгое нажатие''' отменяет определение короткого клика. После отпускания кнопки дополнительно формируется событие '''отпустили'''. | |||
''' | == 🧪 Что удобно показать на практике == | ||
Для живого эфира удобно подготовить три демонстрации: | |||
* '''Свет''' - добавить виртуальную кнопку, связать '''состояние кнопки''' с входом, выбрать светильник в блоке '''управлять светильниками'''. Проверить одиночный клик, удержание и отпускание. | |||
* '''Шторы''' - выбрать карниз в блоке '''управлять шторами'''. Проверить одиночный клик открыть/закрыть и долгое нажатие стоп. | |||
* '''Сценарий''' - создать сценарий [[Scene-buttons-scenario|Сценарные кнопки]], выбрать кнопку в поле '''Кнопка 1''' и назначить разные действия на одиночный клик и долгое нажатие. | |||
== 👁 Интерфейс == | == 👁 Интерфейс == | ||
| Строка 78: | Строка 123: | ||
== 🔍 См. также == | == 🔍 См. также == | ||
* [[Сценарий "Сценарные кнопки | * [[Home-away-master-button-example|Кейс: Мастер-кнопка "Я ушёл / Я пришёл"]] | ||
* [[Виртуальные устройства XIOT | * [[Scene-buttons-scenario|Сценарий "Сценарные кнопки"]] | ||
* [[Xiot-devices|Виртуальные устройства XIOT]] | |||
Текущая версия от 22:05, 2 октября 2026
Кнопка - это системное виртуальное устройство XIOT для обработки физической или программной кнопки. Устройство принимает сигнал нажатия/отпускания, определяет тип действия и запускает связанные команды: управление светом, шторами, устройствами или сценариями.

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