KNX Quick start: различия между версиями

Материал из Wiren Board
Строка 149: Строка 149:
В нотации KNX принято '''индивидуальные''' адреса записывать через точки а '''групповые''' - через слеши.
В нотации KNX принято '''индивидуальные''' адреса записывать через точки а '''групповые''' - через слеши.
</blockquote>
</blockquote>
Можно сразу же загрузить в модуль прикладную программу и проверить что при замыкании входа A отправляются телеграммы на групповой адрес
<syntaxhighlight lang="bash">
knxtool vbusmonitor1 local:/var/run/knx
L_Busmon: BC 11 05 09 37 E1 00 81 09 :L_Data low from 1.1.5 to 1/1/55 hops: 06 T_Data_Group A_GroupValue_Write (small) 01
L_Busmon: BC 11 05 09 37 E1 00 80 08 :L_Data low from 1.1.5 to 1/1/55 hops: 06 T_Data_Group A_GroupValue_Write (small) 00
L_Busmon: BC 11 05 09 37 E1 00 81 09 :L_Data low from 1.1.5 to 1/1/55 hops: 06 T_Data_Group A_GroupValue_Write (small) 01
</syntaxhighlight>
Это же в ETS:
[[Image: ETS sampleProject_bus monitor.png |400px|thumb|left| Мониторинг шины]]


== Полезные ссылки ==
== Полезные ссылки ==
* [[MQTT_KNX_V2 | Описание сервиса wb-mqtt-knx в Вики]]
* [[MQTT_KNX_V2 | Описание сервиса wb-mqtt-knx в Вики]]
* [[WBE2-I-KNX_KNX_Extension_Module | Модуль расширения WBE2-I-KNX]]
* [[WBE2-I-KNX_KNX_Extension_Module | Модуль расширения WBE2-I-KNX]]

Версия 16:42, 11 апреля 2022


Используемое оборудование

Чтобы на примере показать работу с KNX-устрйоствами мы взяли оборудование:

Подготовка

Контроллер

Подключение контроллера Wiren Board к шине KNX с помощью модуля WBE2-I-KNX, установленного в разъём MOD1
  1. Установите и настройте модуль расширения WBE2-I-KNX.
  2. Подключите шину KNX на клеммы модуля. Например, модуль установлен в разъем MOD1, значит шину нужно подключить к разъёму mod_out_1 по схеме: положительный провод на клемму O1, отрицательный — клемма O3.
  3. Подключите на шину блок питания KNX и термостат.
  4. Включите питание — светодиоды на термостате начнут мигать примерно раз в секунду (1Гц).

Компьютер

  1. Скачайте программу ETS5 с официального сайта.
  2. Проверьте, чтобы в системе был Microsoft NET framework 4.8. Если его нет — установите. В комплекте с программой идёт Microsoft NET framework 4.6, но с ним программа работает плохо.
  3. Установите ETS5.
  4. Настройте связь с контроллером. Контроллер Wirenboard будет работать в качестве шлюза в сеть KNX.
  5. Добавьте новый интерфейс, для этого перейдите Системная шинаПоказать интерфейсы, выделите IP Tunneling и укажите имя из настроек knxd.
  6. Нажмите справа внизу кнопку Тест. Если вы получили ответ ОК — интерфейс настроен верно.
  7. Нажмите кнопку Выбрать.

Теория KNX

Адресация

Про групповые адреса и телеграммы читайте на странице KNX.

Примеры групповых адресов:

  • Выключатели с адресами 0.0.1 и 0.0.2
  • Реле с адресом 0.0.5

Реализация в контроллере Wiren Board

Сервис wb-mqtt-knx получает и отправляет телеграммы через knxd и модуль расширения WBE2-I-KNX.

Обнаружение KNX-устройства

Обычно адрес нового устройства на шине неизвестен.

Но его легко обнаружить:

  1. Из документации на термостат видно, что есть кнопка L и светодиод K, в нормальном режиме скрытые под регулятором.
  2. Нажимаем отвёрткой кнопку — светодиод начнёт мигать, сигнализируя от том, что устройство перешло в режим программирования.
  3. В программе ETS5 переходим Системная шинаДиагностированиеИндивидуальные адресаРежим программирования и нажимаем кнопку Старт.
  4. После того, как устройство будет найдено — нажмите кнопку Стоп, чтобы не занимать шину.

Диагностика неисправностей

Управление светодиодом на устройстве из программы ETS5

В процессе обнаружения устройств, ETS5 отправляет в KNX-шину телеграммы, которые можно отследить. Для этого нужно подписаться на топик /devices/knx/controls/data:

