Uw opmerkingen
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'ов
Customer support service by UserEcho
https://stackoverflow.com/questions/29712951/how-to-convert-two-8-bits-to-16-bits-and-vice-versa-in-javascript
Получение и отправка данных драйвера уже была описана http://support.iridiummobile.net/topics/13550-bitovaya-maska-modbus-tcp/#comment-81283
Что такое "два разных дисплея"?