Add your idea or search for answers in existing topics. The most popular ideas will be implemented faster!

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.

+7
Voting

JavaScript typed array

Эмиль Боев 9 years ago in iRidium Script updated by Oksana (expert) 9 years ago 1
Hi, everybody!
Please, implement typed arrays (TA): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays
We really need it, cause TA dramatically increase the efficiency of binary data processing in the JavaScript engine.
+5
Voting

throwing custom errors with line numbers

r riksma 10 years ago in iRidium Script / AV and Driver scripts updated by Oksana (expert) 9 years ago 5
It would be nice if I could show a line number when I throw an error in my own code.

for example, if I run this piece of code:

  try {
    if (typeof currentStyle[options.name] == 'undefined') {throw new Error("Unknown style name: " + options.name);}
    }
    catch (err) {
        throw new Error(err.lineNumber + " " + err.message);
    }


the following line is logged:

02-12-2015    13:28:03    Kernel.Info    192.168.253.102    [12-02-2015 13:28:04.000]  WARNING  Script exception: Error: undefined Unknown style name: menuLogo


When an Error is logged from iridium itself it looks like this:

02-12-2015    13:31:42    Kernel.Info    192.168.253.102    [12-02-2015 13:31:43.000]  WARNING  Script exception: ReferenceError: /var/mobile/Containers/Data/Application/0CE95966-BFE3-4352-B1E9-F38E3EB8963C/Library/Caches/iRidiumMobile/EveryDevice/ViewLibrary.js:185: erraaa


How can I get the file and line number as well?
It would be great if you could always show this information in the log if the Error is not caught.
+5
Voting

get an array of the item names that are on a popup or page

rocfusion 9 years ago in iRidium Script updated by Oksana (expert) 9 years ago 2
Hi,

It would be useful when we could retrieve a list of item names for a page or popup. Knowing the names of the items contained in a popup would open up numerous possibilities of generating more generic control of the UI. This could be implemented as property of IR.GetPopup, for example;
var mypopupitems = IR.GetPopup("Popup 1").GetItemNames;

mypopupitems would be assigned an array of strings ( the names of the items ).

Please vote if you would like to see this implemented into the script....

Now as a workaround until we have a native solution, I have created the following.... which solves this for now. I hope this helps.

Array.prototype.GetItemNames= function(pageorpopup){
this.length=0;
for(var y=0;y<pageorpopup.ItemsCount;y++){
this.push(pageorpopup.GetItem(y).Name);
}
}

IR.AddListener(IR.EVENT_START, 0, function() {

var myPopupItems= []; // create an empty array
myPopupItems.GetItemNames(IR.GetPopup("Popup 1"));
// retrieve an array of item names that are in Popup 1
IR.Log("first popup item names "+myPopupItems);
myPopupItems.GetItemNames(IR.GetPopup("Popup 2"));
// retrieve an array of item names that are in Popup 2
IR.Log("second popup item names "+myPopupItems);
// no need to empty the array the method will do this automatically
});



+4
Voting

Spotify for Sonos

Paolo Scarpetta 10 years ago in iRidium Script / AV and Driver scripts updated by Oksana (expert) 9 years ago 2
Can I integrate an App like Spotify with the Iridium, What I really want to make is that my client can select the music he want to hear and send it to his TV through an apple tv. This can be done?
Requests for Drivers
+4
Under review

Driver for Bang&Olufsen BeoVision Avant TV

Dmitry Shulgin 9 years ago in iRidium Script / AV and Driver scripts updated by Vyacheslav Belov 8 years ago 4

At the moment the driver is fully working for one TV. To continue working with it we need feedback from installers about its functionality.

You can participate only if you have a possibility to test this driver with a real working TV. If not you can vote for it to tell us if it is really needed.

This driver/interface fully copies the original GUI of B&O. It is made for easy inclusion of the driver into the comming iRidium lite. The interface is in Russian at the moment.

Image 10473

Image 10472

Image 10474

To take part in this test, send the following data at evg@elspace.spb.ru:

- your iPad HWID

- serial number of your BeoVision Avant

- your E-mail address

As an answer you will get a file with a trial project (iRidium and the driver) fully working for 1 month.

Please, post here all support tasks and feedback.

+4
Completed

Practical experience of making HTTP driver

evg 9 years ago in iRidium Script / AV and Driver scripts updated by Henry 7 years ago 3

This theme is based on iRidium DDK. Below is the example of making driver for almost any device that has a web interface.

To make a driver you will need the Device that is connected to your LAN and has static IP address and LAN sniffer on your PC (in my case it is WireShark).


1. Getting request for feedbacks of the Device

- start your browser

- start your sniffer

- go to the web page of your device (in my case 192.168.1.11) or update it

- in sniffer window you should now find request from your PC to the Device

Image 10674

