Чем дело кончилось?
Программист работает над глобальным фиксом wb-rules, так что ждём.
Пользуйтесь startTimer - норм!
Есть ли какие-то продвижения? Тоже столкнулись с этой проблемой.
Может можно как-то сразу определять, что wb-rules не работают и рестартовать? Watchdog перезапустил wb-rules лишь через 5 минут, что довольно долго.
Это попробуйте пожалуйста.
Я использовал выход Vout на контроллере, чтобы через правила на него подавать импульсы на реле времени. Чтобы когда они зависнут, управление переходило на резерв. В процессе эксплуатации выяснилось, что правила могу зависать не полностью. Т.к. этот мой ватчдог продолжал работать, а часть функций прикрывалась. Ребут помогал.
Могу сказать, что версия рулей из сборки 2110 ложится сама по себе (без внешних причин) раза в два реже предыдущей: крутится около месяца против «стандартных» двух недель. Похоже, проблему нащупать смогли? Осталось только прибить ее.
Это только через кровь, боль и рефакторинг.
А кому щас легко. (ц)
wb5 Version: 1.7.1 Проблема сохраняется.
Active: active (running) since Wed 2022-12-21 16:36:18 MSK; 1 weeks 6 days ago
янв 04 04:00:00 wirenboard-AEUQHNW4 wb-rules[22164]: ERROR: queue Events is almost filled! 2048/2048
янв 04 06:25:07 wirenboard-AEUQHNW4 wb-rules[22164]: WARNING: MQTT connection lost
янв 04 06:25:07 wirenboard-AEUQHNW4 wb-rules[22164]: INFO: MQTT connection established
янв 04 06:30:00 wirenboard-AEUQHNW4 wb-rules[22164]: ERROR: queue Events is almost filled! 2048/2048
янв 04 06:50:00 wirenboard-AEUQHNW4 wb-rules[22164]: ERROR: queue Events is almost filled! 2048/2048
янв 04
А что при этом с брокером? Весьма непохоже что дело в движке.
Для WB5, к сожалению, новых версий уже нет. Попробуйте вот это: Перестает работать wb-rules - #13 от пользователя poglazov
Спасибо попробую. По брокеру отпишусь когда упадет в сл раз.
Упало спустя месяц
● wb-rules.service - LSB: MQTT Rule Engine for Wiren Board
Loaded: loaded (/etc/init.d/wb-rules; generated; vendor preset: enabled)
Active: active (running) since Tue 2023-01-24 00:39:43 MSK; 3 weeks 5 days ago
Docs: man:systemd-sysv-generator(8)
Process: 3892 ExecStop=/etc/init.d/wb-rules stop (code=exited, status=0/SUCCESS)
Process: 3903 ExecStart=/etc/init.d/wb-rules start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/wb-rules.service
└─3910 /usr/bin/wb-rules -syslog -queue-len 4096 -editdir /etc/wb-rules /usr/share/wb-rules-system/rules/ /etc/wb-rules /usr/share/wb-rules/
фев 19 10:13:05 wirenboard-AEUQHNW4 wb-rules[3910]: ERROR: queue Events is almost filled! 4092/4096
root@wirenboard-AEUQHNW4:~# systemctl status mosquitto
● mosquitto.service - Mosquitto MQTT v3.1/v3.1.1 Broker
Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2016-11-03 20:17:11 MSK; 6 years 3 months ago
Process: 382 ExecStartPost=/bin/sh -c echo $MAINPID > /var/run/mosquitto.pid (code=exited, status=0/SUCCESS)
Main PID: 362 (mosquitto)
CGroup: /system.slice/mosquitto.service
└─362 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
У брокера подозрительная дата запуска.
Место есть
root@wirenboard-AEUQHNW4:~# df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
/dev/root 976M 559M 351M 62% /
devtmpfs 60M 0 60M 0% /dev
tmpfs 61M 0 61M 0% /dev/shm
tmpfs 61M 548K 60M 1% /run
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 61M 0 61M 0% /sys/fs/cgroup
/dev/mmcblk0p6 1,4G 636M 676M 49% /mnt/data
tmpfs 12M 0 12M 0% /run/user/1002
tmpfs 12M 0 12M 0% /run/user/0
А жива ли батарейка RTC?
Предполагаю что длина очереди как раз и задается параметром. Ну и нет ли создаваемых и остающих ся объектов? Например, динамически создаваемые правила?
Батарейку менял пару лет назад, был такой же вопрос ко мнеВыполнение правила после полной загрузки WB - #27 от пользователя BrainRoot
Привила есть, приложил все одним файлом.
scratch_784.zip (2.7 КБ)
Надо RTC все ж проверить…
Можно просто - обесточить контроллер минут на несколько, подключиться к Debug порту (сеть от контроллера отключить) и посмотреть время на включенном.
Не причина, но все ж.
А тут, в правилах ничего потенциально опасного нет…
Попрошу разработчика глянуть. Попробуте, пока, увеличить длину очереди?