Самопроизвольные отказы\исполнения правил


#1

последнюю неделю - две столкнулся с проблемой
самопроизвольно срабатывают правила, иногда наоборот не срабатывают.
скрипт который крутится
rules.txt (10.4 КБ)
из примечательного нашел
Dec 7 23:42:36 wirenboard-ART4XDQN daemon.info wb-rules[20859]: ERROR: queue handleMessage is almost filled! 2048/2048

и проблемы чтения с датчика
Dec 7 23:48:32 wirenboard-ART4XDQN user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 1 input(s) @ 121 of device modbus:33: Serial protocol error: request timed out
Dec 7 23:48:49 wirenboard-ART4XDQN user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 1 input(s) @ 3 of device modbus:33: Serial protocol error: request timed out

последнее срабатывание прям сейчас, а в лог высыпало
Dec 8 00:28:33 wirenboard-ART4XDQN daemon.info wb-rules[32509]: INFO: [rule info] Было длинное нажатие EXT1_DR1
Dec 8 00:28:33 wirenboard-ART4XDQN daemon.info wb-rules[32509]: INFO: [rule info] Было длинное нажатие EXT1_DR2
Dec 8 00:28:34 wirenboard-ART4XDQN daemon.info wb-rules[32509]: INFO: [rule info] Было длинное нажатие EXT1_DR4
Dec 8 00:28:34 wirenboard-ART4XDQN daemon.info wb-rules[32509]: INFO: [rule info] Было длинное нажатие EXT1_DR5
Dec 8 00:28:34 wirenboard-ART4XDQN daemon.info wb-rules[32509]: INFO: [rule info] Было длинное нажатие EXT1_DR6
Dec 8 00:28:34 wirenboard-ART4XDQN daemon.info wb-rules[32509]: INFO: [rule info] Было длинное нажатие EXT1_DR16

messages.txt (1.8 МБ)

в общем то я физически не могу отжать сразу 5 клавиш

помогите, пожалуйста, а то жена вместе с wb6 из дома выгонит)

@Kilpio , спасай)


#2

Здравствуйте. Из самого примечательного в вашем скрипте - один комплект переменных timerLast timerTime на все правила. Я не советую так делать, так как правила естественно будут мешать друг другу. Попробуйте это исправить, возможно всё начнёт работать.


#3

@Ianni , спасибо, но маловероятно, что проблема в этом, оно же работало исправно с апреля месяца)
проблема скорее всего в чьей-то прожерливости, пришлось почистить

282M /var/lib/mosquitto/mosquitto.db

добавил в конфиг

persistent_client_expiration 14d

посмотрю что из этого получится.


"зависание" системы
#4

В любом случае это не правильно. Попробуйте нажать одну из кнопок и не отпуская её щёлкнуть второй. Скорее всего вместо короткого нажатия вторая клавиша отработает длинное нажатие


#5

@Ianni спасибо, кейс воспроизвелся, поправил.


#6

Изначально причина проблемы была не в этом дефекте с использованием переменных, а в этом:
wb-rules[20859]: ERROR: queue handleMessage is almost filled! 2048/2048
См. аналогичные проблемы поиском по форуму.


#7

@safonik читал, там история если и получила развитие то уже за кадром Тыц