KNX не работает: пошаговая диагностика через ETS и Home Assistant
Свет включается с кнопки, но не из Home Assistant. Команда уходит, но состояние реле остается неправильным. Температура отображается странным числом. KNX/IP Interface виден в сети, но телеграммы не доходят. Разбираем, как искать такие неисправности последовательно, начиная с самой KNX-шины и заканчивая настройками Home Assistant.
С чего начинать, если KNX не работает
Не стоит начинать с перезагрузки Home Assistant, замены IP-адресов или редактирования YAML. Сначала нужно определить, существует ли проблема в самой KNX-системе.
Например, если свет не включается даже с физической KNX-клавиши, Home Assistant практически наверняка не является первопричиной.
В таком случае сначала проверяются групповая связь в ETS, питание KNX, актуатор, клавиша и наличие телеграммы на шине.
ETS Group Monitor и Bus Monitor: чем отличаются
ETS предоставляет несколько диагностических инструментов. Для большинства неисправностей, связанных с управлением функциями здания, первым инструментом будет Group Monitor.
Group Monitor
Показывает групповые телеграммы и позволяет читать или записывать значения Group Address.
Bus Monitor
Предназначен для полного анализа telegram traffic, включая низкоуровневую информацию шины.
KNX Association отдельно указывает, что Group Monitor позволяет не только записывать и анализировать групповые телеграммы, но и выполнять чтение и запись значений групповых адресов.
Bus Monitor требует собственного эксклюзивного доступа к шине во время записи. Group Monitor такого ограничения не имеет.
Как проверить KNX-функцию
Откройте ETS, выберите Diagnostics → Group Monitor и запустите запись. После этого физически нажмите проблемную кнопку.
Если все исправно, в Group Monitor должна появиться соответствующая групповая телеграмма.
Как читать KNX telegram
Для диагностики не нужно разбирать каждый бит telegram. В большинстве случаев достаточно нескольких параметров.
Source
Source представляет собой Individual Address устройства, которое отправило telegram.
1.1.23 По этому адресу в ETS можно определить, какая именно клавиша, актуатор, датчик или другое устройство было источником сообщения.
Destination
Destination для групповой telegram представляет собой Group Address.
1/1/1 Это позволяет проверить, отправляет ли физическая клавиша команду именно в тот групповой адрес, который ожидает актуатор и Home Assistant.
GroupValueWrite
Устройство записывает новое значение в Group Address. Типичный пример: клавиша отправляет команду включения света.
GroupValueRead
Участник KNX запрашивает текущее значение группового объекта. Home Assistant активно использует такие запросы для получения состояний.
GroupValueResponse
Это ответ на GroupValueRead. Если устройство настроено правильно и его объект допускает чтение, после запроса можно увидеть ответ с текущим состоянием.
Кнопка нажимается, но свет или другой исполнитель не реагирует
Первый тест: открыть Group Monitor и нажать кнопку.
Телеграммы вообще нет
Возможные причины:
- клавиша не запрограммирована;
- неверно настроен коммуникационный объект;
- Group Address не связан с объектом;
- у объекта отсутствует необходимый transmit flag;
- устройство не работает или не имеет питания KNX;
- неисправна линия KNX;
- ETS подключен не к той линии или интерфейсу.
Telegram есть, но актуатор не реагирует
Следующий вопрос: совпадает ли Destination с групповым адресом объекта актуатора.
Если кнопка отправляет:
1/1/1 а объект актуатора связан с:
1/1/2 команда до актуатора логически не дойдет, хотя обе части системы могут быть полностью исправны.
KNX работает с физических кнопок, но Home Assistant не управляет
Если физическая функция работает, следующая точка проверки находится между Home Assistant и KNX/IP.
Сначала откройте KNX Panel в Home Assistant и посмотрите Group Monitor. Затем отправьте команду из Home Assistant.
Telegram из Home Assistant появился
Если Destination и значение правильные, но исполнитель не реагирует, сравните telegram с той, которую отправляет рабочая KNX-клавиша.
Проверить необходимо:
- Group Address;
- DPT;
- передаваемое значение;
- наличие telegram в ETS Group Monitor.
Telegram из Home Assistant не появляется
В таком случае проверяется состояние KNX integration, подключение к KNX/IP Interface или Router и выбранный tunnel endpoint.
Home Assistant включает свет, но показывает неправильное состояние
Это одна из самых характерных неисправностей интеграции KNX.
Причина часто заключается не в связи, а в неправильно настроенной обратной связи.
Предположим:
1/1/1 → свет кухни
1/1/101 → состояние света кухни
В Home Assistant первый адрес должен использоваться для управления, а второй обычно задается как state_address.
address: "1/1/1" state_address: "1/1/101" Официальная документация Home Assistant отдельно предупреждает: KNX-актуатор может изменить свое состояние без telegram на управляющий address, например по сцене, таймеру или внутренней логике.
Именно поэтому отдельный state object актуатора является наиболее надежным источником фактического состояния.
Неправильный DPT: команда есть, но значение неверное
DPT определяет, как интерпретировать содержимое KNX telegram.
Например, температура, процент яркости и целое число могут использовать совершенно различные форматы данных.
| Функция | Пример DPT |
|---|---|
| Вкл./выкл. | DPT 1 |
| Относительное диммирование | DPT 3 |
| Процент | DPT 5.001 |
| Температура | DPT 9.001 |
| Дата | DPT 11.001 |
| Текст | DPT 16 |
KNX Association указывает, что Datapoint Type может быть назначен непосредственно Group Address в ETS. Это позволяет Group Monitor правильно декодировать telegram и помогает исключать несовместимые Group Objects.
Типичный симптом неправильного DPT
Датчик реально передает:
23.4 °C а Home Assistant показывает совершенно другое число, неизвестное значение или ошибку декодирования.
В такой ситуации нужно сравнить DPT коммуникационного объекта в ETS с типом, настроенным в Home Assistant.
Home Assistant отправляет GroupValueRead, но ответа нет
Home Assistant использует GroupValueRead для синхронизации состояния групповых объектов.
Например, сущность с state_address может запросить актуальное значение при запуске.
Если в Group Monitor видно:
GroupValueRead → 1/1/101 но после него отсутствует GroupValueResponse, нужно проверить ETS.
Read flag
KNX Association указывает, что считать значение можно только у Group Object, для которого установлен флаг Read.
Если Read flag отсутствует, устройство может корректно отправлять состояние при изменении, но не ответит на активный запрос значения.
Sending Group Address
Есть еще менее очевидная ситуация. Если запрашиваемый Group Address не является sending address соответствующего Group Object, ответ может прийти на другой Group Address.
Это необходимо учитывать, если объект связан сразу с несколькими групповыми адресами.
Проблемы KNX/IP Interface и Tunneling
Если ETS через KNX/IP работает, а Home Assistant не соединяется, нужно проверить tunnel endpoint.
Современный KNX/IP Interface может предоставлять несколько tunneling connections. Каждая имеет свой Individual Address.
Например, если Home Assistant занимает один endpoint, для ETS лучше использовать другой доступный tunnel connection.
Что проверить в сети
| Проверка | Что должно быть |
|---|---|
| IP KNX Interface | Доступен из сети Home Assistant |
| Подсеть | Есть корректная маршрутизация |
| Firewall | Не блокирует KNXnet/IP |
| Tunnel endpoint | Свободен для Home Assistant |
| Individual Address | Не конфликтует |
KNX Routing, VLAN и multicast
При KNXnet/IP Routing telegram передаются через multicast. Это принципиально отличается от обычного tunneling.
Если Home Assistant и KNX/IP Router расположены в разных VLAN, обычной IP-маршрутизации может оказаться недостаточно.
Необходимо учитывать:
- multicast forwarding;
- IGMP;
- настройки управляемых коммутаторов;
- межсетевой экран между VLAN;
- маршрутизатор;
- KNX multicast traffic.
KNX Secure: почему часть адресов может не работать
При использовании KNX IP Secure или Data Secure появляются дополнительные точки отказа.
Если обычные Group Address работают, а защищенные нет, проверьте актуальность Keyring-файла .knxkeys.
После изменения Secure-конфигурации в ETS старый Keyring может уже не соответствовать проекту.
В таком случае нужно экспортировать актуальный файл из ETS и обновить его в Home Assistant.
Диагностика KNX непосредственно в Home Assistant
В современных версиях Home Assistant отдельный KNX Panel позволяет наблюдать telegram traffic без постоянного использования ETS.
Для диагностики удобно открыть Group Monitor Home Assistant и затем выполнить физическое действие в KNX.
Например:
нажать кнопку KNX → посмотреть telegram → определить Group Address После импорта KNX Project Home Assistant способен показывать больше контекстной информации о групповых адресах и DPT.
Send telegram
В Home Assistant 2026.8 в KNX Panel появилась возможность вручную отправлять telegram.
Это позволяет проверить исполнитель, не создавая временную automation или entity.
Типовые неисправности KNX и куда смотреть
Сначала ETS Group Monitor. Если telegram отсутствует, проверяется клавиша, параметры объекта и KNX-шина.
Проверить KNX integration, KNX/IP, tunnel endpoint и наличие исходящей telegram.
Проверить state_address и объект обратной связи актуатора.
Сравнить DPT в ETS и Home Assistant.
Проверить GroupValueRead, Read flag и наличие GroupValueResponse.
Проверить coupler, filter table и привязки Group Address в ETS.
Проверить multicast, VLAN, IGMP и firewall.
Проверить актуальность .knxkeys и Secure-конфигурацию ETS.
Универсальный алгоритм поиска неисправности KNX
- Проверить физическую KNX-функцию. Работает ли исполнитель от штатной KNX-клавиши?
- Открыть ETS Group Monitor. Есть ли telegram при выполнении команды?
- Проверить Source. Отправляет ли сообщение ожидаемое устройство?
- Проверить Destination. Совпадает ли Group Address с проектом?
- Проверить Value и DPT. Правильно ли декодируется значение?
- Проверить ответ актуатора. При необходимости определить Group Address обратной связи.
- Проверить GroupValueRead. Отвечает ли устройство на запрос состояния?
- Проверить KNX/IP. Есть ли стабильная связь Home Assistant с Interface или Router?
- Проверить KNX Panel Home Assistant. Доходят ли telegram до Home Assistant?
- Проверить entity. Соответствуют ли address, state_address и DPT проекту ETS?
- Если используется Routing. Проверить multicast, VLAN и filter tables.
- Если используется Secure. Проверить актуальный Keyring.
Частые вопросы
Чем ETS Group Monitor отличается от Bus Monitor?
Group Monitor предназначен прежде всего для групповых telegram и позволяет читать и записывать Group Address. Bus Monitor применяется для более полного анализа traffic KNX и требует эксклюзивного доступа к шине во время записи.
Почему KNX-команда работает, но Home Assistant показывает свет выключенным?
Чаще всего отсутствует корректный state_address или Home Assistant не получает telegram фактического состояния от актуатора.
Почему GroupValueRead остается без ответа?
Необходимо проверить Read flag соответствующего Group Object, правильность Group Address и его sending address.
Почему температура KNX отображается неправильно?
Одна из наиболее вероятных причин — несовпадение DPT. Для температуры обычно применяется соответствующий температурный Datapoint Type, например DPT 9.001, если именно он предусмотрен устройством.
Можно ли определить Group Address нажатием физической кнопки?
Да. Запустите ETS Group Monitor или KNX Group Monitor Home Assistant и нажмите кнопку. Destination telegram покажет используемый Group Address.
Почему Home Assistant перестал подключаться к KNX/IP?
Нужно проверить доступность KNX/IP Interface, состояние tunnel endpoint, Individual Address, сетевые настройки и отсутствие другого клиента, занявшего соответствующее tunneling connection.
Нужен ли ETS для поиска неисправности?
Для глубокой диагностики профессиональной KNX-системы ETS остается основным инструментом. KNX Panel Home Assistant полезен для контроля telegram и интеграции, но не заменяет возможности ETS по диагностике и конфигурированию устройств.
Вывод
Большинство проблем KNX можно найти значительно быстрее, если не менять настройки наугад, а последовательно проследить путь одной команды.
Начните с физического действия, найдите его telegram в ETS, проверьте Source, Destination, DPT и обратную связь. Только после этого переходите к KNX/IP и Home Assistant.
Если KNX-функция корректно работает на шине, задача уже существенно проще: остается проверить передачу telegram через IP и соответствие address, state_address и DPT в Home Assistant.