Frigate и Home Assistant: первая камера и уведомление о человеке

Настроим один понятный сценарий: камера видит человека у входа, Frigate распознаёт его, Home Assistant сообщает об этом. С конфигурацией и проверкой каждого звена.
Камера умеет присылать десятки уведомлений за ночь: дождь, фары, ветка, насекомое. Для полезного оповещения нужен более конкретный вопрос: появился ли человек там, где его стоит заметить?
Соберём первый сценарий Frigate + Home Assistant: одна RTSP-камера, распознавание person и проверочное уведомление внутри HA. Затем ограничим события нужной зоной. Конфигурация ниже — стартовый пример для своей камеры, а не готовый профиль под любую модель.

Что делает каждый компонент
Камера отдаёт видеопоток. Frigate получает кадры и распознаёт объекты. MQTT передаёт состояния и события. Интеграция Frigate добавляет их в Home Assistant, где работают автоматизации.
Сам Frigate может работать без MQTT, но для связки с Home Assistant брокер нужен. Установленное приложение Frigate в HAOS и интеграция Frigate — разные компоненты: наличие пункта с видео в боковом меню не означает, что сущности уже созданы. Это разделение описано в инструкции установки Frigate.
Для первой проверки выберите одну проводную камеру со стабильным RTSP. Закрепите её IP и создайте отдельную учётную запись просмотра, если камера это поддерживает. Проверьте поток в локальном проигрывателе до настройки NVR: неверный RTSP-путь не исправляется настройкой нейросети.
Основной поток и substream
Для записи полезен основной поток высокого качества. Для detect часто достаточно отдельного потока умеренного разрешения с 5 кадрами в секунду. Потоки и URL берите из документации вашей камеры: пути вроде /stream1 и /stream2 не универсальны.
Декодирование видео и распознавание объектов — разные нагрузки. Видеодекодер GPU разгружает чтение кадров, а детектор обрабатывает изображения моделью. Покупка ускорителя детекции сама по себе не исправит перегрузку ffmpeg.
Перед расширением до нескольких камер оцените запись. При постоянном битрейте 4 Мбит/с одна камера создаёт около 43,2 ГБ за сутки: 4 × 86400 ÷ 8 ÷ 1000. Четыре камеры за неделю — примерно 1,21 ТБ без запаса и накладных расходов. Это расчёт, а не замер конкретной камеры.
Минимальный config.yml для проверки детекции
Установите Frigate способом, соответствующим своему хосту, по официальной инструкции. На HAOS это приложение; на отдельном Linux-сервере — Docker. Сначала добейтесь доступности интерфейса и редактора конфигурации.
В примере MQTT находится на 192.168.1.10, камера — на 192.168.1.50. Измените адреса, пользователя и путь потока. Запись пока выключена, CPU-детектор используется только для краткого теста:
mqtt:
enabled: true
host: 192.168.1.10
user: frigate
password: "{FRIGATE_MQTT_PASSWORD}"
detectors:
test_cpu:
type: cpu
cameras:
entrance:
ffmpeg:
inputs:
- path: "rtsp://viewer:{FRIGATE_CAMERA_PASSWORD}@192.168.1.50:554/REPLACE_WITH_SUBSTREAM"
roles:
- detect
detect:
enabled: true
fps: 5
objects:
track:
- person
record:
enabled: false
Переменные FRIGATE_MQTT_PASSWORD и FRIGATE_CAMERA_PASSWORD должны быть заданы в окружении процесса Frigate способом, предусмотренным вашей установкой. Это не автоматическая ссылка на secrets.yaml Home Assistant. Для RTSP-пароля со специальными символами учитывайте URL-кодирование. Подстановки и доступные поля проверяйте по справочнику конфигурации Frigate.
Сохраните конфигурацию через встроенный редактор с валидацией. После запуска проверьте живое изображение и журнал ffmpeg. Пройдите перед камерой: Frigate должен показать объект person. Пока этого нет, не настраивайте уведомления — искать ошибку нужно до Home Assistant.
Подключение MQTT и интеграции Home Assistant
Обе системы должны использовать один брокер MQTT. Если он ещё не установлен, устройство брокера и проверка pub/sub разобраны в статье MQTT и Mosquitto. Само подключение MQTT в актуальном Home Assistant выполняйте через Settings → Devices & services, а не копированием старого блока broker в YAML.
Интеграция Frigate распространяется через HACS. Если HACS ещё нет, начните с руководства по его установке. Затем установите Frigate в HACS, перезапустите Home Assistant и добавьте Frigate в Devices & services.
Укажите адрес экземпляра Frigate, доступный именно серверу HA. Внутренний порт 5000 не имеет аутентификации: он допустим только в закрытом сетевом контуре. Порт 8971 обслуживает интерфейс с аутентификацией; схему подключения и параметры сверяйте с инструкцией интеграции. Не открывайте эти порты на WAN ради соединения двух домашних сервисов.
Первое уведомление без телефона и внешних сервисов
Найдите сущность присутствия человека у камеры entrance. Фактический entity_id посмотрите в своей установке: он может отличаться от примера. Создайте новую автоматизацию в HA, откройте её YAML-редактор и замените содержимое следующим блоком:
alias: "Frigate: человек у входа — проверка"
triggers:
- trigger: state
entity_id: binary_sensor.entrance_person_occupancy
from: "off"
to: "on"
conditions: []
actions:
- action: persistent_notification.create
dаta:
title: "Камера у входа"
message: "Frigate обнаружил человека. Проверьте событие в интерфейсе NVR."
notification_id: frigate_entrance_person
mode: single
Подставьте существующий entity_id. Пройдите перед камерой и проверьте встроенное уведомление HA. Один notification_id обновляет уведомление вместо создания длинной очереди. Это тест смены occupancy, а не отдельное уведомление на каждого человека: пока состояние остаётся on, новый переход не возникает.
Когда тест проходит, можно заменить действие на уведомление Companion app и добавить снимок. Для более точной обработки используйте события Frigate с идентификатором объекта; форматы payload приведены в документации MQTT.
Зоны, маски и запись
Зона отвечает на вопрос «где находится объект». Нарисуйте область входа и проверьте, когда человек считается вошедшим в неё. Для дальнейшей автоматизации используйте подходящую сущность зоны или данные события.
Motion mask исключает область из поиска движения, который помогает выбирать участки для анализа. Она не закрашивает видео и не гарантирует отсутствие детекции объекта внутри маски. Object filter mask решает другую задачу. Разницу показывает документация масок Frigate.
Для исключения чужого окна из записи нужна privacy mask камеры либо другой механизм изменения самого изображения. Маской движения конфиденциальность не обеспечивается.
Запись включайте после успешной детекции: добавьте основному потоку роль record и настройте сохранение под свою версию Frigate. Политики непрерывной записи и событий меняются между версиями, поэтому используйте встроенную валидацию и официальный Getting Started.
Для просмотра событий вне дома настройте удалённый доступ к нужным сервисам через Tailscale. Начните с доступа к Home Assistant; если нужен отдельный интерфейс Frigate, разрешите его адрес и порт отдельным правилом.
Если результат не совпал с ожиданием
Нет видео: RTSP-путь, пароль, доступ к камере, число разрешённых подключений.
Видео есть, CPU загружен: проверьте разрешение detect-потока, FPS и доступность аппаратного декодирования. CPU-детектор из примера не рассчитан на постоянную многокамерную систему.
Frigate видит person, HA нет: проверьте MQTT с обеих сторон, учётные данные и состояние интеграции.
HA видит человека, уведомления нет: откройте trace автоматизации и проверьте entity_id, переход off → on и выполненное действие.
Слишком много тревог: сначала уточните зону и положение камеры, затем параметры фильтрации. Одна хорошо ограниченная зона у двери часто полезнее десятка широких правил на весь двор.
Понравилась статья?
Поставьте лайк и сохраните полезный материал в закладки.
Home Assistant: А есть ли аналоги?
Matter и Thread в Home Assistant: новый стандарт умного дома 2024
Xiaomi Miot Auto в Home Assistant: установка, настройка и подключение устройств Xiaomi
Как устанавливать репозитории из GitHub в Home Assistant: HACS, custom_components и ручной способ
Sonoff Zigbee 3.0 USB Dongle Plus в Home Assistant: настройка ZHA и Zigbee2MQTT
Node-RED + Home Assistant: Визуальная автоматизация умного дома без единой строчки кода