APP FUNCTIONS: Show system menu

Download Example

 

Read manual:

Wiki RU

Wiki EN (coming soon)

Можно ли в одну структуру AddListener добавить обработку нажатий для нескольких объектов?

На данный момент каждый элемент интерфейса нуждается в своем слушателе:

// массив элементов
var gRegisters = [
   {item: IR.GetItem("Page 1").GetItem("1")},
   {item: IR.GetItem("Page 1").GetItem("2")},
   {item: IR.GetItem("Page 1").GetItem("3")},
];

function OnPress()
{
	// что-то делаем при нажатии на элемент массива, this. - указатель на item
	IR.Log("Pressed: " + this.Name);
	IR.Log(this.Name + " Value: " + this.Value);
}

// создание слушателей для всех элементов массива
function RegisterButton()
{
   for(var i = 0; i < gRegisters.length; i++)
   {
      var item = gRegisters[i].item;
      IR.AddListener(IR.EVENT_ITEM_PRESS, item, OnPress, item);
   }
}

// функция, выполняющаяся по старту
function Start()
{
   RegisterButton();
}
// начинаем создание слушателей
IR.AddListener(IR.EVENT_START,0, Start);
Что бы получить доступ к данным графического элемента внутри функции OnPress, необходимо обратиться к нему по ссылке this. Например:

function OnPress() {
	var NameOfItem = this.Name;
	IR.Log( NameOfItem );
}

Возможность обращения к данным достигается путем передачи 4-го параметра в метод AddListener:

IR.AddListener(IR.EVENT_ITEM_PRESS, item, OnPress, item);

Вы можете узнать имя нажатого элемента или подписаться на нажатия всех элементов в проекте, используя следующие инструкции.

Помогите сделать "бегущую строку"

Если текст не помещается в Item, то нужно его прокручивать. Желательно иметь возможность делать паузу перед началом прокрутки и выбирать скорость. То есть сделать стандартное поле для вывода данных о композиции у плеера.

Change Item Opacity (Transparency)

If you want to set the transparency of Item when the Light changes, you can do it directly (send Light Value to Item.Opacity) or via the script.
The script would be needed if your light changes from 0 to 100 untill the Opacity changes from 0 to 255.



// items
var Level = IR.GetItem("Main").GetItem("Light Level 1");
var Item = IR.GetItem("Main").GetItem("Light Item 1").GetState(0);
// driver name
var driver = IR.GetDevice("KNX Router (KNXnet/IP)");
//by Start
Item.Opacity = 0;
// change opacity manually (using ScriptCall function)
function OpacityChange ()
{
    Item.Opacity = Level.Value*255/100;
}
// change opacity by Feedback from equipment 
IR.AddListener(IR.EVENT_TAG_CHANGE , driver, function(name,value)
{
   Item.Opacity = Level.Value*255/100;
});
Opacity Change by Value.irpz


If you want to convert the feedback only use this script:

var FeedbackConvert;
IR.AddListener(IR.EVENT_TAG_CHANGE, IR.GetDevice("KNX"), function(name, value)
{
if (name == "Address 1")
{
FeedbackConvert = (value*255)/100
IR.GetItem("Page 1").GetItem("Item 1").GetState(0).Opacity = FeedbackConvert;
IR.Log("Value = "+ value)
}else{
IR.Log("unknown")
}
});

How i can save & load an array to project token?

Example Project


1D Array 
var Value_Buttons = [0,0]; 

function LoadData(){
   Value_Buttons = IR.GetVariable("Global.Data").split(",");    
   IR.Log(Value_Buttons)
}                

function SaveData(){
   IR.SetVariable("Global.Data", Value_Buttons);    
   IR.Log(Value_Buttons);
}

SaveData();
LoadData();

2D Array
var Value_Buttons = [[0,0],[1,1]]; 

function LoadData(){
   var data = IR.GetVariable("Global.Data");
   data = data.split(";");
   for(var i = 0; i < data.length; i++)
   Value_Buttons[i] = data[i].split(",");
   IR.Log(Value_Buttons)
}   

function SaveData(){
   var data = "";
   for(var i = 0; i < Value_Buttons.length; i++)
   data += Value_Buttons[i] + ";";
   IR.SetVariable("Global.Data", data);
   IR.Log(data);
}

SaveData();
LoadData();
3D Array
var Value_Buttons = [[[0,0],[1,1]],[[2,2],[3,3]]]; 

function LoadData(){

   var data_1 = IR.GetVariable("Global.Data");
   var data_2 = [];
   data_1 = data_1.split(":");

   for(var i = 0; i < data_1.length; i++){
      data_2[i] = data_1[i].split(";");
      for(var j = 0; j < data_2[i].length; j++)
         Value_Buttons[i][j] = data_2[i][j].split(",");  
   }
   IR.Log(Value_Buttons);

}                                      

