"Анализатор" электропотребления WB6 + MAP12E. Проблемы с хранением данных

Добрый день.

Есть сборка из контроллера Wirenboard 6 и счётчика WB-MAP12E.

WB 6 - 6.7.2I/2 560 - wb-2507

Задача, контроль и храние данных поступающих с каналов по потреблению электроэнергии по каждой фазе каждого канала и суммарные по каналам.

Необходимо что бы данные хранились хотя бы за месяц.

Счётчик в контроллере настроен, данные поступают (страница “Устройства”).

Настроил в Конфигурационных файлах История данных MQTT (/etc/wb-mqtt-db.conf)(файл во вложении)

По факту контроллер работает на сбор данных 2-3 дня после чего “зависает”, доступ через cloud пропадает, данные перестают сохраняться.

Подскажите как правильно настроить.

Где проблема

Данные для диагностики, думает, думает, но ни как не надумает

log_20260624T141459.log (340,4 КБ)

wb-mqtt-db.conf (1,9 КБ)

Добрый день!

По присланному файлу видно, что в момент снятия диагностики контроллер не «завис», а потерял связь с нашим облаком: сервис туннеля wb-cloud-agent-frpc циклически перезапускался с ошибкой i/o timeout до сервера.

Контроллер не должен зависать при переполнении базы. Возможно какая то проблема.

Чтобы разобраться с зависаниями и потерей истории, нам нужен полный диагностический архив. Попробуйте задать таймаут при формирования архива: wb-diag-collect -t 20 diag.

приложен диагностический архив, доступен только сотрудникам поддержки
(390,5 КБ)

Так же одна из проблем что не сохраняются данные более чем за сутки-двое. Хотя настроено что должно хранить хотя бы 50 000 значений на канал

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

50 000 / 60 (минут) / 24 (часа) = 34 дня

это если будет опрос раз в минуту

Но стоит - 10 секунд, насколько я понимаю. И еще внеочередных - 30. А какое количество топиков в группе?

44

Так, предположим даже что внеочередных не будет
Тогда получается что время на 200к - порядка 12 часов
На деле наверняка топики обновляются не так часто.
Перепроверьте расчеты пожалуйста.

спасибо.

уменьшил кол-во внеочередных (что бы не раньше 1 в секунду) и увеличил кол-во на канал и группу (44*кол-во на канал)

Таким образом получается максимально 1 запись в секунду на канал. Ну, просто так “увеличивать” - можно, конечно, но лучше все ж посчитать. Хотя бы чтобы не упереться в свободное место.

подскажите как посчитать свободное место, может есть какой-нибудь мануал

История по умолчанию расположена в /var/lib/wirenboard/db/data.db, это раздел с /mnt/data). Проверить можно командой:

df -h /mnt/data

Тут, например, обсуждали.
А вообще - лучше всего на гитхабе описано.