Ошибка skipping rule due to incomplete cell _system_dc_off: IncompleteCellCaught: incomplete cell encountered: Vin

Добрый день,

В логах начала появляться вот такая ошибка, при этом, срабатывает правило включения-выключения света (несколько раз за ночь), по задумке правило срабатывает при пропадании/появлении напряжения на входе EXT1_IN8, и это нормально работало около года, а сейчас правило срабатывает и в момент появления этой ошибки (on-off), при этом по истории состояние EXT1_IN8 не менялось.
В поиске объяснения не нашел, подскажите, что означает и где искать проблему.


WB5.8, обновления стоят, до этого больше года работал, такого не было.

Sider, добрый день! А это тот контроллер, на котором повреждена файловая система?
Хотел бы посмотреть сейчас на лог /var/log/messages и код правила.

В веб-интерфейсе параметр Vin отображается верно?

Контроллер - тот же, да. Думаете связано?
В веб интерфейсе - Vin отображается верно, в истории график напряжения тоже правильный, от 11,65 до 11,69 варьируется, провалов нет. Батарейка, кстати, у меня в WB стоит.
лог смогу вечером прислать, а код правила вот:

master_switch.js

var timer_1_timeout_ms = 50;
var timer_1_id = null;
var powerfault = false;
var no_power = null


defineVirtualDevice("master-switch", {  // для отображения статуса мастер-выключателя в виджете
    title: "Master-switch",
    cells: {
    enabled: {
        type: "switch",
        value: false
    },
    }
});


defineRule("Master-onoff", {   // описание работы при вкл\выкл мастер-выключателя
  whenChanged: "wb-gpio/EXT1_IN8", //при изменении состояния Мастер-выключателя
  then: function (newValue, devName, cellName) { 
    if ( newValue == true ) {//если Мастер-выключатель включен (питание подается контактором, но для включения двух светильников нужно сымитировать нажатие кнопочных выключателей)
      dev["master-switch"]["enabled"] = true; // статус мастер-выключателя - ВКЛ
      if ( powerfault == false ) { //и перед этим не общее пропадало питание
        dev["wb-gpio"]["A3_OUT"] = true;      // нажать выключатель 1
          dev["wb-gpio"]["A4_OUT"] = true;    // нажать выключатель 2
          timer_1_id = setTimeout(function () { // задержка 50 мс
            dev["wb-gpio"]["A3_OUT"] = false;     // отпустить выключатель 1 - имитация кнопочного выключателя, свет включается/выключается
            dev["wb-gpio"]["A4_OUT"] = false;     // отпустить выключатель 2 - имитация кнопочного выключателя, свет включается/выключается
            timer_1_id = null;   
          }, timer_1_timeout_ms);  // значение таймаута
      } else // если пропадало питание
        powerfault = false;  // ничего не делать, только снять флаг пропажи питания (для того, чтобы при отключении электирчества ночью не зажигался свет)
    } else {   //если  Мастер-выключатель выключен 
      dev["master-switch"]["enabled"] = false; // статус мастер-выключателя - ВЫКЛ, свет отключается контактором со всеми другими потребителями, независимо от WB.
    }
  }
});

defineRule("PWRloss", {   // описание работы при пропадании питания
    whenChanged: [
    "wb-gpio/EXT1_IN1", //при изменении наличия питания на любой из фаз
    "wb-gpio/EXT1_IN2",
    "wb-gpio/EXT1_IN3",
    ],
  then: function (newValue, devName, cellName) { //выполняй следующие действия  (аргументы - текущее значение параметра, имя устройства и имя параметра, изменение которого привело к срабатыванию правила)
    if ( newValue == false ) {//если питание фазы пропало
      powerfault = true;  // флаг, чтобы при включении не загорелся свет в коридоре
    } 
  }
});

Все может быть. Больше ничего не менялось же. Пока по тексту правила полной картины составить не могу, хотел бы системный лог посмотреть. Какая версия движка правил у вас?

messages.txt (484.0 КБ)
/var/log/messages за сегодня прилагается, переименовал в *.txt для загрузки на форум.
Разница с системным временем в веб-интерфейсе 3 часа.
вот отладочный лог из веб интерфейса за сегодня:

2019-07-16 23:38:48defineRule: Master-onoff
2019-07-16 23:38:48defineRule: PWRloss
2019-07-17 03:42:01skipping rule due to incomplete cell _system_dc_on: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 03:42:01skipping rule due to incomplete cell _system_dc_off: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 04:35:12skipping rule due to incomplete cell _system_dc_on: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 04:35:12skipping rule due to incomplete cell _system_dc_off: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 04:56:22skipping rule due to incomplete cell _system_dc_on: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 04:56:22skipping rule due to incomplete cell _system_dc_off: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 04:56:22skipping rule due to incomplete cell _system_dc_on: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 04:56:22skipping rule due to incomplete cell _system_dc_off: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 05:35:28skipping rule due to incomplete cell _system_dc_on: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 05:35:28skipping rule due to incomplete cell _system_dc_off: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 06:15:16skipping rule due to incomplete cell _system_dc_on: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 06:15:16skipping rule due to incomplete cell _system_dc_off: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 07:05:19skipping rule due to incomplete cell _system_dc_on: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 07:05:19skipping rule due to incomplete cell _system_dc_off: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 07:15:15skipping rule due to incomplete cell _system_dc_on: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 07:15:15skipping rule due to incomplete cell _system_dc_off: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 08:50:16skipping rule due to incomplete cell _system_dc_on: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 08:50:16skipping rule due to incomplete cell _system_dc_off: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 09:00:11skipping rule due to incomplete cell _system_dc_on: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 09:00:11skipping rule due to incomplete cell _system_dc_off: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 09:45:03defineRule: Master-onoff
2019-07-17 09:45:03defineRule: PWRloss
2019-07-17 09:55:15skipping rule due to incomplete cell _system_dc_on: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 09:55:15skipping rule due to incomplete cell _system_dc_off: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 09:56:40defineRule: Master-onoff
2019-07-17 09:56:40defineRule: PWRloss
2019-07-17 11:35:11skipping rule due to incomplete cell _system_dc_on: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 11:35:11skipping rule due to incomplete cell _system_dc_off: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 11:35:11skipping rule due to incomplete cell _system_dc_on: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 11:35:11skipping rule due to incomplete cell _system_dc_off: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 11:35:11skipping rule due to incomplete cell _system_dc_on: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 11:35:11skipping rule due to incomplete cell _system_dc_off: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 15:50:09skipping rule due to incomplete cell _system_dc_on: IncompleteCellCaught: incomplete cell encountered: Vin
2019-07-17 15:50:09skipping rule due to incomplete cell _system_dc_off: IncompleteCellCaught: incomplete cell encountered: Vin

defineRule: Master-onoff - это я сохранял существующие правила, думал в этом дело

Хотел еще узнать, вот тоже из какого-то вашего правила приходит?

В логе тоже есть ошибки, связанные с движком правил, “ERROR: queue Tokens is almost filled!”, раньше не замечали странного поведения движка?

Это одного поля ягоды:
_system_dc_on
_system_dc_off
эти события всегда шли парой, в одну и ту же секунду.

Вобщем, после исправления проблем с файловой системой, уже больше 12 часов - полет нормальный, в отладке ошибка не возникает, var/log/messages прилагается.
messages.txt (241.6 КБ).
Ошибки queue Tokens is almost filled я там не нашел.

Отлично. Обращайтесь, если что-то пойдет не так!