Категории

Как настроить отображение только датчиков с графиками

15.02.2026 | Статья из категории: IOT умный дом

Проблема: на веб-странице отображались все датчики из базы, даже те, для которых не велась история (т.е. графики были пустыми). Например, появлялись карточки типа «bedroom voltage» без графика.

Причина: PHP-скрипт фильтровал датчики только по типу (temperature, humidity и т.д.), но не проверял, есть ли у них данные в таблице sensor_history.

Решение:

  1. В Python-скрипте (mqtt_to_mysql.py) явно указать список топиков, для которых нужно сохранять историю — через переменную TOPICS_FOR_HISTORY.
  2. Очистить таблицу sensor_history от старых/лишних записей, оставив только разрешённые топики.
  3. Обновить PHP-код страницы так, чтобы он выбирал датчики ТОЛЬКО если их топик присутствует в sensor_history:
    WHERE i.topic IN (SELECT DISTINCT topic FROM sensor_history)

Результат: на сайте теперь отображаются только те датчики, для которых действительно ведётся история и строятся графики. Всё остальное — скрыто.

Вывод: лучше управлять набором графиков на уровне сбора данных (в MQTT-скрипте), а не на уровне отображения. Это даёт чистоту и предсказуемость.

обновленный файл sensors.php

Комментарии

Пока нет комментариев. Будьте первым!

Оставить комментарий

← Назад к списку статей

Посетителей сегодня: 0
о блоге

© Digital Specialist | Не являемся сотрудниками Google, Яндекса и NASA