В предыдущей статье, я описал как ранить данные из Home Assistant дольше 14 дней, реализованные по умолчанию, с помощь InfluxDB.
Но InfluxDB – это прежде всего база данных, и несмотря на то, что в ней есть инструмент визуализации этих данных, специализированные сервисы подходят для этого гораздо лучше. Одним из таких сервисов служит Grafana – вэб-приложение с открытым исходным кодом для интерактивной визуализации данных, которое позволяет строить и гибко настраивать различные графики и диаграммы.
Сегодня установим отличную среду для формирования графиков, диаграмм и прочих отчетов - Grafana.
ТК моя установка Home Assistant это Docker-контейнер, то продолжим использовать эту среду контейнеризации.
Необходимо создать нужные директории в месте хранения данных образов: у меня это /opt/containerd/grafana. В созданной директории необходимо разметить docker-compose.yaml.
Есть 2 версии образа:
Enterprise - Функционально идентичен версии с открытым исходным кодом, но включает функции, которые вы можете разблокировать с помощью лицензии, если вы того пожелаете.
OSS - Открытый исходный код - Функционально идентичен версии Enterprise, но вам потребуется загрузить версию Enterprise, если вам нужны функции Enterprise.
Я не планирую использовать лицензию и тд, по этому использую версию образа OSS.
Следующее содержимое помещаем в файл:
version: '3.3'
services:
grafana:
image: grafana/grafana-oss
ports:
- 3000:3000
environment:
GF_SECURITY_ALLOW_EMBEDDING: "true"
GF_AUTH_ANONYMOUS_ENABLED: "true"
GF_RENDERING_SERVER_URL: http://10.10.10.10:8081/render
GF_RENDERING_CALLBACK_URL: http://10.10.10.10:3000/
GF_LOG_FILTERS: rendering:debug
user: "0"
restart: unless-stopped
volumes:
- /opt/containerd/grafana/provisioning/datasources:/etc/grafana/provisioning/datasources
- /opt/containerd/grafana/grafana-data:/var/lib/grafana
renderer:
image: grafana/grafana-image-renderer:latest
ports:
- 8081:8081
Переходим в нашу директорию.
Запускаем
sudo docker-compose up
Смотрим вывод в консоль, если все в порядке запускаем в виде демона
sudo docker-compose up -d
Web интерфейс доступен на 3000 порту, если вы не указали другой порт в конфиге docker-compouse.yaml
Логинимся связкой по умолчанию admin/admin не забудьте сменить пароль и тд.
Первым делом необходимо подключиться к базе InfluxDB добавив соответствующий Data source

Укажите URL до вашего сервера, порт тот что указали в конфигурации InfluxDB
Так же укажите имя БД, логин и пароль

Жмем Save&Test, должны получить подобный вывод:
datasource is working. 17 measurements found
По прошествии нескольких дней после настройки InfluxDB в базе накопилось достаточно данных. Отобразим это в виде отчета. Меня всегда интересовал расход воды в доме, по этому и займемся им.
Сформируем 2 запроса, для холодно и горячей воды соответственно ( приведу в виде скриншота)

Для себя определил что нагляднее всего отражает расход диаграмма типа Bar chart, с группированием столбцов один над другим. Синий холодная водна, красный - горячая. Внизу сумма расхода за выбранный период.

Кроме того, добавил графики расхода воды. Получился вот такой дэшборд. Выбираем нужны период - все графики и диаграммы перестраиваются.

На этом у меня все.