This URI is needed for us request for getting feedback of device (feedback is all the data that is on selected page.

method: GET

URI: /MainZone/index.html


2. Getting feedback

in JS if you make a request:

var DEVICE = IR.GetDevice("Busch iNet Radio");

DEVICE.Send(['GET,/en/index.shtml']);

as the answer you will get full HTTP code of the page you were requesting.

JS getting feedback:

IR.AddListener(IR.EVENT_RECEIVE_TEXT, DEVICE, function(inText)

{IR.Log(inText);}

LOG:

<html>

<head>

<title>Internet-Radio</title>

<link href="/style/style.css" type="text/css"/>

</head>

<body >

.........

<legend>Volume</legend>

<p>

<input type="text" name="vo" size=5 maxlength=5 value="2" />  

..........

<legend>Currently playing</legend>

<p>

Station 5:

<p>

<input type="text" name="--" readonly size=70 maxlength=64 value="DI.fm | Vocal chillout" />

..........


3. Parsing feedback text

To get needed data you have to slice this text.

For volume it will be:

var volume3 = inText.slice(inText.indexOf("Volume", 0)+60,inText.indexOf("Volume", 0)+120);

//getting part of the text for volume
var volume2 = volume3.slice(volume3.indexOf("value=", 0)+7,volume3.indexOf("nbsp", 0)-6);

//getting value
var volume = parseFloat(volume2);

//making float from text

IR.SetVariable("Drivers."+DeviceName+".iNet_Volume",volume);

//writing to variable


The same for current station:

var station0_2 = inText.slice(inText.indexOf("Currently playing", 0)+30,inText.indexOf("Currently playing", 0)+250);
var station0 = station0_2.slice(station0_2.indexOf("value=", 0)+7,station0_2.indexOf("Add to TuneIn Presets", 0)-71);
IR.SetVariable("Drivers."+DeviceName+".iNet_Current station name",station0);


This should be done for every data you need.


4. How to get HTTP command from the page

The same way that described in #1 but instead of updating page you have to press needed button.

In my case it is:

method: GET

URI: /en/index.cgi?p1=+Play+

JS:

DEVICE.Send(['GET,/en/index.cgi?p1=+Play+']);

The only thing to do is to ling this with buttons.


5. Cicling request for feedback

Data should periodically be updated. To do this:

function Autorequest()
{
DEVICE.Send(['GET,/en/index.shtml']);
}

IR.AddListener(IR.EVENT_ITEM_SHOW,IR.GetItem(Page),function() //getting feedback when page is shown
{

var ID = IR.SetInterval(5000, Autorequest); //every 5s
});

IR.AddListener(IR.EVENT_ITEM_HIDE,IR.GetItem(Page),function()
{
IR.ClearInterval(ID); //Need to be cleared. If not it will bee starting new interval request which will make your connection down
});


In attach example project and page HTTP code

This could be done for every device with web interface: UPS, Radio, etc.

Hope this will be helpfull for you

:)

+3
Voting

Search and replace in script editor

rocfusion 10 years ago in iRidium Script updated by Oksana (expert) 9 years ago 1
Hi,

It would be useful to have a search and replace feature in the script editor.  Exactly like there is in Notepad from windows.  it would save time.


Thanks,


Roger
GUI Editor/Script Editor & Helper
+3
Waiting for user's reply

Lists.CreateItem

rocfusion 10 years ago in iRidium Script / Interface scripts updated by Oksana (expert) 10 years ago 2
Hi,

Please take a look at the attached project.  Press on the delete first item button and then the press add first item.

I would expect that the List.CreateItem(1, 1, {Text: "TV Bedroom 1"})  would add an new item at the defined point in the list.  This is not the case it simply added to the end of the list.


Thanks,


Roger
List.irpz
List
+3
Waiting for user's reply

cannot select Dynamic Images from the project gallery

r riksma 10 years ago in iRidium Script / Interface scripts updated 9 years ago 9
Please see attached project. (note: camera URI is replaced with a dummy and should of course be changed before testing)
creating a Dynamic Image in the Project Gallery and assigning it to an item by script does not work.
Dragging and dropping the Dynamic Image on an existing item does work.
Referencing the URI directly also works.

While this is not a very big problem, this was kind of unexpected and caused me to think there was something wrong with the URI i was using.
Please fix if possible or maybe update documentation with this info?
cameras.irpz
Client
Answer
Oksana (expert) 10 years ago
Dear Riksma,

At the moment you can assign only MJPG stream using the script (but not H.264).
We know about this problem, it will be fixed in the next versions.

Sincerely yours,

Olga Ermakova
iRidium mobile Team
+2
Completed

Vera 3 Control Driver

Shaun Moloney 9 years ago in iRidium Script / AV and Driver scripts updated by niky94547 8 years ago 18
Would be extremely grateful if any fellow iRidium user could assist with information on a Vera driver to allow control via iRidium. Doesn't seem to be any discussion at all regarding this.

some help please...!! 😉😉


Requests for Drivers