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 Хочу, чтобы скрипт отрабатывал не только изменение, но и получение одного и того же значения переменной
Да уж...
Проще никак?
Пример:
Все верно. Именно так я его и использую.
Проверю еще раз
Тогда нужно исправить в онлайн справочнике
Customer support service by UserEcho
Нет. Можно закрыть тему