+1
Not a bug
IR.SetVariable в скрипте на iRidium Server
Выполняю данный небольшой скрипт на iRidium server (после старта, с небольшой задержкой):
IR.SetVariable("Server.Channels.AllTVs", 1);
По данному событию срабатывают слушатель:
IR.SetGlobalListener(IR.EVENT_GLOBAL_TAG_CHANGE, function (name, value){ ... }); IR.SubscribeTagChange("Server.Channels.AllTVs");
Что видно по логу сервера.
Однако, изменение виртуального канала не приходит в проект визуализации, подключенный к серверу.
Также, изменение значения канала не видно в web gui iRidium server:
В чем может быть проблема?
Customer support service by UserEcho
Проблема решена!
Со стороны проекта irpz, Virtual Tag (Virtual Feedback) - это переменная обратной связи, значение которой мы получаем от iRidium Server.
Со стороны проекта sirpz, Virtual Tag (Virtual Feedback) - это переменная обратной связи, значение которой получат проекты визуализации при изменении / начальном старте.
Поэтому значение, которое мы хотим отправить с сервера на визуализацию, нужно записывать в Tags:
Из документации не очевиден факт: виртуальный Tag и виртуальный Channel никак не связаны.
Это означает, что:
Панель отправляет в некоторый Virtual Channel значение. Это значение приходит на iRidium Server. Но оно не сохраняется ни в один из Virtual Tag на iRidium Server.
Если в качестве feedback на кнопку привязан Tag с тем же именем, что и отправляемый Channel, то перезапустив проект визуализации мы увидим старое состояние кнопки, потому что значение Tag осталосб неизменно.
Необходимо программно связать Tag и Channel, настроив для Channel функцию-модификатор (Script Modifier):
Документация