We have moved our support service to a new technical support system. Since 17.01.2022, we have disabled the ability to create appeals through the userecho personal account. Now all requests are processed via mail to support@iridi.com .
Thank you for your understanding and have a nice day.
Похожие темы не найдены.
0
Отвечен
Mute для KNX
Mute для KNX как можно реализовать на 1 байте кнопку триггер:
1) нажатие выключили (свет, звук.),
2) нажатие включили в тоже значение из которого выключили
1) нажатие выключили (свет, звук.),
2) нажатие включили в тоже значение из которого выключили
Ответ
Ekaterina (head of support)
10 лет назад
Здравствуйте, Сергей
Для создания триггера, который переключается из нуля в последнее принятое состояние, используйте скрипт, приведенный в проекте-примере:
KNX_SmartTrigger.irpz
Проект подходит для любого драйвера, не только KNX. Чтобы он начал работать, настройте KNX, его команды и каналы, создайте кнопки, которые будут служить в качестве "умных" триггеров.
Кнопка должна иметь тип Button, к ней должен быть привязан канал обратной связи от управляемого адреса, чтобы она отображала реальное состояние адреса.
Далее, откройте редактор скриптов - [JS], и создайте в нижней части файла скрипта описание всех "умных" триггеров так же, как это сделано в примере.
Для каждого триггера описывается:
Для создания триггера, который переключается из нуля в последнее принятое состояние, используйте скрипт, приведенный в проекте-примере:
KNX_SmartTrigger.irpz
Проект подходит для любого драйвера, не только KNX. Чтобы он начал работать, настройте KNX, его команды и каналы, создайте кнопки, которые будут служить в качестве "умных" триггеров.
Кнопка должна иметь тип Button, к ней должен быть привязан канал обратной связи от управляемого адреса, чтобы она отображала реальное состояние адреса.
Далее, откройте редактор скриптов - [JS], и создайте в нижней части файла скрипта описание всех "умных" триггеров так же, как это сделано в примере.
Для каждого триггера описывается:
- имя драйвера, с которым связан триггер
- имя команды, куда триггер отправляет данные (оно должно быть таким же, как имя канала обратной связи, откуда триггер получает инофрмацию о текущем состоянии управляемого адреса)
- путь к элементу-триггеру (страница, имя элемента)
- значение триггера по умолчанию. После запуска проекта, если начальное значение адреса было равно нулю, при нажатии на триггер он установит это значение.
trigger(IR.GetDevice("KNX Router (KNXnet/IP)"), // драйвер "Address 1", // адрес KNX (Command = Feedback) IR.GetItem("Page 1").GetItem("Item 2"), // кнопка-триггер 50) // значение триггера по-умолчаниючтобы создать другой триггер, вам нужно скопировать только этот блок данных и заменить необходимые параметры - адрес элемента, адрес KNX, имя драйвера.
0
Отвечен
Анимация. Повороты
Доброй ночи!
Есть задача поворачивать элемент то влево, то вправо в зависимости от нажатия кнопки слева или справа соответствнно. Планировал реализовать данную функцию при помощи анимации.
Сделал все по инструкции описанной здесь.
Код получился вот такой:
function Turn()
{
var Button1 = IR.GetItem("Page 1").GetItem("Item 2");
var Button2 = IR.GetItem("Page 1").GetItem("Item 3");
var Arrow = IR.GetItem("Page 1").GetItem("Item 1");
IR.AddListener(IR.EVENT_ITEM_PRESS,Button1,function()
{
Animation([Rotate(90)], Arrow, 500, NOT_DELAY, NOT_LOOP, LINEAR);
});
IR.AddListener(IR.EVENT_ITEM_PRESS,Button2,function()
{
Animation([Rotate(-90)], Arrow, 500, NOT_DELAY, NOT_LOOP, LINEAR);
});
}
Есть задача поворачивать элемент то влево, то вправо в зависимости от нажатия кнопки слева или справа соответствнно. Планировал реализовать данную функцию при помощи анимации.
Сделал все по инструкции описанной здесь.
Код получился вот такой:
function Turn()
{
var Button1 = IR.GetItem("Page 1").GetItem("Item 2");
var Button2 = IR.GetItem("Page 1").GetItem("Item 3");
var Arrow = IR.GetItem("Page 1").GetItem("Item 1");
IR.AddListener(IR.EVENT_ITEM_PRESS,Button1,function()
{
Animation([Rotate(90)], Arrow, 500, NOT_DELAY, NOT_LOOP, LINEAR);
});
IR.AddListener(IR.EVENT_ITEM_PRESS,Button2,function()
{
Animation([Rotate(-90)], Arrow, 500, NOT_DELAY, NOT_LOOP, LINEAR);
});
}
0
Отвечен
IR.EVENT_TAG_CHANGE срабатывает независимо от изменения токена
Добрый день, помогите, пожалуйста, разобраться с событием EVENT_TAG_CHANGE. В моем проекте данное событие срабатывает при обновлении данных драйвера, а не при изменении токена :(
Для чистоты эксперимента создал пустой проект, добавил драйвер Modbus TCP to RTU, добавил 1 фидбэк, в скрипте прописал:
[05-06-2015 12:14:54.054] INFO Channel 1=0
[05-06-2015 12:14:54.626] INFO Channel 1=0
[05-06-2015 12:14:55.105] INFO Channel 1=0
[05-06-2015 12:14:55.667] INFO Channel 1=0
....
Как видно, токен не меняется, а событие всё равно вызывается каждые 500мс (Update Time в настройках драйвера).
Для чистоты эксперимента создал пустой проект, добавил драйвер Modbus TCP to RTU, добавил 1 фидбэк, в скрипте прописал:
IR.AddListener (IR.EVENT_TAG_CHANGE, IR.GetDevice("Modbus TCP to RTU"), function(name,value) {В итоге в логе вижу:
IR.Log(name + "=" + value);
})
[05-06-2015 12:14:54.054] INFO Channel 1=0
[05-06-2015 12:14:54.626] INFO Channel 1=0
[05-06-2015 12:14:55.105] INFO Channel 1=0
[05-06-2015 12:14:55.667] INFO Channel 1=0
....
Как видно, токен не меняется, а событие всё равно вызывается каждые 500мс (Update Time в настройках драйвера).
0
Отвечен
Coolmaster 1000D -Daikin
На какие модели бытовых кондиционеров рассчитан этот модуль? У Дайкина бытовые сплиты, оснащенные адаптерами KRP928 не поддерживают управление скоростью вентилятора и контроль температуры помещения (источники- мануалы Сoolmaster 1000D, Daikin KRP928) . А в модуле есть элементы управления и контроля этих функций, более, того в характеристиках модуля указано:
- Управление скоростью вентилятора с обратной связью
- Обратная связь от Room и Set Temperature.
У меня вопрос: для каких кондиционеров создавался этот модуль, с какими кондиционерами он тестировался, можно ли, используя этот модуль с бытовыми кондиционерами серии СПЛИТ обойти вышеупомянутые ограничения?
- Управление скоростью вентилятора с обратной связью
- Обратная связь от Room и Set Temperature.
У меня вопрос: для каких кондиционеров создавался этот модуль, с какими кондиционерами он тестировался, можно ли, используя этот модуль с бытовыми кондиционерами серии СПЛИТ обойти вышеупомянутые ограничения?
0
Отвечен
Отрицательное десятичное число в Javascript.
Здравствуйте!
Есть вопрос по преобразованию типов.
По RS232 получаем значение температуры с датчика в формате T=XY.
XY это шестнадцатиричное представление температуры в грудусах цельсия.
Т.е например 26 градусов это 1А и.т.д.
Вот функция:
При положительных значениях - все выводится верно.
Но если вместо 1A (26) будет E6 (-26), функция возвращает 230.
Как получить правильные отрицательные значения?
Есть вопрос по преобразованию типов.
По RS232 получаем значение температуры с датчика в формате T=XY.
XY это шестнадцатиричное представление температуры в грудусах цельсия.
Т.е например 26 градусов это 1А и.т.д.
Вот функция:
llsTemphex = Data.charAt(9) + Data.charAt(10)<br>llsTemp = parseInt(llsTemphex, 16)<br>
При положительных значениях - все выводится верно.
Но если вместо 1A (26) будет E6 (-26), функция возвращает 230.
Как получить правильные отрицательные значения?
0
Отвечен
Удалённое обновление проекта
Здравствуйте.
Возникла необходимость удалённого обновления проекта на iPhone клиента.
Есть статический IP-адрес, в роутере прописал переадресацию порта 10000 на комп с установленным Transfer, которым обычно его (iPhone клиента) и обновляю. Возможно сконнектить удалённый iPhone для обновления проекта?
0
Отвечен
при запуске приложения Иридиум выключается свет (KNX)
Здравствуйте,
Есть вопрос, при каждом запуске приложения в комнате выключается свет, где ошибка?
Есть вопрос, при каждом запуске приложения в комнате выключается свет, где ошибка?
Ответ
Ekaterina (head of support)
10 лет назад
Здравствуйте, Максим
Удалите из проекта Иридиум ссылки на групповые адреса, связанные не с исполняющими устройствами в шине KNX, а с клавишными выключателями, которые тоже управляют нагрузкой.
Второй вариант: в ETS убрать галочки Read в настройках групповых адресов клавишных выключателей.
Проблема в том, что при запуске, иридиум опрашивает состояние всех добавленных в проект групповых адресов. Среди них оказываются и адреса выключателей. Если у выключателей активна галочка Read (возможность принудительно опросить адрес), то выключатель отвечает в шину о своем состоянии. Исполняющее устройство воспринимает этот ответ как нажатие на клавишу и свет выключается.
Это осбенность работы шины, которую нужно учитвать или в ETS, или в проекте Иридиум.
В любом случае, удалить лишние адреса из проекта Иридиум будет очень полезно, т.к. они создают лишнюю нагрузку на шину при запуске проекта.
Удалите из проекта Иридиум ссылки на групповые адреса, связанные не с исполняющими устройствами в шине KNX, а с клавишными выключателями, которые тоже управляют нагрузкой.
Второй вариант: в ETS убрать галочки Read в настройках групповых адресов клавишных выключателей.
Проблема в том, что при запуске, иридиум опрашивает состояние всех добавленных в проект групповых адресов. Среди них оказываются и адреса выключателей. Если у выключателей активна галочка Read (возможность принудительно опросить адрес), то выключатель отвечает в шину о своем состоянии. Исполняющее устройство воспринимает этот ответ как нажатие на клавишу и свет выключается.
Это осбенность работы шины, которую нужно учитвать или в ETS, или в проекте Иридиум.
В любом случае, удалить лишние адреса из проекта Иридиум будет очень полезно, т.к. они создают лишнюю нагрузку на шину при запуске проекта.
0
Отвечен
формирование OSC (OpenSoundControl) комманд ?
Как преобразовать значение из элемента Уровень (float32) в формат HEX ?
Т.е. мне нужно сформировать команду в формате OSC: /volume,f XX XX XX XX, где ХХ - это значение взятое из элемента Уровень в HEX формате. Диапазон значений от -40,00 до 12,00 (числа с плавающей запятой).
Т.е. мне нужно сформировать команду в формате OSC: /volume,f XX XX XX XX, где ХХ - это значение взятое из элемента Уровень в HEX формате. Диапазон значений от -40,00 до 12,00 (числа с плавающей запятой).
Ответ
Sergey (expert)
9 лет назад
Добрый день, Ramil Vafin!
Это связано с отправкой данных в виде строки, требуется вместо этого сформировать массив байт значений.
Это связано с отправкой данных в виде строки, требуется вместо этого сформировать массив байт значений.
var hex = IEEE754_DecToHEX(this.Value);
// Конвертируем в массив байтов
var hexArray = [];
hexArray[0] = parseInt('0x' + hex.charAt(0) + hex.charAt(1), 16);
hexArray[1] = parseInt('0x' + hex.charAt(2) + hex.charAt(3), 16);
hexArray[2] = parseInt('0x' + hex.charAt(4) + hex.charAt(5), 16);
hexArray[3] = parseInt('0x' + hex.charAt(6) + hex.charAt(7), 16);
// Выводим в лог
IR.Log(hex);
IR.Log(hexArray);
var Packet = "/value"; // начало пакета
var end = "\r\n"; // конец пакета
hexArray.unshift(0x00); // Два символа нуля после начала пакета
hexArray.unshift(0x00);
hexArray.unshift(Packet); // Добавляем начало пакета
hexArray.push(end); // Добавляем конец пакета
// отправляем
IR.GetDevice("AV & Custom Systems (TCP)").Send(hexArray);
0
Завершен
передача от iRidium на удаленное устройство
взят один из примеров с сайта iRidium где есть получение данных о погоде (YahooMetro). Есть окно где отображается температура (отдельное окошко с получением данных с сервера Yahoo именно температуры) реализовано через скрипт. Скажите возможно ли эти данные передать на устройство по Modbus. Если да, то опишите каким образом.
P.S. в проекте папка content, далее папка weather и в ней попап окно weather, в этом попап есть обьект chil. В скрипте chill упоминается только в таких командах:
.......
var iChill = iPopup.GetItem("Chill");
.......
.......
iChill.Text = xml.rss.channel ["yweather:wind"]["@chill"] + "°" + xml.rss.channel ["yweather:units"]["@temperature"];
P.S. в проекте папка content, далее папка weather и в ней попап окно weather, в этом попап есть обьект chil. В скрипте chill упоминается только в таких командах:
.......
var iChill = iPopup.GetItem("Chill");
.......
.......
iChill.Text = xml.rss.channel ["yweather:wind"]["@chill"] + "°" + xml.rss.channel ["yweather:units"]["@temperature"];
0
Отвечен
Работа с JSON
Существует ли функция которая позволит получить количество обьектов в массиве JSON который пришел от устройства? Сейчас я решаю проблему подсчетом повторяющихся слов с помощью функции indexof (Запрос отправляю видеорегистратору, и приходит ответ с описанием свойств камер подключенных к NVR, это может быть 1 камера может быть 15 камер, хочу забрать эту информацию в двухмерный массив, без точного знания количества элементов массива (камер), не могу).
Сервис поддержки клиентов работает на платформе UserEcho