Your comments

Спасибо.

Переменные в списке Commands и Feedback должны быть одинаковыми? Или для передачи данных от сервера к панели можно создать только переменную в Feedback (она же Tag на сервере), например tag_1? А для передачи от панели к серверу только Commands (Channels на сервере), например channel_2?

Создал в серверном проекте 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) {

       ....

   }

}