Если создать сценарий внутри правила, то при перезагрузке wb-rules он не запустится

В соответствии с документацией можно инициализировать сценарий из правила. Но в таком случае при перезапуске сервиса wb-rules сценарий не запустится с ошибкой ‘Virtual device already exists in system’

Шаги для воспроизведения:

  1. Создать правило test_scenario.js:
var ThermostatScenario = require('thermostat.mod').ThermostatScenario;

log.info('Создание сценария "ThermostatScenario"');

var cfg = {
    idPrefix: 'temp_sc',
    ruleEnabled: false,
    targetTemp: 30,
    tempLimitsMin: 20,
    tempLimitsMax: 70,
    hysteresis: 1,
    tempSensor: 'hwmon/CPU Temperature',
    actuators: [
      { mqttTopicName: 'wb-gpio/A1_OUT', behaviorType: 'setEnable' },
    ],
};

var sc = new ThermostatScenario();
sc.init('Тестовый сценарий "ThermostatScenario"', cfg);
log.info('Сценарий создан: {}', sc.name);
  1. После сохранения в списке устройств появится устройство "Тестовый сценарий “ThermostatScenario”
  2. Перезапустить сервис wb-rules:
systemctl restart wb-rules
  1. Устройство пропадёт. В логе будет ошибка Virtual device “wbsc_temp_sc” already exists in system

Версия wb-rules/testing,now 2.46.3 arm64, b-scenarios/testing,testing,now 1.10.1 all

Дополню, так как возможно это связано.

  1. При перезагрузке контролера (reboot) виртуальное устройство сценария сначала появляется на пару секунд, а затем пропадает. При этом в логах никаких ошибок нет.
  2. Если после этого сохранить правило, то устройство появляется и всё работает.

Для диагностики проблемы пришлите, пожалуйста, архив с диагностической информацией контроллера. Создание архива описано в документации.

Во вложении. Логи wb-rules стоит смотреть с 2026-08-19T02:20, так как до этого там много мусора было от других правил. В 02:20 отключил все правила кроме тестового, приведённого в первом сообщении.

  1. После перезапуска wb-rules в 02:21 в логах ошибка “Virtual device “wbsc_temp_sc” already exists in system”
  2. После reboot контролера в 02:22 устройство появилось, но без контролов rule_enabled и state. В mqtt у них состояние incomplete
    приложен диагностический архив, доступен только сотрудникам поддержки
    (543,5 КБ)

Добрый день! Ошибку воспроизвести удалось, передал всю информацию разработчикам.