function SaveData()
{
   var data = "";
   for(var i = 0; i < Value_Buttons.length; i++){
      for(var j = 0; j < Value_Buttons[i].length; j++){
         data += Value_Buttons[i][j];         

         if(j < Value_Buttons[i].length -1)
            data += ";"
      }          

      if(i < Value_Buttons.length -1)
         data += ":";
   }

   IR.SetVariable("Global.Data", data);
   IR.Log(data);
}

SaveData(); 
LoadData();
<br/>

HighCross - NetString

Dear everybody,


For fast and convenient adding the Highcross  into your project we created an interface in the Metro style for iPad & iPhone for controlling Highcross.


We would appreciate if you test efficiency of this driver. If you find any bug please let us know.

 

Download new version


Highcross_ECM-DTS16D_DemoProject.irpz
HighCross-NetString.zip
Highcross.db

Counting in Java

Hi,
I am adding the small working project as attachment here, for anybody who might need this function.
 
Regards,
Paulo

Test_Count__2_.irpz

Analog Clock

Hello,
 
It is now possible to download my analog clock as a screensaver from our website.
 
Have fun with it.
 
Jan Hein
JaHeLi media

clock_light.jpg

Smart meter

Hello,
 
Read our facebook page about the firts steps in data reading from an smart energy meter in the Netherlands.
 
Jan Hein
JaHeLi media

1375317_402121366577896_716783109_n__2_.jpg

Yamaha

Dear everybody,
We developed the js driver for Yamaha devices.Test it please and write your feedback to us. We are havn't the Yamaha-device for testing it, but have the Denon-protocol. We are test it on the our DeviceEmulator.exe programm only. We attached the database with the driver and demo-project. If you will test it, first of all you must open the GUI and attach the database to your device base. After that add the driver to your project and then you will see the instructions how to use it. You must use following algoritm:
1. Use Macros Send Text
2. Input Action for Feedback InputAction
3. Input Zone for Feedback InputZone
4. Drag & Drop Command to item

Yours,iRidium Mobile Team.


Yamaha.zip

Marantz SR7007

For fast and convenient adding the Marantz SR7007 into your project we created an interface in the Metro style for iPad & iPhone for controlling Marantz SR7007.

Test it please and write your feedback to us. We attached the database with the driver. If you will test it, first of all you must open the GUI and attach the database to your device base. After that add the driver to your project and then you will see the instructions how to use it. You must use following algoritm:

1. Use Macros Send Text
2. Input Action for Feedback InputAction
3. Input Zone for Feedback InputZone
4. Drag & Drop Command to item


DOWNLOAD:
http://www.iridiummobile.ru/products/module/marantz/

PTN Matrix Switchers

Dear everybody,
We developed the driver to PTN Matrix Switcher. Test it please and write your feedback to us. We attached the database with the driver, and the example project. If you will test it, first of all you must open the GUI and attach the database to your device base. The manual you can find in script.


ptn.db
PTN.irpz

Boxee

Dear everybody,
We developed the js driver for Boxee media server. 

Test it please and write your feedback to us. We attached the database with the driver and the demo-project.

Yours,

iRidium Mobile Team


Boxee.db
Boxee.irpz

xComfort Eaton

HI! The xComfot driver is available in beta-test now. It can send commands and receive feedback. But the driver may have some bugs: for example, it doesn't request the initial state of a device at its start. All comments to the driver are in Russian, but soon they'll be available in English. We wish you successful testing. 

 


Release_2013.05.31_-_EN.zip

Dune HD

Dear everybody,


For fast and convenient adding the DuneHD Media Server into your project we created an interface in the Metro style for iPad & iPhone for controlling DuneHD Media Server. 

We would appreciate if you test efficiency of this driver. If you find any bug please let us know.

 

Download new version


Dune.db
DuneHD.zip

Kramer Switchers

Dear everybody,

For fast and convenient adding the Kramer 2000 / 3000  into your project we created an interface in the Metro style for iPad & iPhone for controlling Kramer 2000 / 3000.

We would appreciate if you test efficiency of this driver. If you find any bug please let us know.

 

Download new version


Kramer.zip

Onkyo / Integra

Dear everybody,


For fast and convenient adding the  Onkyo into your project we created an interface in the Metro style for iPad & iPhone for controlling  Onkyo.


We would appreciate if you test efficiency of this driver. If you find any bug please let us know


Download new version

Roku

Dear everybody,
We developed the js driver for Roku. 
Test it please and write your feedback to us. We attached the database with the driver.


Yours,
iRidium Mobile Team


Roku.db

Denon

Dear everybody,
We developed the js driver for Denon devices.
Test it please and write your feedback to us. We are havn't the Denon-device for testing it, but have the Denon-protocol. We are test it on the our DeviceEmulator.exe programm only. We attached the database with the driver and demo-project. If you will test it, first of all you must open the GUI and attach the database to your device base. After that add the driver to your project and then you will see the instructions how to use it. You must use following algoritm:
1. Use Macros Send Text
2. Input Action for Feedback InputAction
3. Input Zone for Feedback InputZone
4. Drag & Drop Command to item


Yours,iRidium Mobile Team.


Denon_v2.zip