Uw opmerkingen

What about Camera Wizard from iRidium store?

Попробовал воспроизвести

обновил 1.0.11.10919 -> 1.1.2.11410

запустил заново в трансфере поиск устройств, включил Test Mode на сервере, заливается

оказывается при установке дается выбор папки для базы, менятся она глобально в файле

c:\Program Files (x86)\iRidium Ltd\iRidium Pro\iridium.xml

А что в логах пишет?
Ключ ---clean естественно не помогает? Запускается, конечно, с правами Администратора

Видимо, зашито жестко. Можно создать пользователя с определенным путем к папке документов, и запускать сервер от его имени

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Personal

можно конечно подправить относительные пути в конфигурации (storage.xml, irconfig.xml)

%USERPROFILE%\Documents\iRidium pro documents\Server\Documents\

но так себе идея

You are right - in the command Send we must using a part of url /core/api/jeeApi.php?api..

Try using Wireshark (on PC, where iRidium Server running or on where house automation box) to see what data is being sent (not for protected traffic, use http instead https). As a filter for example:

ip.dst == 192.168.0.1 && tcp.port==80

On the required package, right-click and select Follow->TCP Stream

Temporary you may use following trick:


1. After searching for the answer to this question, I found some interesting code in the projects on %UserProfile%\Documents\iRidium pro documents\lite\Downloads\Modules\

var l_pUser = IR.Cloud({cmd: IR.CLOUD_CMD_GET_USER});
    var userType = l_pUser.Type;
    if (userType == IR.CLOUD_USER_INSTALLATOR) {
...

2. If you create button with follow action in the empty project

function ItemPress(){
   i=0;
   while (item=IR.GetPopup(i)) IR.Log(item.Name+" "+i++)
}

you'll find that there are some built-in popups and items accordingly

3. Other types of events

for (i=0;i<100;i++)
IR.AddListener(i,0,function (e){IR.Log("Event "+this.i+" = "+((e!==undefined)? e .toString() : ""))},{i: i})


And together:

IR.AddListener(32, 0, function () {
   if (this.minit==undefined)  {
   try {
      var l_pUser = IR.Cloud({cmd: IR.CLOUD_CMD_GET_USER});
       var userType = l_pUser.Type;
       if (userType == 2) {
         var pp = IR.GetPopup("__IRIDIUM__Settings");
         var src = pp.CreateItem(IR.ITEM_BUTTON,"btnSysMenu",(pp.Width-134),(pp.Height-42),130,40); 
         src.Text="System Menu";
         var srcs=src.GetState(0); 
         srcs.TextAlign=6;
         srcs.TextColor=8060927;
         srcs.Color=0xFFFFFF00;
         //IR.CreateFont(1111, "HelveticaNeueCyr-Roman.otf", 11);//Delete if font is not added!
         //srcs.FontId=1111;
         IR.AddListener(IR.EVENT_ITEM_RELEASE,src,IR.ShowSystemMenu); 
      }
   } catch (e) {
      IR.Log("[ERROR] Can not create System Menu button! " + e.message + " : " + e.name);
   }    
      this.minit=true;
   }
});