Логические блоки ETS6: AND, OR, таймер, порог и вентильные функции
Логические блоки KNX позволяют создавать сложные правила автоматизации с несколькими условиями, которые работают прямо на шине — без внешнего сервера, облака и единой точки отказа.
Логика на шине KNX
Логические блоки KNX — доступные как в виде выделенных логических контроллеров (MDT GLK-1216.03), так и встроенных функциональных блоков в поддерживающих устройствах — позволяют реализовать сложные правила автоматизации без внешнего контроллера. Всё работает на самой шине KNX: условия AND, OR, таймеры, пороговые компараторы, вентильные селекторы и лестничные таймеры функционируют как полноправные участники KNX, читая и записывая групповые адреса как любое другое устройство.
Это важно, потому что логика KNX переживает перезагрузки роутера, отключения интернета и сбои сервера умного дома. Правило диспетчеризации солнечного EV или сценарий освещения по присутствию, работающий в GLK-1216.03, продолжает функционировать во время обновления Home Assistant или перебоев сети.
| Подход | Где выполняется логика | Примеры | Плюсы / Минусы |
|---|---|---|---|
| Встроенные функциональные блоки ETS6 | Выделенное логическое устройство (GLK, IP-роутер с логикой, Gira HomeServer) | MDT GLK-1216.03, функция логики MDT IP Router | Наиболее гибкий; DIN-рейка; переживает перезагрузку HA |
| Логика в параметрах исполнительного устройства | Внутри самого исполнительного устройства | Логика солнца/ветра для приводов MDT, переключение отопление/охлаждение термостата MDT | No extra device needed; limited to that actuator's context |
| Внешний контроллер (HA, Node-RED) | Сервер или Raspberry Pi | Интеграция KNX в Home Assistant, узел KNX в Node-RED | Наиболее мощный; зависит от времени работы сервера и сети |
Логический элемент И
Логический элемент И выдаёт ИСТИНУ только тогда, когда все N входов одновременно равны ИСТИНЕ. Это самый часто используемый логический блок в KNX, поскольку большинство реальных правил автоматизации имеют несколько условий, которые должны быть выполнены все вместе.
Типичный пример: запускать зарядное устройство для электромобиля только если избыток солнечной энергии превышает 2500 Вт И автомобиль физически подключён И текущее время между 09:00 и 17:00 (чтобы избежать потребления из сети в вечерний пик). Все три условия должны быть выполнены — отсутствие любого из них должно удерживать зарядное устройство выключенным.
Логика И с 3 входами — конфигурация MDT GLK-1216.03 (описательная)
Logic block 1 — Type: AND (3 inputs)
Input 1: GA 6/0/10 (DPT 9.001 — solar surplus W)
→ via threshold comparator: TRUE if value > 2500
Input 2: GA 7/0/5 (DPT 1.001 — car connected status)
→ raw binary: TRUE = car connected
Input 3: GA 5/0/20 (DPT 1.001 — time window active)
→ from time switch: TRUE between 09:00–17:00
Output: GA 7/0/1 (DPT 1.001 — EV charger enable)
→ TRUE only when ALL three inputs are TRUE
Edge behaviour: output updates on any input change
Initial value: FALSE (safe default on bus power-up)Логический элемент ИЛИ
Логический элемент ИЛИ выдаёт ИСТИНУ, когда любой из N входов равен ИСТИНЕ. Это естественный выбор для обнаружения присутствия в нескольких зонах, агрегации сигналов тревоги или любого сценария, где условие может быть вызвано несколькими независимыми источниками.
Типичный пример: включить индикатор тревоги, если любой из трёх периметральных PIR-датчиков обнаруживает движение — движение на садовом датчике, датчике на подъездной дорожке или датчике на боковой калитке должно вызывать одну и ту же реакцию.
ИЛИ с 3 входами — агрегация периметральной тревоги
Logic block 2 — Type: OR (3 inputs)
Input 1: GA 8/0/1 (DPT 1.001 — PIR sensor: garden)
Input 2: GA 8/0/2 (DPT 1.001 — PIR sensor: driveway)
Input 3: GA 8/0/3 (DPT 1.001 — PIR sensor: side gate)
Output: GA 8/0/10 (DPT 1.001 — any perimeter motion)
→ TRUE if ANY sensor is TRUE
Use: output feeds into alarm AND gate (logic block 5)
and simultaneously to exterior lights OR gateЛогический элемент НЕ (инвертор)
Логический элемент НЕ инвертирует двоичный сигнал: ИСТИНА становится ЛОЖЬЮ, ЛОЖЬ становится ИСТИНОЙ. Он используется, когда датчик выдаёт сигнал противоположной полярности, чем ожидает исполнительное устройство, или когда сигнал безопасности должен стать разрешающим сигналом.
A common use: a window contact sends 1 (TRUE) when open, but the heating valve actuator expects a 1 to mean "heating enabled." A NOT gate between the window contact group address and the heating enable group address inverts the logic — window open (1) becomes heating inhibit (0), window closed (0) becomes heating enabled (1).
Логический элемент НЕ — окно к отоплению
- • Входной GA 3/0/5: оконный контакт (1 = открыто)
- • Логический элемент НЕ инвертирует сигнал
- • Выходной GA 3/1/5: включение клапана отопления (1 = отопление включено)
- • Окно закрыто (0) → отопление включено (1)
- • Окно открыто (1) → отопление выключено (0)
NOT-гейт — полярность привода
- • Некоторые приводы клапанов: 0 = открыто, 1 = закрыто
- • KNX контроллер отопления: 1 = запрос тепла
- • NOT-гейт исправляет несоответствие полярности
- • Избавляет от перемонтажа или изменения параметров привода
- • Documented in ETS6 project as "polarity inversion"
Таймер — задержка включения и выключения
Таймеры — одни из важнейших логических блоков в KNX, так как многие датчики выдают кратковременные ложные сигналы. Задержки включения и выключения работают с ними по-разному.
Таймер задержки включения
Вход должен быть непрерывно TRUE в течение X секунд, прежде чем выход станет TRUE. Предотвращает ложные срабатывания от кратких событий движения.
Пример: движение → нагрузка
- • PIR срабатывает кратко от проходящей тени
- • Задержка включения 4 с: игнорировать сигналы короче 4 с
- • Устойчивое присутствие включает свет
- • Предотвращает мерцание света от колышущихся штор
Таймер задержки выключения
Выход остаётся TRUE в течение X минут после того, как вход стал FALSE. Продлевает удержание для датчиков присутствия.
Пример: удержание присутствия
- • Датчик присутствия перестаёт обнаруживать (человек ещё в комнате)
- • Задержка выключения 8 мин: свет горит ещё 8 минут
- • Предотвращает выключение света, когда человек неподвижен
- • Настраивается по зонам: ванная 15 мин, коридор 3 мин
Комбинированная задержка включения и выключения для освещения по присутствию
PIR raw signal → [Delay-ON 3s] → [Delay-OFF 8min] → Lighting GA
PIR fires briefly (2s):
Delay-ON: 2s < 3s threshold → output stays FALSE → light stays OFF
PIR sustained (person walks in):
Delay-ON: input TRUE > 3s → output TRUE → light ON
Person sits at desk (PIR stops firing):
Delay-OFF: output remains TRUE for 8 min after PIR drops
→ light stays ON during 8-min hold period
→ resets if PIR fires again within hold window
After 8 min no motion:
Delay-OFF expires → output FALSE → light OFFПороговый компаратор
Пороговый компаратор принимает аналоговый входной сигнал (DPT 9.x, DPT 5.x или DPT 14.x) и сравнивает его с заданным порогом, формируя двоичный выход TRUE/FALSE. Гистерезис предотвращает частые переключения при колебаниях значения около порога.
| Примеры использования | Входной сигнал | Порог | Гистерезис | Действие на выходе |
|---|---|---|---|---|
| Зарядка EV от солнца | Избыток PV (Вт) | > 2500 W | 200 Вт | Включить зарядное устройство EV |
| Вентиляция по CO₂ | Датчик CO₂ (ppm) | > 1000 ppm | 50 ppm | Включить вентиляцию |
| Жалюзи при сильном ветре | Скорость ветра (м/с) | > 12 m/s | 2 м/с | Жалюзи поднимаются |
| Защита от замерзания | Температура на улице (°C) | < 2 °C | 1 °C | Форсированный нагрев ВКЛ |
| Обнаружение дождя | Датчик дождя (0/1) | = 1 (дождь) | н/д | Жалюзи закрываются |
Гистерезис критически важен: без него избыток солнечной энергии, колеблющийся между 2490 Вт и 2510 Вт, будет включать и выключать зарядное устройство электромобиля каждые несколько секунд. С гистерезисом 200 Вт зарядка включается при 2500 Вт и выключается только когда избыток падает ниже 2300 Вт — плавное, контролируемое переключение.
Селектор (вентиль)
Блок «вентиль» выбирает, какой из его входов проходит на выход, управляемый двоичным или многоразрядным сигналом. Он действует как маршрутизатор сигнала — направляя телеграмму от одного из нескольких источников к единственному получателю.
Типичное применение: селектор режима отопления/охлаждения, который определяет, какая групповая адреса уставки передаётся на клапаны. В летнем режиме на клапаны идёт групповая адреса уставки охлаждения, в зимнем — отопления. Жилец переключает режимы одной кнопкой — вентиль перенастраивает маршрутизацию.
Вентиль — селектор режима отопления/охлаждения
Gate block — 2 inputs, 1 output, 1 control
Control: GA 4/0/5 (DPT 1.001 — heating/cooling mode)
0 = heating mode, 1 = cooling mode
Input A: GA 4/1/0 (DPT 9.001 — heating setpoint, e.g. 21.0 °C)
Input B: GA 4/1/1 (DPT 9.001 — cooling setpoint, e.g. 25.0 °C)
Output: GA 4/2/0 (DPT 9.001 — active setpoint → valve actuators)
Control = 0 (heating): Output = Input A (21.0 °C)
Control = 1 (cooling): Output = Input B (25.0 °C)
Actuators on GA 4/2/0 receive the correct setpoint
without needing separate group addresses per seasonТаймер лестничной клетки
Таймер лестничной клетки отправляет телеграмму ВЫКЛ после настраиваемой выдержки времени (от 1 секунды до 9 часов) после последнего включения. Это стандартный механизм для освещения коридоров, туалетов и любых помещений, где свет должен автоматически выключаться через заданное время без датчика присутствия.
Таймер лестничной клетки обычно встроен в модули двоичных входов KNX (MDT BE-GT2.01, MDT BE-16T.01) и релейные актуаторы KNX — для него не требуется отдельный логический контроллер GLK. Каждое нажатие кнопки перезапускает таймер на полный период выдержки.
Типичные периоды удержания
- • Лестница / коридор: 3–5 минут
- • Туалет / WC: 10–15 минут
- • Кладовая: 5 минут
- • Подземный паркинг: 2–3 минуты
- • Офисный коридор (после рабочего дня): 5 минут
Опция предупреждающей вспышки
- • Исполнительные устройства MDT: предупреждающая вспышка перед выключением
- • За 30 секунд до тайм-аута: свет мигает коротко
- • Человек нажимает кнопку повторно, чтобы сбросить таймер
- • После вспышки: свет полностью выключается
- • Настраивается в параметрах исполнительного устройства в ETS6
Логический контроллер MDT GLK-1216.03
MDT GLK-1216.03 — это самый функциональный специализированный KNX-логический контроллер на DIN-рейку. Он объединяет аппаратные входы/выходы и богатую среду логического программирования, доступную полностью из ETS6 — без дополнительного ПО или шлюзов.
Технические характеристики
- • 12 двоичных входов (230V AC / 24V DC)
- • 16 двоичных выходов (реле, 230V)
- • 16 аналоговых I/O (0–10V, 4–20mA, температура)
- • 128 слотов памяти KNX-сцен
- • 16 независимых логических блоков (настраиваемых по блокам)
- • Встроенные часы реального времени с недельной программой
- • DIN-рейка, ширина 4 модуля
Возможности логических блоков
- • AND, OR, NOT, XOR, NAND, NOR
- • Задержка включения, задержка выключения, импульс, лестничный таймер
- • Пороговый компаратор с гистерезисом
- • Селектор каналов (маршрутизация 1 из N)
- • Математические функции: +, −, ×, ÷, мин, макс, среднее
- • Калькулятор уставок, генератор рампы
- • Всё настраивается в ETS6 — без дополнительных инструментов
Логические программы MDT GLK — примеры сценариев
Program 1: Solar EV dispatch Threshold: PV surplus GA > 2500 W → binary TRUE AND: car connected (GA 7/0/5) AND time window 09:00–17:00 → Output: EV charger enable GA 7/0/1 Program 2: Night cooling (summer) Condition: outside temp < indoor temp − 3 °C AND: outdoor temp > 15 °C (no frost risk) AND: time between 23:00 and 06:00 → Output: open ventilation flaps GA 2/0/20 → Simultaneously: fan coil boost mode GA 2/1/5 Program 3: Alarm + lighting cascade IF: perimeter PIR OR gate (any zone) = TRUE AND: alarm armed (GA 8/0/0) = TRUE AND: time between 22:00 and 07:00 → Output: KNX alarm siren group address pulse → Output: all exterior lights GA 1/7/0 = ON (100%) → Output: KNX → HA bridge: push notification trigger
Пример полной зоны тревоги
Полный пример зоны тревоги с несколькими условиями показывает, как несколько логических блоков объединяются в цепочку. Три входа OR объединяют все периметральные PIR-датчики; блок AND добавляет условия постановки на охрану и временного окна; выход запускает скоординированную реакцию одновременно по KNX, аудио и системам оповещения.
Полная зона тревоги — логические блоки MDT GLK
Block A — OR (3 inputs): perimeter aggregation
Input 1: GA 8/0/1 PIR sensor: garden
Input 2: GA 8/0/2 PIR sensor: driveway
Input 3: GA 8/0/3 PIR sensor: side gate
Output: GA 8/0/10 any_perimeter_motion (internal GA)
Block B — AND (3 inputs): alarm condition
Input 1: GA 8/0/10 any_perimeter_motion (from Block A)
Input 2: GA 8/0/0 alarm_armed (user arms via keypad)
Input 3: GA 5/0/30 night_window_active (from time switch)
→ TRUE between 22:00 and 07:00
Output (pulse, 2s): GA 8/1/0 alarm_trigger
Response chain on GA 8/1/0 = TRUE (1 pulse):
→ GA 1/7/0 exterior lights: all ON (DPT 1.001 = 1)
→ GA 8/2/0 alarm siren: ON (DPT 1.001 = 1, 2s pulse)
→ GA 9/0/0 Sonos all zones: alarm sound scene (DPT 18.001)
→ GA 0/0/5 HA bridge: push notification trigger (DPT 1.001)
Cancel condition:
alarm_armed = FALSE → Block B output cannot fire
→ all response GAs return to idle stateСвязанные руководства
Логика и программирование KNX в вашем щите
Мы предварительно программируем MDT Logic Controller и логические блоки ETS6 для сложных правил автоматизации — диспетчеризация солнечной энергии, логика присутствия, многосценарные сценарии — поставляем протестированными и с документацией.
Запросить расчёт →