Итак, с InfluxDB и как организовать долговременное хранение данных в ней из умного дома на Home Assistant я уже рассказывал. Но InfluxDB - это прежде всего база данных, и несмотря на то, что в ней есть инструмент визуализации этих данных, специализированные сервисы подходят для этого гораздо лучше. Одним из таких сервисов служит Grafana - вэб-приложение с открытым исходным кодом для интерактивной визуализации данных, которое позволяет строить и гибко настраивать различные графики и диаграммы.
Для Home Assistant есть Add-on Grafana, им мы и воспользуемся. Переходим в Supervisor - Магазин дополнений и в поиске вводим Grafana.
Устанавливаем его и запускаем.
Конфигурация для этого аддона у меня стандартная, но все же приведу ее здесь:
plugins: []
env_vars: []
ssl: true
certfile: fullchain.pem
keyfile: privkey.pem
Далее переходим в вэб-интерфейс, чтобы подключить базу данных для отображения графиков.
Заходим в меню Configuration - Data Sources. Нажимаем на кнопку Add data source.
Перед вами откроется достаточно широкий список для интеграций в Grafana, но нас интересует InfluxDB. Выбираем этот пункт.
Выберем произвольное имя источника, в URL вписываем http://a0d7b954-influxdb:8086/ - это адрес контейнера аддона InfluxDB во внутренней сети докера. Остальные настройки я оставил по умолчанию.
Далее вводим наименование базы, имя и пароль пользователя для доступа к базе. Можно создать отдельного пользователя, либо использовать созданного изначально. В графе HTTP Method выбираем POST.
Затем нажимаем Save & Test, получаем оповещение об успешном подключении источника к Grafana.
Создадим дашборд, выведем туда какой-нибудь график и выведем этот же график в интерфейс Home Assistant.
Нажимаем + - Dashboard. В появившемся окне нажимаем Add panel. Местоположение и размер панели можно менять. После этого мы попадаем в меню редактирования панели и на первый взгляд все выглядит страшно запутано, но это не так.
Вначале необходимо выбрать, из какой Retention Policy будем брать данные. Не будем ничего менять, оставим по умолчанию.
Выбираем единицу измерения, к которой относится интересующий нас сенсор
Возьмем, например ,температуру.
Далее после WHERE нажимаем + и выбираем entity_id. В появившемся поле select tag value выбираем интересующий нас сенсор.
После этого у вас уже отобразится график, состоящий из точек. Чтобы это была линия, нужно в поле Group By указать fill(previous), либо другой подходящий для вас вариант.
Сохраняем график, возвращаемся к Dashboard и сохраняем его тоже.
Указываем название дашборда и сохраняем.
Чтобы внедрить этот график в интерфейс Home Assistant, нажимаем на стрелку рядом с наименованием графика и нажимаем Share.
Далее переходим на вкладку Embed, убираем галочки и копируем строку от начала и до конца кавычек.
Переходим в интерфейс Home Аssistant и создаем новую карточку типа i-frame (“Веб-страница” в русском интерфейсе) и в строку URL-адрес вставляем скопированную ранее вкладку.
Для регулировки частоты обновления во вставленную ссылку необходимо в конце добавить &refresh=1m , тогда график будет обновляться каждую минуту.
Чтобы указать временной диапазон графика, так же добавим в ссылку следующий текст: &from=now-8h&to=now , тогда график покажет предыдущие 8 часов.
На этом все, но в самой графане еще куча настроек для графиков, которые можно достаточно гибко настроить под себя.
Подписывайтесь на мой канал, чтобы не пропустить обновления.
#умный дом #smart home #home assistant #grafana #influxdb #database #интернет вещей #технологии #базы данных #графики