Поделитесь своими идеями, пожеланиями и примерами в этом разделе. Идеи, за которые голосуют чаще всего, будут реализованы быстрее!
Мы перевели нашу службу поддержки на новую систему технической поддержки. С 17.01.2022 мы отключили возможность создавать обращения через личный кабинет userecho. Теперь все запросы обрабатываются по почте на support@iridi.com .
Спасибо вам за ваше понимание и хорошего дня.
throwing custom errors with line numbers
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.
Spotify for Sonos
Драйвер для Bang&Olufsen BeoVision Avant TV
На настоящий момент, драйвер полноценно работает с одним телевизором. Чтобы продолжать работу над драйвером, нам необходимо получить обратную связь от инсталляторов функционале драйвера.
Вы можете принять участие в тесте драйвера только есть у вас есть работающий телевизор Bang&Olufsen BeoVision Avant.
Если у вас нет телевизора, вы можете проголосовать, нужен ли этот драйвер.
Драйвер и интерфейс полностью повторяют оригинальный интерфейс B&O. Это сделано для легкого включения драйвера в iRidium lite, который скоро выходит. На данный момент интерфейс только на русском языке.
Чтобы принять участие в тесте, пришлите, пожалуйста, следующие данные на почту evg@elspace.spb.ru:
- HWID вашего iPad
- серийный номер вашего BeoVision Avant
- ваш E-mail
В ответе на ваше письмо вы получите файл с триал-проектом (iRidium и драйвер), который будет полноценно работать 1 месяц.
Пожалуйста, пишите здесь, все ваши идеи, вопросы.
Practical experience of making HTTP driver
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
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
:)
Vera 3 Control Driver
some help please...!! 😉😉
Pansonic tv
Вот здесь скрипт и список команд http://support.iridiummobile.net/topic/1024071-panasonic-viera-tv-soap-zapros-cherez-drajver-custom-http-tcp/
Time Scheduler
TimeSched_2__1_.irpz
IR.Execute to send parameters
IR.Execute workds well, BUT it would be great for it to also send parameters in the IR.Execute command
eg
IR.Execute('D:\\someprograme\\Program.exe /some parameters')
The same as when executing from the command line or run command
Probably just a windows & Mac feature?
IR.EVENT_ONLINE & IR.EVENT_OFFLINE doesn't work for SIP device
BeeToo.AddListener(IR.EVENT_ONLINE, IR.GetDevice('SIP'), function () { //some code }); BeeToo.AddListener(IR.EVENT_OFFLINE, IR.GetDevice('SIP'), function () { //some code }); Device is connected, fir sure! Incoming calls working. But now evend handling for Online and Offline.
Sending "Play" Command
Hi ! I am currently working on setting alarms on my project. This project uses the Squeezebox Module and Raspberry Pi for my Multiroom and I would like to know what would be the script to play a sound such as alarm.wav on specific speakers (1 speaker = 1 raspberry ip address).
Any thouught?
Thank you!
Сервис поддержки клиентов работает на платформе UserEcho