Your comments


When loading a new version of the project: the documents of the old version of the project are NOT deleted (they remain in the same directory), but the documents of the new version of the project are added (in the same directory). The current value of the variable for which the "Persist" flag is set is stored in the file "*_cur. per".

The list of files of the uploaded single project looks like this:

After downloading a new version of the project, the list of files is as follows:

As you can see, the old files remained in place, they have values for which the "Persist" flag is set, but they are no longer used.

Attention! Do not edit these files manually! This may cause the project to fail.

If you often upload a new version of the project, then use the "Store in DB" flag instead of the "Persist"flag. The DB file remains the same.

There are two options:

1) The IT department allows access to for individual hosts (you can create a "white" list by MAC addresses). After authorization and downloading of projects, access can be closed.

2) Log in and upload projects to servers and panels from another network, and then bring them to a network disconnected from the Internet.


Host it is used for authorization and related processes. Storing the project and downloading it must be from the location that is specified in your personal account.


After loading the project, the server restarts to read the new configuration. During initialization, there will always be zeros in all tags. If you want to see the values in the virtual tags that were before the server restart, you can enable the "Persist" parameter for the necessary tags or enable the "Store in DB" and "Load on start" parameters. This will write the early values to the virtual tags. Until then, there will be zeros in the tags for a short time. Therefore, consider this feature if you use zeros from tags in some conditions (in JS or Routines).


For hosts and, the IP address is used. If you can log in to your personal account, then look at the project storage location. It may differ.

Добрый день.

Параметры "On topic" и "Off topic" опциональные. Если для включения и выключения устройства требуются отдельные топики, то нужно указать их в этих параметрах.

/devices/wb-mrm2_130/controls/Relay 1/on

/devices/wb-mrm2_130/controls/Relay 1/off

Проверьте в mqttbox, добавив в подписку три топика для вашего реле.


We have investigated the problem, but cannot offer a solution in the current product architecture. The fixes include optimization of the polling queue, but this will not affect the speed in your case. Unfortunately, we can't offer a solution yet.


We do not provide for the use of two iRidium Servers within the same object. Technically, you can use 2 iRidium Servers by connecting them both to a single panel project. However, the switching logic will have to be implemented by a script. In addition, it increases the number of licenses (each iRidium Server is one license). If you want to use access to the object via the iRidium Cloud Gate, then this access will work only for one server (which started last).

I am a little stumped with this when the product requires a checksum to also be sent.
var bytes = [0xFF, 0x01, 0x02, 0x03];
var string = '255,1,2,3';

var crc8 = IR.CalculateCRC(IR.CRC_8, bytes.join(','));
var crc8_s = IR.CalculateCRC(IR.CRC_8, string);

var crc16 = IR.CalculateCRC(IR.CRC_16, bytes.join(','));
var crc16_s = IR.CalculateCRC(IR.CRC_16, string);

var crc32 = IR.CalculateCRC(IR.CRC_32, bytes.join(','));
var crc32_s = IR.CalculateCRC(IR.CRC_32, string);



Read more about the method here.


In a custom driver, the checksum must be calculated only by the script.