Welcome!

On this forum you can discuss iRidium with other users. iRidium consist of 2 main components - i3 pro app and iRidium Server. Please post here your questions, ideas or errors you find.

Please send your questions to support team as a private messages.


Please subscribe to the Change Log to know our news

0
Waiting for user's reply
Martin Sundström 2 months ago in iRidium Script • updated 2 weeks ago 12

I am trying to read the event from a 4bit dimming feedback channel and cannot get anything to show in the log. I am using the following code to catch all events and write them to the log:


IR.AddListener(IR.EVENT_TAG_CHANGE, IR.GetDevice("KNX Router (KNXnet/IP)"), function(name, value)
{
IR.Log(name+":"+value) // output the tag name and its new value in the log

}


It works well for events from other types, KNX touch buttons, temperature from sensors etc. But when I send a 4bit dimming event from either a touch button or through ETS4 I get nothing. Should I use another type of event to catch that specific value or should IR.EVENT_TAG_CHANGE work?


Thanks!



0
Not a bug
AlexDr 3 months ago in iRidium Script • updated by Aleksandr Romanov (CTO) 3 months ago 6

Сделал тестовый проект. Почему то после поочередного запуска через скрипт больше одного звука функцией IR.PlaySound() при закрытии эмулятора возникает исключение.


В рабочем проекте такое исключение возникает если запустить из скрипта проигрывание звука сразу после запуска клиента (эмулятора).


Объясните почему в тестовом проекте не проигрывается звук по кнопке Sound 3, если перед ней нажать Sound 2?


Завтра отпишусь как ведет себя проект со звуками на iPad.


тестовый проект

0
Answered
Marco Tanis 3 months ago in iRidium Script • updated 3 months ago 9

Hello,


I want to execute an command when one of my server tags changes, so i tried using IR.GetServer but that doesn't work i get a syntaxerror


here an example:


IR.AddListener(IR.EVENT_TAG_CHANGE, IR.GetServer(), function(name, value){
if(name == "test" && value == 0)
{
testoff();
}
else if(name == "test" && value == 1)

{
teston();
}

});

function testoff()

{
IR.GetDevice("KNX").Set("address1", 0);

IR.GetDevice("KNX").Set("address1", 0);
}


function teston()

{
IR.GetDevice("KNX").Set("address1", 1);
IR.GetDevice("KNX").Set("address1", 1);
}


does anyone know whats wrong here, or maybe another solution?


Thanks,

Marco

0
Богдан Меленчук 3 months ago in iRidium Script • updated by Andrey S 3 months ago 1

Управляю камином planika,

function pl_start()

{
IR.GetDevice("planika").Send(['POST,,__SL_P_UBT=ButtonStart']);

}

При работе с эмулятора все супер работает, и при загрузке на панель перестает работать

0
Answered
Oleg Bubnov 3 months ago in iRidium Script • updated by Aleksandr Romanov (CTO) 3 months ago 4

Создаю список методом IR.ITEM_LISTBOX, заполняю его кнопками - выключателями релюх на AMX. Мне нужно при создании списка проверить какие реле включены и включить кнопки в списке. Как это правильно сделать? Я пытался изменять свойство Value у создаваемых кнопок (по аналогии с Text и Image), но генерируется ошибка. А как создать и поставить ссылку на кнопку в глобальный слушатель, не могу понять. Помогите, пожалуйста. Вот мой код:

var testPopup = "Баня";
var Switches = ["Вход","Душ","Пещера Потолок","Купель Патио","Купель Щит и Люстра","Батареи и Потолок","Пещера Люстра"];

IR.SetGlobalListener(IR.EVENT_GLOBAL_TAG_CHANGE, function(name, value)
{
IR.Log("Global Listener Activated: " + name + "\tValue: " + value);
//Как получить сюда ссылку на кнопку из списка и присвоить ее полю Value значение Value слушателя?
});

// оформляем подписку на изменения каналов драйвера
for (var i = 0; i < Switches.length; i++) {
IR.SubscribeTagChange("Drivers.amx."+Switches[i]);
};
IR.AddListener(IR.EVENT_START,0,function()
{
MakePanelID();
InitController();
NewPopup (testPopup);
IR.ShowPopup(testPopup)

// Создаем список и заполняем его
IR.GetItem(testPopup).CreateItem(IR.ITEM_LISTBOX,"Выключатели",0,0,750,1344);
test_list = IR.GetItem(testPopup).GetItem("Выключатели");
test_list.Template = "Шаблон Списка Выключателей";
for (var i = 0; i < Switches.length; i++) {
// или как здесь получить и указать значение GetFeedback из канала, соответствующего кнопке
test_list.CreateItem(i, 1,{Text: Switches[i]});

};

//При изменении выключателя, включаем или выключаем кнопку в AMX
IR.AddListener(IR.EVENT_LIST_ITEM_CHANGE, test_list, function(Item, Subitem, TypeEvent, object){
var tempnum = TypeEvent;
if(tempnum==12) {
amx.Set(Switches[Item],1);
amx.Set(Switches[Item],0);
Log(amx.GetFeedback(Switches[Item]));
object.Value = !amx.GetFeedback(Switches[Item]);

};
});
});

0
Answered
Oleg Bubnov 3 months ago in iRidium Script • updated 2 months ago 2

Можно ли обратиться в скрипте к загруженной в глобальную галерею картинке? Глобальная галерея позволяет удобно загружать и хранить картинки, но, как я понимаю, они не загружаются в проект а попадают в папку Studio/gallery.

Затем, если я хочу обратиться к картинке в скрипте, я должен ее переместить ручками в галерею проекта, где уже нет папок. Что создает ряд затруднений при автоматизации и особенно при выборочном изменении уже помещенных в проект картинок.

И такой дикий слегка вопрос - можно ли редактировать картинки, которые уже в архиве проекта? То есть прям дергать из архива в ФШ и потом обратно паковать по месту.

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

0
Answered
Oleg Bubnov 3 months ago in iRidium Script • updated by Andrey S 3 months ago 2

Возможно ли создавать каналы AMX в скрипте? У меня есть название кнопки и я от него исхожу, когда скриптом создаю кнопку и загружаю на нее картинку. Потом в редакторе создаю канал и фидбек ручками и потом уже прописываю их кнопке скриптом. Хотелось бы автоматически создавать всё, исходя лишь из массива названий кнопок. Хотя бы, чтобы избежать ошибок в названиях при создании 400+ каналов и фидбеков. Есть ли какие-то best practices для подобных случаев? В руководстве есть отсылка к функциям .AddChanel и .AddTag… можно ли получить к ним какой-нибудь доступ для бета-тестера, если для АМХ есть какая-то реализация?

0
Answered
AlexDr 4 months ago in iRidium Script • updated by S1210 3 months ago 12

Как можно передать в скрипт имя элемента по которому был произведен клик?

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


Я пробовал делать так:


Обрабатывая в скрипте тег проекта UnderItemNameShowPopUp - он имел значение undefended.


и еще, подскажите где почитать что именно можно передать в переменную используя выделенные (да и некоторые не выделенные тоже) свойства элемента UI:


0
Answered
Iain Brew 4 months ago in iRidium Script • updated 3 months ago 9

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!


0
Answered
Евгений Лешкив 4 months ago in iRidium Script • updated by Ekaterina (head of support) 4 months ago 1

Существует ли возможность обработать мультитач на джойстике?