Your comments

Ерунда получается. В этом случае я не могу узнать, что новые данные получены, если они не изменились. И получается, что в цикле постоянно отправляются данные.

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

Я так понял, что единственный выход для меня это:

//===============================

var Scenes_1 = new Scenes("Сцены пом_1");

function Scenes(sceneName)   //определение функции
{
   var sceneNumber;
  
   function Control()
   {
      sceneNumber = IR.GetVariable("Server.Tags.BAOS." + sceneName);
      switch(sceneNumber)
      {
         case 0:
            IR.SetVariable("Server.Channels.BAOS.sw 1_1 - люстры",0);
            IR.SetVariable("Server.Channels.BAOS.sw 1_2 - бра",0);
           break;
         case 1:
            IR.SetVariable("Server.Channels.BAOS.sw 1_1 - люстры",0);
            IR.SetVariable("Server.Channels.BAOS.sw 1_2 - бра",0);
            break;
      }
   }
  
   IR.SetInterval(1000, Control);
}

//===============================

Мне в такой конструкции не нравится, что она забирает ресурсы процессора постоянно, а не событийно. Или нет?

"реагирует на любое новое значение, даже если новое равно предыдущему" - это не так. Даже, если реагирует, то действий не выполняет

GetFeedback должен выполняться событийно или по таймеру, а это усложняет скрипт. Хочется универсальное решение, работающее в фоне

1.1 var Scenes_1 = new Scenes();

1.2 Да. Драйвер KNX

2.1 Фидбэки, как раз, нужны, поэтому меня не устраиват то, что я вынужден обновлять значение фидбэка "левым" значением

2.2 Хочу, чтобы скрипт отрабатывал не только изменение, но и получение одного и того же значения переменной

Разве это:

var s_name = '"'+name_1[3]+'"';

mybase.Execute('INSERT INTO KNX_Data(Name, Value) VALUES('+s_name+','+value+')');


не то же самое, что это:

mybase.Execute('INSERT INTO KNX_Data3(Name, Value) VALUES("' + name_1[3] + '",' + value + ')');

IR.SetGlobalListener(IR.EVENT_GLOBAL_TAG_CHANGE, function(name, value)
{   
   var name_1 = name.split('.');
   IR.Log("Change: " + name + " = " + value);
          
   mybase.Open('KNX.db', true);     
   mybase.Execute("BEGIN");  
   mybase.Execute('INSERT INTO KNX_Data3(Name, Value) VALUES("' + name_1[3] + '",' + value + ')');  
   mybase.Execute("COMMIT");  
   mybase.Close();
  
});

//  Блок подписи на необходимые теги
IR.SubscribeTagChange("Server.Tags.KNX-1.пом_2 - темп тек");

Наверное, как в вебе - выбор интервала, выбор даты

Чистка каталога сервера помогла. База с нужными таблицами создалась. Но теперь проблема в том, что я не могу записать значение в таблицу. Лог сервера ниже

Таблицы есть, но они пустые.

Нет ли у вас проекта-примера по работе с USB?