Wb-rules ERROR: [backend] trying to remove unexisting control

Здравствуйте.
Пытаюсь добавить виртуальные устройства.

В списке топиков висит (от старых попыток):

|virtual_bedroom_temperature|fill|value|/devices/virtual_bedroom_temperature/controls/fill|0|OK|
|virtual_bedroom_temperature|hand_mode|switch|/devices/virtual_bedroom_temperature/controls/hand_mode|false|OK|
|virtual_bedroom_temperature|period|value|/devices/virtual_bedroom_temperature/controls/period|4|OK|

Сохраняю правило:

log(new Date());

/// TODO: подключить к головке датчика концевик и отследить наличие колебаний в пограничных значениях штока и посередине. Задрать повыше этот предел
// ШИМ несущая частота 4 секунды. Максимально возможное значение (бережем реле), при котором тем не менее не происходит колебаний штока (бережем исполнительный механизм)
var timerInterval = 4;

// минимальный интервал таймера, ниже которого не может работать исполняющее реле (1/2 of load power source cycle + 1 ms max.) 1000/50/2 + 1 = 11
//	+ промежуточное ??
//	+ канал связи ??
// начнем с 11 + 11 + 11 с запасом 50 мс
// ниже этого порога возможен дребезг. Если такая ситуация наступит, пишем ошибку и останавливаемся в крайнем положении. Это будет либо вкл, либо выкл. 
var minSwitchTime = 0.05;


var rooms = [
    {
        'code': 'virtual_bedroom_temperature',
        'title': 'Желаемая температура',
        'controlled_topic': 'wb-gpio/EXT1_K8',
// канал целочисленных данных о температуре, итоговая температура * 0.01 
        'temp_topic': 'wb-msw-v3_145/raw-temp'
    }
];

rooms.forEach(function cb(value, index, array) {
    defineVirtualDevice(value.code, {
        title: value.title,
        cells: {
            target_temp: {
                title: "Желаемая температура",
                type: "value",
                value: 22,
                min: 5,
                max: 30,
                precision: 0.1,
                units: "deg C"
            },
            current_temp: {
                title: "Текущая температура",
                type: "value",
                value: false,
                lazyInit: true,
                min: 5,
                max: 30,
                precision: 0.01,
                units: "deg C"
            },
            fill: {
                title: "Заполнение Шим",
                type: "value",
                units: "%",
                value: 0,
                precision: 0.1,
                min: 0,
                max: 100,
            },
            period: {
                title: "Длительность ШИМ импульса",
                type: "value",
                units: "s",
                value: timerInterval,
                readonly: true,
                min: 4,
                max: 4,
            },
            hand_mode: {
                title: "Ручное управление Шим",
                type: "switch",
                value: false,
            },
        }
    });

});

Дальше ничего нельзя сделать.
Для ячейки текущая температура, пришлось поставить false. Без этого парсер не пропускал. Считаю что для ленивой ячейки, нет смысла требовать value.
По смыслу температура не определена на момент запуска правила, поэтому сделал его отложенным. Чтобы появился когда фактически данные пойдут.

Собственно на чем спотыкается. Похоже отсутствует проверка того что ленивая ячейка уже создана при обновлении виртуального устройства.

В топиках появляется еще одна позиция:

virtual_bedroom_temperature fill value /devices/virtual_bedroom_temperature/controls/fill 0 OK
virtual_bedroom_temperature hand_mode switch /devices/virtual_bedroom_temperature/controls/hand_mode false OK
virtual_bedroom_temperature period value /devices/virtual_bedroom_temperature/controls/period 4 OK
virtual_bedroom_temperature target_temp value /devices/virtual_bedroom_temperature/controls/target_temp 22 OK

В логах:

01-02-2023 18:22:18.413 [wb-rules] ERROR: [backend] trying to remove unexisting control virtual_bedroom_temperature/current_temp

Также еще есть ошибки. Стоит ли обращать внимание? Неприятно с нуля такие вещи видеть.

01-02-2023 18:13:47.569 [wb-rules] INFO: system/DTS Version: failed to convert value ‘’, passing raw
01-02-2023 18:13:47.562 [wb-rules] INFO: [rule info] error running command callback for /bin/sh: Error: error error (rc -100)
anon native strict preventsyield
init /usr/share/wb-rules-system/rules/wb-mqtt-dac.js:14
anon /usr/share/wb-rules-system/rules/wb-mqtt-dac.js:77
anon /usr/share/wb-rules-system/scripts/lib.js:331 preventsyield
01-02-2023 18:13:47.559 [wb-rules] ERROR: [rule error] failed to open config file: /etc/wb-mqtt-dac.conf
01-02-2023 18:13:47.559 [wb-rules] ERROR: [rule error] failed to open config file: /etc/wb-mqtt-dac.conf
01-02-2023 18:13:47.556 [wb-rules] ERROR: [rule error] failed to open config file: /var/lib/wb-mqtt-dac/conf.d/system.conf
01-02-2023 18:13:47.514 [wb-rules] INFO: /usr/share/wb-rules-system/rules/wbmz-battery.js is NOT under source root /etc/wb-rules
01-02-2023 18:13:47.479 [wb-rules] sh: 4: /etc/wb_env.sh: source: not found
01-02-2023 18:13:47.328 [wb-rules] INFO: /usr/share/wb-rules-system/rules/wb-mqtt-dac.js is NOT under source root /etc/wb-rules
01-02-2023 18:13:47.287 [wb-rules] INFO: /usr/share/wb-rules-system/rules/system.js is NOT under source root /etc/wb-rules
01-02-2023 18:13:47.276 [wb-rules] ERROR: command ‘/bin/sh -c echo 1 > /sys/class/pwm/pwmchip0/export’ failed with exit status 1
01-02-2023 18:13:47.272 [wb-rules] sh: echo: I/O error

Добрый день. Не воспроизводится.
Явно очистите топики (из веб-интерфейса или с помощью MQTT в контроллерах Wiren Board — Wiren Board) и попробуйте снова.
Какая версия пакета wb-rules?

wb-rules/now 2.11.4 armhf [installed,local]

При сохранении без value парсер ругается:

Ошибка правила: Error: virtual_bedroom_temperature/current_temp: control value required for control type value
/sbuild-nonexistent/go/pkg/mod/github.com/wirenboard/go-duktape@v0.0.0-20210723134114-881337fff8cb/api.go:124
anon native strict preventsyield
cb /etc/wb-rules/termo.js:71 preventsyield
forEach native strict preventsyield
anon /etc/wb-rules/termo.js:80 preventsyield

Что касается падения wb-rules
При очистки топиков и пересоздания получаем ту же проблему. Как только к топику было обращение + перезапуск сервиса правил = все работает.

Т.е. проблема возникает при пересохранении правила создающего устройство, когда еще часть ленивых топиков не создано.

Так, частично воспроизвел. Но сегодня времени не хватило - думаю завтра сделаю репорт.