0
Answered

Проблема с именами каналов драйвера сервера

Андрей Курников 2 years ago in Server Solutions • updated by Oksana (expert) 2 years ago 8

1) Если изменить название каналов в существующем серверном проекте и синхронизировать драйвер в клиентском проекте то имена каналов на клиенте не меняются
2) При изменении состояния какого либо адреса в KNX(вкл/выкл) и прочтению его например по событию IR.EVENT_TAG_CHANGE - имя тега остается такое же как в шине а не как названо в драйвере
3) При изменении имени канала сервера (в серверном или клиентском приложении) почему то пропадает возможность добавить feedback.

Спасибо.

Waiting for user's reply

Здравствуйте, Андрей


По порядку:


1) Если изменить название каналов в существующем серверном проекте и синхронизировать драйвер в клиентском проекте то имена каналов на клиенте не меняются

В текущей реализации этот функционал не был заложен.


2) При изменении состояния какого либо адреса в KNX(вкл/выкл) и прочтению его например по событию IR.EVENT_TAG_CHANGE - имя тега остается такое же как в шине а не как названо в драйвере

Можете привести конкретный пример с именами и получаемыми результатами. А лучше пришлите проект с описанием.


3) При изменении имени канала сервера (в серверном или клиентском приложении) почему то пропадает возможность добавить feedback.

Не понятно, где именно вы не можете добавить фитбек. Опишите, пожалуйста, пошагово свои действия



2)

Шаг1: Создаю серверный проект и добавляю KNX драйвер


Шаг2: Изменяю название переменной в серверном проекте


Шаг3: Добавляю драйвер сервера к клиентскому проекту и вешаю команду на кнопку

Шаг4: Вешаю слушатель на IR.EVENT_TAG_CHANGE


Шаг5: В логе выводится изначальное имя которое было взято из ETS



3)
1. При перетаскивании команды есть возможность добавить фидбек



2. При дальнейшем изменении имени команды фидбек пропадает

В итоге есть некоторая путаница с именами

К примеру если использовать IR.SetGlobalListener

IR.SubscribeTagChange("Server.Channels.KNX.Address1");

Какое имя должно быть в "Address1":
1) название имени канала в серверном проекте?

2) Название имени канала в клиетском проекте?
3) Назавание канала из ETS?


Шаг3: Добавляю драйвер сервера к клиентскому проекту и вешаю команду на кнопку


Проверьте, что в дереве есть фитбек с таким же именем. Это является условием появляения кнопки Add a feetback channel.


Шаг4: Вешаю слушатель на IR.EVENT_TAG_CHANGE

Шаг5: В логе выводится изначальное имя которое было взято из ETS


Согласно википедии
IR.EVENT_TAG_CHANGE - идентификатор события, которое срабатывает при изменении статуса канала обратной связи нативного драйвера.


Какое имя у фитбека, в который приходит ответ? По вашим скриншотам вы показываете, что меняете только имя команды.

В итоге есть некоторая путаница с именами. К примеру если использовать IR.SetGlobalListenerIR.SubscribeTagChange("Server.Channels.KNX.Address1");
IR.SubscribeTagChange("Server.Channels.KNX.Address1");Какое имя должно быть в "Address1": 1) название имени канала в серверном проекте?2) Название имени канала в клиетском проекте?3) Назавание канала из ETS?
Вы опять путаете имя команды и имя канала обратной связи (фитбека), используя команды для фитбеков.



После изменения команд, в клиенте следует изменить имя фитбека. Иначе в логе будет отображаться старое имя.

+1

Спасибо, разобрался.