Your comments
Создал в серверном проекте Virtual переменные, например, Tag c именем Tag1 и Channel с именем Channel1.
В проекте панели на Project Device Panel они отображаются как Drivers -> iRidium Server -> Virtual -> Commands (или Feedback)
1) Как обратиться к этим переменным из скрипта проекта панели? А именно записать значение -
IR.SetVariable("Drivers.iRidium Server.Tag1", 12345);
Так?
2) и как отслеживать изменение Virtual переменной (из проекта сервера, например)? Так?
IR.SetGlobalListener(IR.EVENT_GLOBAL_TAG_CHANGE, function(name, value)
{
switch (name) {
case "Drivers.iRidium Server.Channel1":
IR.Log(name + ": "+value);
break;
}
});
IR.SubscribeTagChange("Drivers.iRidium Server.Channel1");
Спасибо!
А возможно вызвать из скрипта панели функцию скрипта сервера? Или для этого нужно отслеживать состояние виртуальной переменной?
да, я хочу данные с сервера отправлять на панель (когда она активна). Как это можно осуществить? Через какие-нибудь глобальные переменные?
Когда панель заснула и пробудилась, некоторые состояния уже могли поменяться..
Спасибо за идею и за код!
А если мне надо анализировать состояние сигналов с KNX (например, два бинарных сигнала signal1 и signal2) и дальше делать действия в зависимости от их состояния, это должно выглядеть как-то так?
IR.AddListener(IR.EVENT_TAG_CHANGE, IR.GetDevice ("iRidium Server"), function (name, value)
{
sig1 = IR.GetDevice ("iRidium Server").GetFeedback("signal1");
sig2 = IR.GetDevice ("iRidium Server").GetFeedback("signal2");
if (sig1 ==1 && sig2 ==1) {
....
}
}
Customer support service by UserEcho
Спасибо.
Переменные в списке Commands и Feedback должны быть одинаковыми? Или для передачи данных от сервера к панели можно создать только переменную в Feedback (она же Tag на сервере), например tag_1? А для передачи от панели к серверу только Commands (Channels на сервере), например channel_2?