Your comments

you'll be able to use the logic blocks to do such sings. It is planned for release this year

HWID может меняться даже при обновлении приложения или смене Apple ID, так что на него сложно рассчитывать. На Android та же ситуация.
Если есть возможность менеджмента DHCP на маршрутизаторе, я бы рекомендовала опираться на собственный IP адрес панели. Можно зарезервировать IP адреса за планшетами и быть уверенным в том, что они не пересекутся и не изменятся.


К тому же можно выдать под DHCP определенный диапазон адресов, например 0.100...150 - и этот же диапазон выделить как доступные ID для панелей iRidium на контроллере. Тогда даже не понадобится резервировать адреса - можно будет написать универсальное правило присвоения Panel ID по IP адерсу.

Hello


AV driver uses "Data" field to store the string that will be sent, but not use the Value at all.
You can only send a Data, but not AV command Value. So it will be the same result if the Value field stay empty or you add a value.
To send a custom string you need a JS or several commands in driver list.

pls try this

http_request_parse.irpz


IR.AddListener(IR.EVENT_START, 0, function()
{
   // create HTTP device
   IR.CreateDevice(IR.DEVICE_CUSTOM_HTTP_TCP, "Monarch", "192.168.0.66", 123);
   // send requests on client Start
   sendRequests();            
});


function sendRequests() 
{
   // request 1
   // answer: SUCCESS
   IR.GetDevice("Monarch").SendEx({ 
         Type: "GET",                                                                    
         Url:  "/Monarch/syncconnect/sdk.aspx?command=StartRecording",
         Headers: {},       
         cbReceiveText:       function(text, code, headers)  
         {
            IR.GetPage("Page 1").GetItem("Item 1").Text = text;              
         },
   });
   
   // request 2
   // answer: RECORD: READY, STREAM: DISABLED, NAME:DIS-REC-1
   IR.GetDevice("Monarch").SendEx({ 
         Type: "GET",                                                                    
         Url:  "/Monarch/syncconnect/sdk.aspx?command=GetStatus",
         Headers: {},       
         cbReceiveText:       function(text, code, headers)  
         {
            var params = text.split(",");
            for (i = 0; i < params.length; i++)
            {
               var state = params[i].split(":");
               IR.Log(params[i]);
               switch(state[0])
               {
               case "RECORD":
                  IR.GetPage("Page 1").GetItem("Item 2").Text =  state[1];
               break;
               case " STREAM":
                  IR.GetPage("Page 1").GetItem("Item 3").Text =  state[1];
               break;
               case " NAME":
                  IR.GetPage("Page 1").GetItem("Item 4").Text =  state[1];
               break;
               }
            }
         }
   });
}

Hello Damian


Can you please tell us the version of iRidium Studio u use and send a projects? We have to see the sample of Command that has been sent incorrect. (you can share the projects with us via support@iridiummobile.ru).

It could be an error of sync via server and client part, but we have to check to be sure

Hello
You mean you want to send the iMessage from i3 pro? It is not possible, you can only open the app from i3 pro and then send the message manually.
But you can send a message to group in Telegram:

http://support.iridiummobile.net/topics/8182-sdelajte-modul-dlya-otsyilki-soobschenij-v-telegram/

Пожалуйста, свяжитесь с нами по телефону, если не получается разобраться с инструкцией. Постараемся сделать гайд, но это займет некоторое время.

Hello, we don't plan to add this functionality in the near future, but as Martin say it is possible to catch HDL messages with JS and process them (send commands to Bose or other devices). Please contact to Martin, if he don't mind to share his solution

For the moment it is not possible to use several feedbacks on single item with native tools. But please use the attached JS sample. It makes you able to compare the list of feedbacks by OR and AND condition

Compare-Feedbacks-By-Or-Or-And-Condition.irpz


// compare feedbacks by logic OR

function Check_OR(_name, _buff, _token) {
   IR.AddListener(IR.EVENT_TAG_CHANGE , IR.GetDevice(_name), function(name,value) {
      var device = IR.GetDevice(_name);
      var summ = 0;
      for (var i = 0; i <= _buff.length - 1; i++) 
      {
         if(device.GetFeedback(_buff[i]) > 0)   IR.SetVariable("Global." + _token, 1);
         summ += device.GetFeedback(_buff[i])
         if (summ == 0) IR.SetVariable("Global." + _token, 0)
      }
   });
}

Check_OR("KNX", // Driver Name
        ["Dimmer", "Relay 2/30:Channel 11", "f32", "u32", "s32", "u16", "s16"], // List of Fb
        "Token_OR"); // Driver token where the result will be written

// compare feedbacks by logic AND

function Check_AND(_name, _buff, _token) {
   IR.AddListener(IR.EVENT_TAG_CHANGE , IR.GetDevice(_name), function(name,value) {
      var device = IR.GetDevice(_name);
      var summ = 0;
      for (var i = 0; i <= _buff.length - 1; i++) 
      {
         if(device.GetFeedback(_buff[i]) != 0)              summ += 1;
         if (summ == _buff.length)                          IR.SetVariable("Global." + _token, 1);
         if (i == _buff.length - 1 && summ != _buff.length) IR.SetVariable("Global." + _token, 0);
      }
   });
}

Check_AND("KNX", // Driver Name
         ["Dimmer", "Relay 2/30:Channel 11", "f32", "u32", "s32", "u16", "s16"], // List of Fb
         "Token_AND"); // Driver token where the result will be written

Thank you for details, we have made a task with description of this functionality and start with it in the next versions. Please check the change log to see when it is done