Wb-rules: ERROR: failed to SetValue for unexisting control

Можно ли сделать обработку этой ошибки?
Там “failed to SetValue for unexisting control” только в одном месте встречается.

  • было бы круто добавить печать, какой конкретно контрол не найден.

Подведу итог наблюдений:
Когда пишем из wb-rules, появляется ошибка failed to SetValue for unexisting control.
Причем, проявляется, как я понял, на всех контролах.
Когда пишем из wb-rules в виртуальный девайс, просто ничего не происходит.

Кстати, да.
Еще раз погонял с отсутствующим (неправильным) контролом - при попытке записать в таковой хоть в лог и ругается "Dec 3 10:55:13 wirenboard-ACAX3M6K daemon.info wb-rules[1943]: ERROR: failed to SetValue for unexisting control
Dec 3 10:55:14 wirenboard-ACAX3M6K daemon.info wb-rules[1943]: INFO: reloading file: /etc/wb-rules/11_25_test_3.js
" но скрипт не останавливается.
Покопаюсь с вашим еще из первого сообщения.

Добавил в скрипт

    io_5e03a7e5832a17ee33585f34 = args[0] == true;
    dev["wb-mr3_39"]["K1"] = args[0] == true;
    if (dev["wb-mr3_39"]["K1"] != io_5e03a7e5832a17ee33585f34) {
        log("5e03a7e9832a17ee33585f58 BIG PROBLEM!");
    }

Проблемная строка напечаталась.

