Перестают работать правила, сбрасывается системное время

Добры день. перестают работать правила. Почитал на форуме. Основные причины

  1. Причина связана с RTC и батарейкой. Батарейку заменил. Настроил время, но всё равно на следующий день время уехало на 2008 год. Возможно причина - отключение питания, хотя у меня есть встроенный аккумулятор, и при отключении электричества индикатор на контроллере зелёный
  2. Ошибки в правилах. Я закомментировал все правила оставив только лоли. и увидел ошибки при рестарте правил через systemctl restart wb-rules.
    WARNING: couldn’t load /usr/share/wb-rules-system/rules/power-class-battery.js: Error: invalid rule definition
    anon /usr/share/wb-rules-system/scripts/lib.js:111
    anon /usr/share/wb-rules-system/rules/power-class-battery.js:133 preventsyield
    ERROR: command ‘/bin/sh -c echo 3 > /sys/class/pwm/pwmchip0/export’ failed with exit status 1

Подскажите куда смотреть в чём может быть проблема?

Добрый день.

Нужно больше информации, в частности - версию и серийный номер контроллера.
Команды которыми настраивалось время и их результат.

Какой релиз ПО установлен на контроллере? Обновлены ли пакеты?
Ну и выложите диагностический архив. Создание архива описано в документации.

WB5 s/n A72HKCWP release wb-2207 (as stable)
“Обновлены ли пакеты?” Как проверить?

логи приаттачу чуть позже

Совершенно так же как на компьютере:

apt update && apt upgrade

apt update && apt upgrade я делал но это не приносило результата. Последнюю неделю правило срабатывает. Я так понимаю проблема была в дате. По каким-то причинам она сбрасывалась. Замены батарейки не помогло. Помогло лишь установка времени, изменение временной зоны. Синхронизация по ntp и установка RTC по локальному времени. Возможно встроенный аккумулятор неправильно работает из-за чего время сбрасывалось после рестарта контроллера.

Ну, все ж без логов или вывода команд - это довольно субъективно, мало информации чтобы комментровать. Нет ни вывода timedatectl status ни hwclock

Если нагрузка (суммарная) на встроенный АКБ в пределах технических харатктеристик и контроллер не перезапускается при работе от него - то вряд ли.

Всё таки периодически останавливаются правила. Проверил, что дата не сбрасывается и apt update && apt upgrade выполнены

в логах ошибка ERROR: queue Events is almost filled! 4048/4048

При этом движок правил работает
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-10-03 15:49:19 MSK; 1 months 1 days ago
Docs: man:systemd-sysv-generator(8)
Process: 3445 ExecStop=/etc/init.d/wb-rules stop (code=exited, status=0/SUCCESS)
Process: 3455 ExecStart=/etc/init.d/wb-rules start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/wb-rules.service
└─3462 /usr/bin/wb-rules -syslog -queue-len 4048 -editdir /etc/wb-rules /usr/share/wb-rules-system/rules/ /etc/wb-rules /usr/share/wb-rules/

messages (8,0 МБ) лог с ошибками

И есть ещё в логах странная ошибка Nov 4 19:11:35 wirenboard-A72HKCWP wb-rules[1027]: WARNING: couldn’t load /usr/share/wb-rules-system/rules/power-class-battery.js: Error: invalid rule definition
anon /usr/share/wb-rules-system/scripts/lib.js:111
anon /usr/share/wb-rules-system/rules/power-class-battery.js:133 preventsyield

Ключевой вопрос - какой релиз ПО на контроллере?

На какие строчки обратить внимание?

Нашёл причину. Оказалось, что проблема во внутреннем резервном питании. А точнее в аккумуляторе, который вздулся. Со стороны WB это выглядело, как мигающий тумблер зарядки аккумулятора. Видимо это и приводило к тому, что количество сообщений было очень большим и правила просто не могли отработать. Я убрал аккумулятор, после чего правила стали работать корректно. Заменю его на новый.

1 лайк

Отлично, а АКБ - имеется в виду 18650?

Я думаю, что нет .


Ага, понял, это еще WBMZ-BATTERY - модуль резервного питания — Wiren Board

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.