Добро пожаловать!
В этом форуме вы можете обсудить iRidium с другими пользователями.
Основные компоненты iRidium - приложение i3 pro и iRidium Server. Публикуйте здесь свои вопросы, идеи и найденные ошибки.
Вопрос команде технической поддержки вы можете задать, отправив приватное сообщение или email.
Подпишитесь на Историю обновлений, чтобы быть в курсе всех новостей!
Мы перевели нашу службу поддержки на новую систему технической поддержки. С 17.01.2022 мы отключили возможность создавать обращения через личный кабинет userecho. Теперь все запросы обрабатываются по почте на support@iridi.com .
Спасибо вам за ваше понимание и хорошего дня.
Галереи изображений и назначение картинок кнопкам в скрипте
Можно ли обратиться в скрипте к загруженной в глобальную галерею картинке? Глобальная галерея позволяет удобно загружать и хранить картинки, но, как я понимаю, они не загружаются в проект а попадают в папку Studio/gallery.
Затем, если я хочу обратиться к картинке в скрипте, я должен ее переместить ручками в галерею проекта, где уже нет папок. Что создает ряд затруднений при автоматизации и особенно при выборочном изменении уже помещенных в проект картинок.
И такой дикий слегка вопрос - можно ли редактировать картинки, которые уже в архиве проекта? То есть прям дергать из архива в ФШ и потом обратно паковать по месту.
Порекомендуйте, пожалуйста, как мне изящно действовать в случае, если я хочу назначать картинки на кнопки в скрипте.
Создание каналов AMX/АМХ скриптом
Возможно ли создавать каналы AMX в скрипте? У меня есть название кнопки и я от него исхожу, когда скриптом создаю кнопку и загружаю на нее картинку. Потом в редакторе создаю канал и фидбек ручками и потом уже прописываю их кнопке скриптом. Хотелось бы автоматически создавать всё, исходя лишь из массива названий кнопок. Хотя бы, чтобы избежать ошибок в названиях при создании 400+ каналов и фидбеков. Есть ли какие-то best practices для подобных случаев? В руководстве есть отсылка к функциям .AddChanel и .AddTag… можно ли получить к ним какой-нибудь доступ для бета-тестера, если для АМХ есть какая-то реализация?
Как передать имя элемента панельного проекта в скрипт?
Как можно передать в скрипт имя элемента по которому был произведен клик?
Хотелось бы чтоб это был один из параметров передаваемых в вызываемой функции. Сейчас похоже там вообще никакие параметры не передаются и не используются.
Я пробовал делать так:
Обрабатывая в скрипте тег проекта UnderItemNameShowPopUp - он имел значение undefended.
и еще, подскажите где почитать что именно можно передать в переменную используя выделенные (да и некоторые не выделенные тоже) свойства элемента UI:
Displaying text feedback from an HTTP request
I have a Matrox Monarch HD recording device which uses HTTP commands for operation. It can also provide feedback, however I am not having much luck at getting this feedback to display on a text item on a page. I tried putting the commands in the 'feedback' section of the driver, however discovered the will not work for HTTP Custom, only JS methods will.
The syntax for sending a command is as follows:
/Monarch/syncconnect/sdk.aspx?command=<command>
This works fine for starting and stopping recordings, however I really would like to show feedback on my control panel to give my end users confidence that recordings are actually happening, or alert them if there is an issue.
/Monarch/syncconnect/sdk.aspx?command=GetStatus
will return:
RECORD: READY/ON, STREAM: DISABLED, NAME:DIS-REC-1
I want to be able to have the 'RECORD: READY/ON' section displayed as text on a page, with the remainder of the string hidden.
In addition, when you start a recording:
/Monarch/syncconnect/sdk.aspx?command=StartRecording
it will return:
SUCCESS/FAILED
Could someone advise the JS code to make this work, as I am able to read code but not write it.
Thank you!
.Set - ошибка при использовании
Использую такую структуры:
function UserSlider(Interface,GA1,GA2) // передаю название драйвера и групповые адреса
{
var DEVICE = IR.GetDevice(Interface);
var Level = IR.GetItem("Page").GetItem("Item1");
function SetInitState() // Функция вычисления позиции
{
SendCommand();
}
function SendCommand()
{
if(Level.Value < 30)
{
DEVICE.Set(MoveGA,0);
}
else if(Level.Value > 70)
{
DEVICE.Set(MoveGA,1);
}
else
{
DEVICE.Set(StopGA,0);
}
}
}
Этот скрипт работал на всех проектах i2.
Сейчас импортировал его в i3. Эмулятор выдает ошибку на команду DEVICE.Set/ Говорит следующее:
[11-01-2017 13:58:09.893] WARNING SCRIPT Script exception: TypeError: C:\Users\evgeniy\Documents\iRidium pro documents\Client\669\scripts\Shutters_horizontal.js:35: Tried to use null as an object
Эта ошибка вылезает на все три случая использования .Set. Инструкции на i3 все перечитал. Все сделано в рамках требований движка.
Подскажите, как быть. Может я что-то не вижу?
How to force a value to be integer not a float?
hi,
is it possible to force a value in the channels/feedbacks via JS to be a integer and not a float?
when setting a feedback via JS like setting it to 100, is shows up as 100.000000
best regards,
martin lang
how to make logical functions javascript
Hi,
I don't have a lot of knowledge in javascript and i want to use logical functions, but i don't get it to work.
i used an example of this forum and i want to make this with it:
if: input1=0 and input2=1
than set: output1->0 , output2->0, output3->0
if: input1=1 and input2=1
than set: output1->1 , output2->1, output3->1
here is the script i made, can anyone tell me what i did wrong?
IR.AddListener(IR.EVENT_START,0,function() { //Lsunch a listener of the basis if global tag work. IR.SetGlobalListener(IR.EVENT_GLOBAL_TAG_CHANGE, function(name, value) { IR.Log("Active global: " + name + "\value: " + value); /* Write logics for required processing. */ if ((name == "Global.input1" && value == 0) && (name == "Global.input2" && value == 1)) { IR.Log("Light OFF") IR.SetVariable("Global.output1", 0) IR.SetVariable("Global.output2", 0) IR.SetVariable("Global.output3", 0) }else /* Write logics for required processing. */ if ((name == "Global.input1" && value == 1) && (name == "Global.input2" && value == 1)) { IR.Log("Light ON") IR.SetVariable("Global.output1", 1) IR.SetVariable("Global.output2", 1) IR.SetVariable("Global.output3", 1) } }); //Signature block for required tags IR.SubscribeTagChange("Global.input1"); IR.SubscribeTagChange("Global.input2") IR.SubscribeTagChange("Global.output1") IR.SubscribeTagChange("Global.output2") IR.SubscribeTagChange("Global.output3") });
I used this example from this forum, but is "IR.setGlobalListener" the best option to use?
If someone has a better suggestion please tell !
Thanks,
Marco
SetTimeout/SetInterval и параметры
В JS есть возможность передать параметры анонимной функции используемой в процедурах setInterval и setTimeout:
var hello = "Hello World";
setTimeout(alert, 1000, hello);
В аналогичных функциях иридиум скрипт эта возможность не реализована. Предлагаю добавить ее в API. Меньше бы изврата пришлось городить в коде...
Remove the custom driver from script
Hi
How I can remove created driver by script?
var dev = IR.CreateDevice(parameters);
//????????
dev.Remove();
dev.Delete();
dev.Clear();
Сервис поддержки клиентов работает на платформе UserEcho