Dec  3 11:47:05 IQ139000 daemon.info wb-rules[1800]: INFO: [rule info] 5e03a7e9832a17ee33585f58 Exec: {"channels":{"ch_power":[[0]]},"expiration_stamp_ms":1606996205010,"cmd_timestamp_ms":1606996025010,"source":"schedule"}
Dec  3 11:47:05 IQ139000 daemon.info wb-rules[1800]: INFO: [rule info] 5e03a7e9832a17ee33585f58 schedule performed
Dec  3 11:47:06 IQ139000 daemon.info wb-rules[1800]: INFO: [rule info] 5e03a7e9832a17ee33585f58 ch_power[0]: 0
Dec  3 11:47:06 IQ139000 daemon.info wb-rules[1800]: ERROR: failed to SetValue for unexisting control
Dec  3 11:47:06 IQ139000 daemon.info wb-rules[1800]: INFO: [rule info] 5e03a7e9832a17ee33585f58 BIG PROBLEM!
Dec  3 11:47:06 IQ139000 daemon.info wb-rules[1800]: INFO: [rule info] 5e03a7e9832a17ee33585f58 ch_i: ch_power RETURN
Dec  3 11:47:15 IQ139000 daemon.info wb-rules[1800]: INFO: [rule info] 5e03a7e9832a17ee33585f58 initialized
Топики wb-mr3_39
root@IQ139000:~# mosquitto_sub -t /devices/wb-mr3_39/controls/# -v
/devices/wb-mr3_39/controls/K1 1
/devices/wb-mr3_39/controls/K1/meta/type switch
/devices/wb-mr3_39/controls/K1/meta/order 1
/devices/wb-mr3_39/controls/K1/meta/error r
/devices/wb-mr3_39/controls/K2 1
/devices/wb-mr3_39/controls/K2/meta/type switch
/devices/wb-mr3_39/controls/K2/meta/order 2
/devices/wb-mr3_39/controls/K2/meta/error r
/devices/wb-mr3_39/controls/K3 0
/devices/wb-mr3_39/controls/K3/meta/type switch
/devices/wb-mr3_39/controls/K3/meta/order 3
/devices/wb-mr3_39/controls/K3/meta/error r
/devices/wb-mr3_39/controls/Safety Timer 0
/devices/wb-mr3_39/controls/Safety Timer/meta/type range
/devices/wb-mr3_39/controls/Safety Timer/meta/max 65535
/devices/wb-mr3_39/controls/Safety Timer/meta/order 4
/devices/wb-mr3_39/controls/Safety Timer/meta/error r
/devices/wb-mr3_39/controls/Input 1 0
/devices/wb-mr3_39/controls/Input 1/meta/type switch
/devices/wb-mr3_39/controls/Input 1/meta/readonly 1
/devices/wb-mr3_39/controls/Input 1/meta/order 5
/devices/wb-mr3_39/controls/Input 1/meta/error r
/devices/wb-mr3_39/controls/Input 2 0
/devices/wb-mr3_39/controls/Input 2/meta/type switch
/devices/wb-mr3_39/controls/Input 2/meta/readonly 1
/devices/wb-mr3_39/controls/Input 2/meta/order 6
/devices/wb-mr3_39/controls/Input 2/meta/error r
/devices/wb-mr3_39/controls/Input 3 0
/devices/wb-mr3_39/controls/Input 3/meta/type switch
/devices/wb-mr3_39/controls/Input 3/meta/readonly 1
/devices/wb-mr3_39/controls/Input 3/meta/order 7
/devices/wb-mr3_39/controls/Input 3/meta/error r
/devices/wb-mr3_39/controls/Input 0 0
/devices/wb-mr3_39/controls/Input 0/meta/type switch
/devices/wb-mr3_39/controls/Input 0/meta/readonly 1
/devices/wb-mr3_39/controls/Input 0/meta/order 8
/devices/wb-mr3_39/controls/Input 0/meta/error r
/devices/wb-mr3_39/controls/Input 1 counter 0
/devices/wb-mr3_39/controls/Input 1 counter/meta/type value
/devices/wb-mr3_39/controls/Input 1 counter/meta/readonly 1
/devices/wb-mr3_39/controls/Input 1 counter/meta/order 9
/devices/wb-mr3_39/controls/Input 1 counter/meta/error r
/devices/wb-mr3_39/controls/Input 2 counter 0
/devices/wb-mr3_39/controls/Input 2 counter/meta/type value
/devices/wb-mr3_39/controls/Input 2 counter/meta/readonly 1
/devices/wb-mr3_39/controls/Input 2 counter/meta/order 10
/devices/wb-mr3_39/controls/Input 2 counter/meta/error r
/devices/wb-mr3_39/controls/Input 3 counter 0
/devices/wb-mr3_39/controls/Input 3 counter/meta/type value
/devices/wb-mr3_39/controls/Input 3 counter/meta/readonly 1
/devices/wb-mr3_39/controls/Input 3 counter/meta/order 11
/devices/wb-mr3_39/controls/Input 3 counter/meta/error r
/devices/wb-mr3_39/controls/Input 0 counter 0
/devices/wb-mr3_39/controls/Input 0 counter/meta/type value
/devices/wb-mr3_39/controls/Input 0 counter/meta/readonly 1
/devices/wb-mr3_39/controls/Input 0 counter/meta/order 12
/devices/wb-mr3_39/controls/Input 0 counter/meta/error r
/devices/wb-mr3_39/controls/Supply voltage 17.896
/devices/wb-mr3_39/controls/Supply voltage/meta/type voltage
/devices/wb-mr3_39/controls/Supply voltage/meta/readonly 1
/devices/wb-mr3_39/controls/Supply voltage/meta/order 13
/devices/wb-mr3_39/controls/Supply voltage/meta/error r

Само реле пришлось отключить физически, поэтому висят ошибки, но насколько помню это никогда не влияло на работу скрипта. Плюс проблемы начались, когда реле были подключены.

Сам wb-rules пока не перезапускал, чтобы была возможность отладить.

И да, кстати, то что мы хотим - вывод в лог, оно реализовано, но надо debug для wb-rules передать аргументом в строке.

Да, я видел в коде. Но если сейчас перезапущу с debug, бага исчезнет.
Все-таки debug не всегда нужен, а логирование и в повседневе должно быть информативным. Сейчас, чтобы понять какого контрола нет, нужно открывать скрипт и следить за ходом выполнения с помощью log() в самом скрипте.

Добрый вечер! Есть ли новости?

Добрый день. У меня не воспроизводится пока. :frowning:

У нас сегодня такая же ситуация.
failed to SetValue for unexisting control
И ничего не работает. Перезапуск wb-rules помог.