Что такое InfluxDB?
Архитектура выглядит так: Home Assistant собирает данные с устройств (Zigbee-датчики, Wi-Fi-розетки, MQTT-сенсоры и прочее) и параллельно отправляет их в InfluxDB. Штатная интеграция Home Assistant поддерживает и v1, и v2. Настройка — через configuration.yaml: указываете адрес InfluxDB, токен доступа, организацию и бакет (для v2) или имя базы данных (для v1).
Можно отправлять все данные, а можно отфильтровать только нужные сущности. Второй вариант разумнее: нет смысла хранить в InfluxDB историю изменения состояния автоматизаций или текстовые атрибуты — это только раздувает базу.
Grafana подключается к InfluxDB как к источнику данных и позволяет строить дашборды с графиками, спидометрами, таблицами и тепловыми картами. Один дашборд — «Климат»: температура и влажность во всех комнатах за последнюю неделю. Другой — «Энергетика»: потребление по зонам, пиковые нагрузки, суммарный расход. Третий — «Батарейки»: график разряда Zigbee-датчиков, чтобы заранее понять, когда менять элемент питания.
Для работы с InfluxDB полезно понимать несколько терминов — они отличаются от привычной реляционной модели.
Measurement — аналог таблицы. Например, temperature или energy.
Tag — индексированная метка. Теги — это ключи-значения, по которым данные можно быстро фильтровать и группировать. Например, room=bedroom или sensor=aqara_th1. Теги не меняются часто.
Field — собственно значение. Температура, влажность, мощность в ваттах. Поля не индексируются (в v1 и v2), поэтому фильтрация по ним медленнее, чем по тегам.
Timestamp — временная метка с точностью до наносекунды. Каждая запись привязана к конкретному моменту времени.
Bucket (v2) / Database (v1) — контейнер для данных с заданной политикой хранения.
Retention policy — правило, определяющее, как долго хранить данные. Например, «удалять всё старше 90 дней».
Linux (основная платформа), macOS, Windows. Есть официальный Docker-образ — самый популярный способ развёртывания для домашних серверов. Работает на Raspberry Pi (ARM), x86-десктопах, NAS-ах, виртуальных машинах. В Home Assistant OS доступна как аддон.
По ресурсам InfluxDB не так аскетична, как Mosquitto. Для комфортной работы нужен минимум 512 МБ оперативной памяти, а лучше — 1 ГБ и более. Объём дискового пространства зависит от количества сенсоров и срока хранения. Типичная домашняя инсталляция (50–100 сенсоров, хранение за год) занимает от сотен мегабайт до нескольких гигабайт.
InfluxDB — не единственная TSDB. Prometheus — популярна для мониторинга серверов, но использует pull-модель (сама ходит за данными), что менее удобно для умного дома. TimescaleDB — расширение PostgreSQL для временных рядов, мощное, но тяжелее в настройке. VictoriaMetrics — лёгкая и быстрая, совместима с Prometheus, набирает популярность.
Тем не менее InfluxDB остаётся стандартом де-факто для домашних инсталляций. Причина проста: лучшая интеграция с Home Assistant и Grafana, больше всего документации и примеров, огромное сообщество.
InfluxDB — не универсальная база данных. Она не подходит для хранения конфигураций, пользовательских данных или чего-то, что не привязано к времени. Это инструмент для одной конкретной задачи — и в этой задаче он хорош.
Потребление ресурсов. На Raspberry Pi 3B InfluxDB будет работать, но при большом количестве сенсоров и длительном хранении упрётся в память и скорость SD-карты. Pi 4 с SSD — разумный минимум.
Версионная фрагментация. Три параллельные ветки (1.x, 2.x, 3.x) с разными языками запросов (InfluxQL, Flux, SQL) и разными моделями данных создают путаницу. При выборе версии ориентируйтесь на совместимость с вашим стеком: для Home Assistant + Grafana проще всего начать с v2.
Flux. Язык запросов InfluxDB 2.x мощный, но непривычный. Если вы знакомы с SQL, первое время будет некомфортно. InfluxDB 3.x вернулась к SQL, но, как уже сказано, для домашнего применения третья версия пока сыровата.
InfluxDB — это долговременная память вашего умного дома. Она не управляет устройствами и не принимает решений. Она просто хранит данные — надёжно, компактно, с возможностью быстро ответить на вопрос «что происходило тогда-то». А в связке с Grafana превращает поток цифр в наглядные графики, по которым можно понять, как живёт ваш дом.
Если вы уже используете Home Assistant и хотите видеть больше, чем текущее состояние — InfluxDB заслуживает места на вашем сервере. Это не обязательный компонент умного дома. Но стоит один раз увидеть красивый дашборд с историей за полгода — и отказаться от него уже не получится.
Статья подготовлена на основе официальной документации проекта InfluxDB (docs.influxdata.com), данных из GitHub-репозитория и материалов сообщества. Все упомянутые торговые марки принадлежат их правообладателям. Материал носит информационный характер и не является рекламой.