Раньше список топиков, для которых сохранялась история (графики), задавался вручную в Python-скрипте — это было неудобно: при добавлении нового датчика приходилось править код и перезапускать сервис.
Теперь всё управляется через админку:
Что сделано
- В таблицу
sensor_infoдобавлен столбецsave_history(TINYINT), который указывает, нужно ли писать историю для этого топика. - В админке (
/admin/sensors.php) добавлена галочка «Сохранять историю» при редактировании датчика. - Python-скрипт (
mqtt_to_mysql.py) теперь не использует жёсткий список топиков, а каждые 60 секунд загружает актуальный список из базы: все топики, гдеsave_history = 1. - Данные в
sensor_historyпишутся только для разрешённых топиков. - Главная страница отображает только те датчики, у которых есть записи в истории — то есть только с графиками.
Результат
Теперь, чтобы добавить график для нового датчика, достаточно:
- Дождаться, пока он появится в списке топиков (после первого сообщения в MQTT),
- Зайти в админку,
- Нажать «Ред.», задать имя/комнату/группу,
- Поставить галочку «Сохранять историю» и сохранить.
Через несколько минут график появится на главной странице — без единой правки кода и перезапуска сервисов.
Преимущества
- Полный контроль через веб-интерфейс.
- Нет «мёртвых» карточек без графиков.
- Гибкость: можно включить/выключить историю в любой момент.
- Безопасность: даже если датчик шлёт много данных, в историю попадёт только то, что разрешено.
Система стала удобной, масштабируемой и полностью управляемой без доступа к серверу.
Комментарии
Пока нет комментариев. Будьте первым!