Ваши комментарии
Issue still actual?
Please describe the system in more detail which devices are used.
Send the project to support@iridiummobile.ru
Martin, the implementation was a success?
Arjan, have you solved your task?
Руслан, тут скорее сложность в формулировке задачи: Вы спросили как округлить число - Вам ответили.
СКАЧАЙТЕ пример для Level, поменяйте свойство Range Type на Float
IR.AddListener(IR.EVENT_TAG_CHANGE, IR.GetDevice("Mobdus OVEN"), function(name, value)
{
IR.Log(name+": "+value); //
if (name=="Tem1")
{
var calc = Math.round(value*100)/100;
IR.Log("From OVEN " + calc);
IR.SetVariable("Global.level", calc);
}
});
IR.AddListener(IR.EVENT_START,0,function()
{
//IR.SetVariable("Global.level", 23.123765);
IR.SubscribeTagChange("Global.level");
});
IR.SetGlobalListener(IR.EVENT_GLOBAL_TAG_CHANGE, function(name, value)
{
if (name == "Global.level")
{
var calc = Math.round(value*100)/100;
IR.Log("To OVEN" + calc);
IR.GetDevice("Mobdus OVEN").Set("ust_GVS", calc)
}
});
Вам уже писали, читайте больше документации
Первый вариант "По индивидуальным событиям": рисуем элемент Level (ползунок, имя тут - "Level Landscape 0 - 1")
В редакторе скриптов:
IR.AddListener(IR.EVENT_START,0,function()
{
var litem = IR.GetPage("Page 1").GetItem("Level Landscape 0 - 1");
IR.AddListener(IR.EVENT_ITEM_PRESS,litem,lvl,litem);
IR.AddListener(IR.EVENT_MOUSE_MOVE,litem,lvl,litem);
IR.AddListener(IR.EVENT_ITEM_RELEASE,litem,lvl,litem);
});
function lvl() {
var calc = Math.round(this.Value*100)/100;
IR.Log(calc);
//IR.SetVariable("Tokens.test", calc);
}
Второй вариант "Черех глобальный слушатель":
IR.AddListener(IR.EVENT_START,0,function()
{
IR.SubscribeTagChange("UI.Page 1.Level Landscape 0 - 1.Value");
});
IR.SetGlobalListener(IR.EVENT_GLOBAL_TAG_CHANGE, function(name, value)
{
if (name == "UI.Page 1.Level Landscape 0 - 1.Value")
{
var calc = Math.round(value*100)/100;
IR.Log(calc);
//IR.SetVariable("Tokens.test", calc);
}
});
Что-то я совсем запутался - в чем собственно задача и сложность решения?! Объясните "на пальцах" : "жму сюда - срабатывает то-то"
Запустить (эмулировать) команду вроде бы не сложно и фидбэки есть..
http://dev.iridiummobile.net/HDL#Universal_Switch_Control
Есть баг - не все броадкасты отрабатываются (для Wireless)
Что за устройство "выключатели"?
Yes, you can
Use for this SEND TONE in the SIP Commands list
see JS Script in the examples here [simplified intercom (tablet, PC)]
http://support.iridiummobile.net/topics/49-nastraivaem-sip-server-3cx-phonesystem/?lang=en
Олег, с помощью IR.EVENT_TAG_CHANGE можно настроить любую реакцию на изменение значения созданных Feedback'ов
Сервис поддержки клиентов работает на платформе UserEcho
https://stackoverflow.com/questions/29712951/how-to-convert-two-8-bits-to-16-bits-and-vice-versa-in-javascript
var firstNumber = 1118; // extracted from Uint16Array var high = ((firstNumber >> 8) & 0xff); var low = firstNumber & 0xff; IR.Log(high + ", "+ low); // 94, 4 var _firstNumber = (((high & 0xff) << 8) | (low & 0xff)); IR.Log(_firstNumber); // 1118Получение и отправка данных драйвера уже была описана http://support.iridiummobile.net/topics/13550-bitovaya-maska-modbus-tcp/#comment-81283
Что такое "два разных дисплея"?