mosquitto_sub -v -t /devices/knx/#
/devices/knx/controls/data/meta/type data
/devices/knx/meta/name wb-knx
/devices/knx/controls/data i:0/0/36 g:0/0/0 IndividualAddrRequest 0x00
/devices/knx/controls/data i:15/15/255 g:0/0/0 IndividualAddrResponse 0x00
/devices/knx/controls/data i:0/0/36 g:0/0/0 IndividualAddrRequest 0x00
/devices/knx/controls/data i:15/15/255 g:0/0/0 IndividualAddrResponse 0x00
/devices/knx/controls/data i:0/0/36 g:0/0/0 IndividualAddrRequest 0x00
/devices/knx/controls/data i:15/15/255 g:0/0/0 IndividualAddrResponse 0x00
/devices/knx/controls/data i:0/0/36 g:0/0/0 IndividualAddrRequest 0x00
/devices/knx/controls/data i:15/15/255 g:0/0/0 IndividualAddrResponse 0x00

Также для диагностики можно вывести телеграммы из шины с помощью knxtool:

knxtool vbusmonitor1 local:/var/run/knx 
L_Busmon: B0 00 18 00 00 E1 01 00 B7 :L_Data system from 0.0.24 to 0/0/0 hops: 06 T_Data_Broadcast A_IndividualAddress_Read
L_Busmon: B0 FF FF 00 00 E1 01 40 EF :L_Data system from 15.15.255 to 0/0/0 hops: 06 T_Data_Broadcast A_IndividualAddress_Response

Ещё можно управлять светодиодом K из ETS5, для этого перейдите в меню Системная шинаДиагностированиеИндивидуальные адресаПроверка индивидуального адреса

Создание проекта

Новый проект

Создадим в программе ETS5 проект.

Если это первый проект на этом компьютере, то нужно скачать и импортировать базу устройств:

  1. Скачайте базу устройств по с сайта производителя.
  2. Распакуйте архив и импортируйте нужные устройства.

После установки базы устройств:

  1. Создайте новый проект, для этого нажмите кнопку с зелёным плюсом «+».
  2. Укажите произвольное имя проекта.
  3. В разделе Топология оставьте TP (Twisted Pair).

Всё, у нас есть автоматически созданное «здание», которе называется так же как проект.

Устройство

Физическое размещение — это этаж, комната или строение.

Добавим новую комнату:

  1. В окне Задания, нажмите на стрелку рядом с названием функции.
  2. Из открывшегося списка выберем пункт Комнаты.
  3. Далее нажмите на кнопку Добавить комнату и введите наименование.

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

  1. В окне Задания, в списке комнат выберите ту, где стоит устройство.
  2. Нажмите кнопку Добавить устройство. Откроется каталог устройств.
  3. В каталоге устройств выберите ПроизводительТип устройства и найдите наш термостат 2178TS. Здесь важно не ошибиться и выбрать устройство с полностью совпадающим наименованием — все буквы и цифры важны.
  4. Нажимаем кнопку Добавить.
  5. Смените адрес устройства. Зайдите в свойства устройства и в правой части экрана измените адрес. В нашем примере мы установили 1.1.4.

По алгоритму выше, добавьте второе устройство — выключатель. Он сразу есть в каталоге ETS5 и скачивать базу не нужно. Ему назначим адрес 1.1.5

Теперь в проекте есть два устройства.

Взаимодействие KNX устройств с Wirenboard

Настройку на стороне контроллера Wiren Board смотрите в описании сервиса wb-mqtt-knx.

Для примера, настраиваем канал A устройства US/U2.2 (адрес устройства, индивидуальный 1.1.5) так:

Конфигурирование канала А как кнопки

И создадим групповой адрес 1/1/55

создание группового адреса

В нотации KNX принято индивидуальные адреса записывать через точки а групповые - через слеши.

Можно сразу же загрузить в модуль прикладную программу и проверить что при замыкании входа A отправляются телеграммы на групповой адрес

knxtool vbusmonitor1 local:/var/run/knx
L_Busmon: BC 11 05 09 37 E1 00 81 09 :L_Data low from 1.1.5 to 1/1/55 hops: 06 T_Data_Group A_GroupValue_Write (small) 01 
L_Busmon: BC 11 05 09 37 E1 00 80 08 :L_Data low from 1.1.5 to 1/1/55 hops: 06 T_Data_Group A_GroupValue_Write (small) 00 
L_Busmon: BC 11 05 09 37 E1 00 81 09 :L_Data low from 1.1.5 to 1/1/55 hops: 06 T_Data_Group A_GroupValue_Write (small) 01

Это же в ETS:

Мониторинг шины

Полезные ссылки