Снова проблема с контроллерами, failed to convert value ‘’, passing raw, error: This control is incomplete

Ага, все ж изоляция… Фух, а то действительно - довольно странно.

Это просто следствие. Вот возьмем процесс запуска, старта контроллера. Порядок инициализации устройств - он нигде не прописан и может быть произвольным.
Я попробовал воспроизвести так:
Сделал правило которое подписывается на топик

//07_25_test_01.js
var topicRule = "wb-gpio/A1_OUT";

defineRule(topicRule + '-trigger', {
    whenChanged: topicRule,
    then: function(newValue, device, control) {
        log.info(newValue, device, control);
    }
});

Переключаю контрл, ожидаю увидеть в логе вывод. Вижу:

2023-07-25 10:32:30true wb-gpio A1_OUT
2023-07-25 10:32:30false wb-gpio A1_OUT

Останавливаю wb-mqtt-gpio, кстати сразу в вижу в логе как wb-rules реагирует на очистку топиков драйвера:

Jul 25 07:34:41 wirenboard-AWI3MCGC systemd[1]: Stopping MQTT Driver for GPIO-controlled switches...
Jul 25 07:34:41 wirenboard-AWI3MCGC wb-mqtt-gpio[6637]: INFO: [gpio driver] Stopped
Jul 25 07:34:41 wirenboard-AWI3MCGC wb-mqtt-gpio[6637]: INFO: [gpio driver] Cleaning...
Jul 25 07:34:41 wirenboard-AWI3MCGC wb-rules[1911]: WARNING: wb-gpio/EXT3_IN3: failed to convert value '0', passing raw, error: This control was deleted
Jul 25 07:34:41 wirenboard-AWI3MCGC wb-rules[1911]: WARNING: wb-gpio/EXT2_K2: failed to convert value '0', passing raw, error: This control was deleted
Jul 25 07:34:41 wirenboard-AWI3MCGC wb-rules[1911]: WARNING: wb-gpio/EXT3_IN11: failed to convert value '0', passing raw, error: This control was deleted
Jul 25 07:34:41 wirenboard-AWI3MCGC wb-mqtt-db[1839]: WARNING: [conventions] converting empty value to boolean "false"
Jul 25 07:34:41 wirenboard-AWI3MCGC wb-rules[1911]: WARNING: wb-gpio/EXT2_K16: failed to convert value '0', passing raw, error: This control was deleted
Jul 25 07:34:41 wirenboard-AWI3MCGC wb-rules[1911]: WARNING: wb-gpio/EXT2_K3: failed to convert value '0', passing raw, error: This control was deleted
Jul 25 07:34:41 wirenboard-AWI3MCGC wb-rules[1911]: WARNING: wb-gpio/EXT2_K5: failed to convert value '0', passing raw, error: This control was deleted
Jul 25 07:34:41 wirenboard-AWI3MCGC wb-rules[1911]: WARNING: wb-gpio/EXT2_K9: failed to convert value '0', passing raw, error: This control was deleted
Jul 25 07:34:41 wirenboard-AWI3MCGC wb-mqtt-gpio[6637]: INFO: [gpio driver] Cleaned

Не трогаю wb-rules, запускаю wb-mqtt-gpio
Тут же вижу, как в лог выводится информация о недозаполненных, в процессе создания топиках:

Jul 25 07:37:33 wirenboard-AWI3MCGC wb-mqtt-gpio[3818]: INFO: [gpio chip driver] Initialized output GPIO line 1:14 (EXT2_K15)
Jul 25 07:37:33 wirenboard-AWI3MCGC wb-mqtt-gpio[3818]: INFO: [gpio chip driver] Initialized output GPIO line 1:15 (EXT2_K16)
Jul 25 07:37:33 wirenboard-AWI3MCGC wb-mqtt-gpio[3818]: INFO: [mqtt] subscription succeeded (message id 35)
Jul 25 07:37:33 wirenboard-AWI3MCGC wb-rules[1911]: INFO: wb-gpio/D1_OUT: failed to convert value '', passing raw, error: This control is incomplete
Jul 25 07:37:33 wirenboard-AWI3MCGC wb-rules[1911]: INFO: wb-gpio/D1_OUT: failed to convert value '', passing raw, error: This control is incomplete
Jul 25 07:37:33 wirenboard-AWI3MCGC wb-mqtt-gpio[3818]: INFO: [mqtt] subscription succeeded (message id 66)
Jul 25 07:37:33 wirenboard-AWI3MCGC wb-mqtt-gpio[3818]: INFO: [mqtt] subscription succeeded (message id 73)
Jul 25 07:37:33 wirenboard-AWI3MCGC wb-rules[1911]: INFO: wb-gpio/A1_IN: failed to convert value '', passing raw, error: This control is incomplete
Jul 25 07:37:33 wirenboard-AWI3MCGC wb-mqtt-gpio[3818]: INFO: [mqtt] subscription succeeded (message id 86)
Jul 25 07:37:33 wirenboard-AWI3MCGC wb-rules[1911]: INFO: wb-gpio/A1_IN: failed to convert value '', passing raw, error: This control is incomplete
Jul 25 07:37:33 wirenboard-AWI3MCGC wb-rules[1911]: INFO: wb-gpio/A2_IN: failed to convert value '', passing raw, error: This control is incomplete

Снова переключаю контрол, в логе вижу:

Jul 25 07:39:01 wirenboard-AWI3MCGC wb-rules[1911]: INFO: [rule info] true wb-gpio A1_OUT
Jul 25 07:39:01 wirenboard-AWI3MCGC wb-rules[1911]: INFO: [rule info] false wb-gpio A1_OUT

Когда wb-mqtt-gpio остановлен - топика на который подписано правило нету, совсем. Но подписка на него сохраняется. Ну и вообще для подписки наличие топика не обязательно, он может появиться и потом.

Именно в System? Да, вот: Как дабавить кнопку в панель устройств к действующему устройству? - #2 от пользователя BrainRoot
Но все наши драйвера при выходе и так чистят за собой…

Это имеет смысл если используются каналы связи с ощутимой задержкой, да.

Дать мне правило, скрипт, которое вешает wb-rules - тогда воспроизведу и найду ошибку.