Зависание WB-rules

Добрый день, обнаружен проблему зависания WB-rules при следующих условиях.

Код:

function sensors(address) {

    var lmode = null;

    if ((dev[address]["CO2"] >= 800) && (dev[address]["CO2#error"] != "r" )) {

        lmode = 3;

    }

    //Если СО2 < или на нем висит ошибка для того что бы не исключать в влажность

    if ((dev[address]["CO2"] < 800) || (dev[address]["CO2#error"] == "r" )) {

        if ((dev[address]["Humidity#error"] != "r")) {

            if ((dev[address]["Humidity"] >= 65)) {

                lmode = 3;

            }

            if ((dev[address]["Humidity"] >= 55) && (dev["address"]["Humidity"] < 65)) {

                lmode = 2;

            }

            if ((dev[address]["Humidity"] < 55)) {

                lmode = 1;

            }

        }

    }

    return lmode;

}

startTicker(function () {

    if ((!dev["PV"]["Remote"])) {

        var s1 = sensors("wb-msw-v3_103");

        var s2 = sensors("wb-msw-v3_110");

        log.debug("s1_103: ", s1);

        log.debug("s2_110: ", s2);

        var max = s1;

        //log.debug("max : ", max);

        if (s2 > max) { max = s2 }

        if (max == null) { dev["PV"]["Mode"] = 3; }  //УСТНОВИТЬ МАX MODE 

        else { dev["PV"]["Mode"] = max; }

    }

}, delay_main)

Зависания происходит при входе в функцию с несуществующим топиком. я опасаюсь что если wb-mqtt-serial зависнет или буду добавлять новый сенсор произойдет перезагрузка, то топики на момент прогрузки пропадают, а wb-rules если зависает то его надо перезагружать ручками получается?
Можно ли как то избежать данной ситуации?

Здравствуйте! Возможно, данная проблема уже решена. Вот сообщение от разработчика в другой теме:

Попробуйте обновить пакет wb-rules.

К сожаление в репозитории вверсия 2.6.4 или я что то не так делаю?

root@stand:~# apt update
Ign:1 http://deb.debian.org/debian stretch InRelease
Hit:2 http://deb.debian.org/debian stretch-updates InRelease                                      
Hit:3 http://security.debian.org stretch/updates InRelease                                        
Hit:5 http://deb.wirenboard.com/wb6/stretch stable InRelease        
Hit:6 http://deb.debian.org/debian stretch Release                  
Hit:4 http://cdn-fastly.deb.debian.org/debian stretch-backports InRelease
Reading package lists... Done
Building dependency tree       
Reading state information... Done
All packages are up to date.
root@stand:~# dpkg -s wb-rules
Package: wb-rules
Status: install ok installed
Priority: optional
Section: misc
Installed-Size: 15366
Maintainer: Nikita webconn Maslov <n.maslov@contactless.ru>
Architecture: armhf
Version: 2.6.4
Depends: libc6 (>= 2.13)
Breaks: wb-mqtt-confed (<< 1.0.2), wb-rules-system (<< 1.6.3)
Conffiles:
 /etc/init.d/wb-rules 1579ece52285107cde1482052f47615d
 /etc/wb-configs.d/13wb-rules 1236e2e4343d949e0a21de865706c00b
 /etc/wb-rules/alarms.conf 2051dd214a6232c5e778c50e52d5fb6a
 /etc/wb-rules/rules.js 926c30d0fd63e272f6f9ad370dffb1b0
Description: Wiren Board Rule Engine
root@stand:~#

Изменения пока не попали в стабильный репозиторий.
Можно перейти на тестовый репозиторий по инструкции:

Самые свежие версии пакетов (тестовые) можно получить так:

echo "deb http://releases.contactless.ru/experimental/stretch stretch main" > /etc/apt/sources.list.d/experimental.list
apt update
apt install wb-rules

а wb-rules по wd сами не перезагружаются?? только вручную, имеется ввиду для версии 2.6.4

Вообще должны. Вот тут я описывал алгоритм работы диагностики движка правил: