Счетчик WB-MAP3E

Так, отлично.

Ну, вот так, например:

//06_27_test_02.js

function makeNewVirtualPool(vdName, nameControl, typeControls, orderControl, sourceTopic, offsetValue){
  //log.info("GetDevice", getDevice("vdName"))
  if (getDevice(vdName) === undefined) {
    log.info("Define new")
    defineVirtualDevice(vdName, {
      title: vdName,
      cells: {

      },
    })
  }
 
    //Тут проверим есть ли уже контрол и если нет - создадим.
    if (!getDevice(vdName).isControlExists(nameControl)) {
      log.info("Контрола нет, создаем.")
      getDevice(vdName).addControl(nameControl, {
        type: typeControls,
        value: 1,
        readonly: true,
        order: orderControl
      });
    }
  
  defineRule(vdName + nameControl + "-action", {
    whenChanged: sourceTopic,
    then: function(newValue) {
      dev[vdName][nameControl] = newValue + offsetValue;
    }
  });
  
}


makeNewVirtualPool("Temp_Virt_1", "test1", "value", 1, "wb-adc/A1", 500);
makeNewVirtualPool("Temp_Virt_1", "test2", "value", 2, "wb-adc/A2", 800);