Создание виртуального устройства из wb-rules

Здравствуйте.
Пишу правило, в котором виртуальное устройство будет создаваться функцией по заданным мной параметрам:

Собственно правило:
var aQuantity = 5;

var devsA = [];

makeABCVirtualControl(aQuantity);

function makeABCVirtualControl(adresses) {
    if (getDevice("ABC") === undefined) {
        defineVirtualDevice("ABC", {
            title: "ABC",
            cells: {},
        })
    }

    var lastOrder = 0;
    for (var i = (lastOrder + 1); i <= (lastOrder + adresses); i++) {
        var newCtrlName = "A" + i + "ch";
        if (!getDevice("ABC").isControlExists(newCtrlName)) {
            getDevice("ABC").addControl(newCtrlName, {
                order: i,
                type: "range",
                value: 0,
                max: 254,
                readonly: false
            });
        }
    }
    lastOrder = lastOrder + adresses;
    for (var i = (lastOrder + 1); i <= (lastOrder + adresses); i++) {
        var newCtrlName = "A" + (i - lastOrder) + "fb";
        if (!getDevice("ABC").isControlExists(newCtrlName)) {
            getDevice("ABC").addControl(newCtrlName, {
                order: i,
                type: "value",
                value: 0,
                readonly: true
            });
        }
    }
    log.info(getDevice("ABC").isVirtual());
    getDevice("ABC").controlsList().forEach(function (ctrl) {
        if (ctrl.__cellId.indexOf("A") > -1 && ctrl.__cellId.indexOf("ch") > -1) {
            devsA.push(ctrl.__deviceId + "/" + ctrl.__cellId);
        }
    });
    log.info("devsA: {};".format(devsA));
}

defineRule("test1", {
    whenChanged: devsA,
    then: function (newValue, devName, cellName) {
        log.info("newValue: {}; devName: {}; cellName: {};".format(newValue, devName, cellName));
    }
});

var temp = 0;
defineRule("test2", {
  when: cron("@every 5s"),
  then: function () {
    if(temp < 254) temp++; else temp = 0;
    dev["ABC/A1fb"] = temp;
  }
});

Все работает, но иногда, после сохранения правила, проверка на “виртуальность” (isVirtual()) выдает “false”, соответственно при попытке записать значение в контрол появляется ошибка:
wb-rules[1828]: ERROR: control ABC/A1fb SetValue() error: This control is not writable
Если удалить устройство из web-интерфейса и пересохранить правило, все начинает правильно работать (isVirtual выдает “true” и значения отображаются).
Что я упустил?

Добрый день!

Приложите, пожалуйста, диагархив. Создание архива описано в документации.

Добрый день!
Ваш вопрос еще актуален?

Добрый. Да, но я еще не добрался до контроллера, он у меня в офисе, а я на объекте пропадаю.
Я его заранее начал настраивать, пока объект в состоянии чернового ремонта.
В течении нескольких дней пришлю.
Сразу говорю, что контроллер новый и чистый, я обновил его fit-файлом со сбросом через веб-интерфейс, настроил часы и написал это одно правило.

чт, 13 февр. 2025 г. в 09:33, Dmitry Kuryatnikov через Wiren Board Support <info@wirenboard.com>:

Здравствуйте! Ждем архив.

Для чистоты эксперимента еще раз обновил контроллер на более свежую версию ПО со сбросом. Ошибка пока не повторялась.
Да и правило, включая создание виртуального устройства, решил перенести в Node Red.
Так что, тикет пока закрываю.