Ваши комментарии
Я так понял, что единственный выход для меня это:
//===============================
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?
Сервис поддержки клиентов работает на платформе UserEcho
Ерунда получается. В этом случае я не могу узнать, что новые данные получены, если они не изменились. И получается, что в цикле постоянно отправляются данные.
Подскажите решение. Нужно определить событие, что данные в канал обратной связи получены, пусть даже значение не изменилось.