Найти в Дзене
Удобный дом!

Охрана дома = Frigate+HA+Alarmo+Telegram. Ч.1 Установка

Оглавление

Есть и камеры с обнаружением человека, с возможностью записи как в себя (на sd карту), так и на отдельный жесткий диск. Думаю сейчас каждый производитель пилит такие камеры.

Собственно ИИ точно угадал про современное видеонаблюдение.
Собственно ИИ точно угадал про современное видеонаблюдение.

Проблема в том, что они завязывают только на своем приложении - хочешь другую камеру, качай ещё приложение. Конечно получишь уведомление, что обнаружен человек … а дальше куда? Это же касается и систем охраны, может чего пропустил, но помню что отдельно вешается тачпад для ввода пароля и отдельные датчики. Помним такое:

Взял для примера отсюда http://aramoc.ru/pultovaya-ohrana/
Взял для примера отсюда http://aramoc.ru/pultovaya-ohrana/

И вот совсем не помню что бы такие штуки ещё и могли отсылать сообщения и видео в телеграм, настроить гибко отсылку уведомлений по зонам.

Теперь к интересному - home assistant как единый комбайн может все это соединить в одну систему.

Долго я подбирал оптимальную систему, frigate вообще всю мою кровь выпил, поэтому небольшое пожертвование приветствуется. (как и коменты/правки).

Комплекс состоит из Frigate, Alarmo, Telegram и конечно же Home assistant

Frigate – это опен сорс система видеонаблюдения, которая работает в реальном времени, используя алгоритмы компьютерного зрения для детекции объектов. Благодаря открытому исходному коду, проект обеспечивает высокую гибкость и прозрачность, а активное сообщество разработчиков способствует постоянному обновлению и функциональному росту, что делает его перспективным решением для домашней безопасности.

Alarmo - можно сказать аналог систем безопасности которую мы хорошо знаем. Такая “пультовая” охрана, вот только являясь интеграцией в home assistant она превращает обычные датчики движения в охранные, когда поставлена на охрану. Все также как и у “серьезных” систем - введение пинкода, датчики движения и вибрации. Можно взять умную розетку и подключить к ней ревун = звуковая сигнализация.

Про телеграм и Home Assistant не нужно рассказывать, многие пользуют и знают.

Alarmo и Frigate что в меню.

Что мне нужно от системы видеонаблюдения и что может Frigate:

Постоянная запись на сервер, на мой жесткий диск который находится дома. Важно без хранения на самой камере, так так было дело мне обчистили бытовку и конечно унесли камеру с картой памяти внутри. ¯\(ツ)

Возможность быстро и легко просмотреть запись с любой камеры.

Желательно никаких облаков, только локальное управление без доступа из вне (кромен меня). Хотя конечно часть камер надо регистрировать через родные приложения что бы подключить к сети, но получив поток можно их удалить из приложения.

Не быть ограниченным в выборе производителя и модели камеры. С Frigate мне вообще все равно какого цвета камера, главное что бы поток отдавала. КРОМЕ КАМЕР СЯОМИ! вот они поток не отдают (есть некоторые, но нужно их прошивать).

Обязательно получать фото и видео сразу в телеграм. Так как телеграм для меня основной мессенджер для общения, такие сообщения я точно не пропущу. Я так использую телеграм для разных уведомлений по умному дому.

Конечно мне нужно получать от системы видеонаблюдения данные о распознавании объектов. Эти данные потом можно пропустить через автоматизации и врубить тревогу если человек обнаружен, отогнать кошака который опять пришел раздирать помойку, которую не успел выкинуть. А данных Frigate передает ох как много. Примеры распознавания объектов:

Примеры сенсоров:

Alarmo скорее служит как переключатель режимов при которых будут задействованы определенные датчики и исполнительные устройства. Определенные сенсоры могут выступать как триггеры которые запустят сигнализацию. Можно гибко настроить несколько режимов, например в ночной охране не надо активировать датчики движения в доме, а вот в бытовке и на участке надо. Через автоматизации в Home Assistant можно менять режимы, например у меня меняется режим когда роботы пылесосы начинают уборку. Гибкий инструмент, по нему будет отдельная инфа, тут будет рассказано про работу в связке с Frigate.

Принцип взаимодействия frigate + alarmo + home assistant + telegram.

Рассмотрим некоторые сценарии.

Я уезжаю из дома (или вручную), по моей локации срабатывает автоматизация которая переводит Alarmo в режим охраны. Автоматизация в НА также отправляет запрос во Frigate через mqtt на включение режима обнаружения объектов и звуков. При обнаружении человека на участке, Frigate шлет в НА данные, где его встречает автоматизация которая пересылает в телеграм первое фото появления объекта и фото когда объект покинул кадр. Создается видео клип события = на протяжении всего нахождения объекта в кадре. Кнопка в телеграме “Посмотреть видео” запрашивает у frigate клип события (можно настроить что бы сразу высылал видео) по API через автоматизацию в НА. “Включить тревогу” активирует ревуны через автоматизацию в НА, ровно как и меняется режим Снять с охраны через НА.

Я возвращаюсь домой (либо опять же вручную), Алармо меняет режим на Дома, а автоматизация в НА отправляет запрос во frigate на отключение распознавания = не будут приходить сообщения об онаружении.

С ночным режимом чуть сложнее, можно через трекер сна ( вот статья), но трекер оказался платным и который невозможно оплатить через гугл стор. Значит включение вручную. При ночном режиме камеры и датчики внутри дома не используются для охраны, а вот уличные как раз в деле.

Вот это и будем настраивать.

Ещё покажу конфигурацию Frigate которая далась мне с боем и долгими настройками, как и само уведомление в телегу, особенно если есть камеры с разыми зонами.

Самое время поддержать автора)

Железо и камеры.

Серверы = видеорегистраторы

В блоке Установка будем ставить Frigate на 2 типа железа - на Orange Pi 5 Plus со встроенным ускорителем обнаружения объектов, второй вариант - любой мини пк или одноплатник + Google Coral tpu.

Купить и настроить Orange Pi 5 Plus можно тут. Если кратко, у этого одноплатника уже есть ускоритель в NPU 6 TOPS.

Другой рабочий вариант это взять дополнительный ускоритель Google Coral tpu, но у него только 4 TOPS . Можно купить:

Али https://aliclick.shop/r/c/1ss3fh8hsqi0zrl1?erid=2SDnjdYPoHE&sub=orangePi5

Ямаркет https://ya.cc/m/6HMJxw?erid=5jtCeReNx12oajt6Zbp7Cgs

Я тестировал оба варианта на 6 камерах и все работало без труда, но если хочется иметь запас то лучше взять Orange Pi 5 plus.

Можно использовать как 2 в 1 = Frigate и Home Assistant на одном сервере, а можно под видеонаблюдение выделить отдельный сервер и подойдет любой вариант выше.

Камеры

Тут можно брать любые которые отдают поток. Так как я все тестирую на себе, опишу свои камеры. У меня видеонаблюдение появилось после строительства дома, поэтому пришлось все камеры брать на Wi-Fi, лучше конечно подключать нормальным проводом через свитч с PoE.

Мне достались недорогие камеры от PS-link

Ямаркет 3Мп камера уличная WiFi XMS30

Ямаркет 5Мп камера уличная WiFi XMS50

Вот брать версию на 3 Мп не рекомендую, а вот 5 Мп можно взять. Опять же, это очень недорогие камеры. Регистрируются через приложении iCSee.

А вот какая камера мне действительно понравилась так это Камера Ezviz CS-H3 (5MP,2.8mm). Качество изображения хорошее, да и интеграция есть в Home Assistant + у этой камеры есть ревун который можно запустить через Alarmo. И тут все прекрасно - много данных, хорошее управление и показывает локальный ip(!) который не надо искать в роутере среди кучи лампочек.

Одна поворотная камеры WIFI IP PS-link G80D 3Мп 1288P . Такая камера поворачивалась только пару раз, в момент настройки. У меня поворотные не прижились, но настройки для них во Frigate тоже будут.

Если бы брал сейчас камеры, то посмотрел бы в сторону Dahua камер, типа такой.

Frigate установка на Orange PI 5 plus

Установка в терминале линукса.

Установка в отдельном контейнере нужна так как нам нужно получить привилегированные права для контейнера с Frigate. Такие права позволят использовать ускорители самого OrangePi.

Дзен не дает нормально вставлять код, теряет отступы, поэтому будут ссылки на гитхаб. Простые команды будут в дзене. Можно найти поиском.

Подготовка системы

Убедитесь, что на вашем Orange Pi 5 Plus установлена официальная прошивка с поддержкой NPU. Для работы NPU требуется ядро Linux версии 5.10 или выше, так как драйверы RKNPU2 поддерживаются только для этих версий 14.

Обновите систему:

sudo apt update && sudo apt upgrade -y

Установка Docker и Docker Compose

Установите Docker:

sudo apt install docker.io

Установите Docker Compose (опционально, но рекомендуется):

sudo apt install docker-compose

Настройка Frigate для работы с NPU

Создайте папку для конфигурации Frigate:

mkdir -p /root/frigate/storage

Создайте файл конфигурации config.yml:

sudo nano /root/frigate/config.yml

Для первого запуска нужна конфигурация болванка. Болванка позволит фригейту стартануть, а все настройки уже будут в удобном интерфейсе. Вставьте следующий конфигурационный код(Есть на гите):

Создание Docker Compose файла

Создайте файл docker-compose.yml:Нужно для установки frigate

nano docker-compose.yml

Копируем и вставляем docker‑compose файл.

Удобнее взять с гита https://gist.github.com/smirnowegor/a90d06f1f16258f8ef876f62dabf4615

Размер Кеша

В этом примере добавлена секция volumes для монтирования tmpfs в точку /tmp/cache с размером 2 ГБ. Если у вас достаточно оперативной памяти, это позволит кэшу хранить больше сегментов перед их переносом на диск. Можно и увеличить размер памяти на больше чем 2 ГБ.

Размер shm_size: "NNN"

  • 720 p: 128 MB — Docker по умолчанию даёт 64 MB, но для 2 камер 720 p обычно советуют 128 MB без «Bus error»
  • 1080 p: 256 MB — стандартная shm-size в 64 MB подходит для ≤2 камер, но рекомендованная практика — выделять по 256 MB для стабильности при 25 fps
  • 2 K: 512 MB — разрешение в ~4 Mп (2×1080 p), значит память нужно удваивать: 2 × 256 MB = 512 MB
  • 4 K: 1 GB — 4 K (~8 Mп) в 4 × больше пикселей, чем 1080 p, поэтому рекомендуется около 1 GB SHM на камеру

Примените изменения, остановив и запустив контейнер заново:

docker-compose down

docker-compose up -d

Все установлено. Откройте веб-интерфейс Frigate

  • Frigate по умолчанию использует порт 5000. Откройте браузер на устройстве, подключенном к той же сети, что и Orange Pi 5 Plus.
  • В адресной строке браузера введите (это мой адрес, нужно подставить свой):

http://192.168.2.18:5000

Здесь 192.168.2.18 — это IP-адрес вашего Orange Pi 5 Plus, а 5000 — порт, на котором работает Frigate.

Frigate Proxy.

Так как у нас Frigate в отдельном контейнере и по адресу с отдельным портом то нам приходится постоянно переходить на отдельный адрес. Тем более, при попытке зайти на него вне домашней сети у нас будет ошибка.

Решить эту проблему может Frigate Proxy.

Установка дополнения Frigate Proxy

  1. Перейдите в Настройки > Дополнения > Магазин дополнений.
  2. Нажмите на три точки в правом верхнем углу и выберите Добавить репозиторий.
  3. Введите URL репозитория: https://github.com/blakeblackshear/frigate-hass-addons

4. Найдите дополнение Frigate Proxy и установите его.

Настройка Frigate Proxy

  1. После установки откройте настройки дополнения.
  2. Укажите URL вашего сервера Frigate, например

http://192.168.2.18:5000

3. Включите опцию Показать в боковом меню (Show in sidebar).

4. Если будет ругаться что порт 5000 занят, тогда в настройках поменяйте на порт 5001

5. Сохраните настройки и перезапустите дополнение.

Теперь у нас как будто есть аддон с Frigate.

Дополнительный шаг. Установка и работа через go2rtc.

go2rtc — инструмент для Frigate, оптимизирующий работу с видеопотоками. Он снижает задержку до 100-200 мс благодаря WebRTC, улучшает качество изображения (H.264/H.265), уменьшает нагрузку на CPU и сеть (5-10% на поток). Удобный интерфейс (http://<ip>:1984) объединяет камеры, а поддержка аппаратного ускорения и интеграция с Home Assistant делают систему надёжнее и гибче.

!!! UPD. столкнулся с тем что могут конфликтовать frigate и go2rtc, лучше использовать встроенный. Настройка в этой статье под отдельный go2rtc, а тут новая:

Преимущества:

Самое полезное - возможность просматривать с компьютера записи для кодеков H.265, без go2rtc возможен просмотр только с телефонов ¯\(ツ)

Из минусов, чуть дольше загружает трансляцию с камер, но не критично.

Далее инструкция будет с установленным go2rtc, если не устанавливаете - не указывайте в конфигурации.

Установка Frigate как addon для Home Assistant

Этот способ намного проще чем выше, но он подходит только если мы планируем сипользовать для ускорения Google Coral TPU. Очень желательно сделать предварительные настройки как тут https://dzen.ru/a/Z1GHKaC_YR--V31m

Подключение Coral Edge TPU

Подключите ваше устройство Coral Edge TPU (USB, PCIe или M.2) к системе, на которой работает Home Assistant. Убедитесь, что устройство распознано системой. Для USB-версии проверьте наличие устройства /dev/bus/usb или аналогичного. Для PCIe или M.2 версий убедитесь, что устройство отображается в списке PCI устройств.

Добавление репозитория Frigate

  1. Откройте веб-интерфейс Home Assistant.
  2. В левой боковой панели нажмите на "Настройки".
  3. Перейдите в раздел "Дополнения.
  4. Нажмите на кнопку "Магазин дополнений" в нижней части страницы.
  5. В правом верхнем углу нажмите на значок с тремя точками (⋮) и выберите "Репозитории".
  6. В появившемся окне введите следующий URL: https://github.com/blakeblackshear/frigate-hass-addons
  7. Нажмите "Добавить", затем закройте окно репозиториев.

Установка дополнения Frigate

  1. После добавления репозитория в магазине дополнений появятся различные версии Frigate.
  2. Выберите "Frigate NVR (Full Access)" и нажмите "Установить". Нужно именно его установить, что бы было возможно подключить аппаратное ускорение
  3. После установки перейдите во вкладку "Настройки" внутри установленного дополнения.
  4. Отключите режим защиты (Protection Mode), чтобы Frigate мог взаимодействовать с аппаратным обеспечением напрямую.
-8

Создание конфигурационного файла Frigate (без него не запустится)

  1. Установите дополнение "File editor" из магазина дополнений Home Assistant, если оно ещё не установлено. Можно воспользоваться Visual Code Studio

2. Откройте "Visual Code Studio" через боковое меню.

3. Перейдите в корневую директорию конфигурации Home Assistant (обычно это /config/).

4. Создайте новый файл с именем frigate.yml. Обратите внимание, что если в директории присутствуют оба файла frigate.yaml и frigate.yml, будет использоваться frigate.yaml.

5. Введите базовую конфигурацию. Например (Есть на гите с отступами):

-9

Замените mqtt_broker_ip, mqtt_user и mqtt_password на соответствующие значения вашей MQTT-конфигурации. Позже вы сможете добавить реальные камеры, заменив dummy_camera на соответствующие настройки.

Дополнительный шаг. Установка и работа через go2rtc как addon.

!!! UPD. столкнулся с тем что могут конфликтовать frigate и go2rtc, лучше использовать встроенный. Настройка в этой статье под отдельный go2rtc, а тут новая:

go2rtc для addon

Link to Add-on: dashboard – My Home Assistant

Ввести адрес своего Home Assistant.

-10

Всё!!! Сам Frigate у нас установлен, теперь к настройкам.

--------------------------------------------------------------------------

Настройки конфигурации и камер тут

Перейти сразу к автоматизациям и интерфейсу тут

Способ 1 Поддержать автора
Способ 2 https://donate.stream/yoomoney410013774736621

или через криптокошелёк (Только USDT) TCHekdJZFndXpDrHZGuTmqFNcqhWBTTzPr

Связаться со мной. (Консультации, проектирование и обучение)

Новый подход к электрике и дизайну помещений. Некоторые провода уже не нужно тянуть, какие-то решения можно принять после ремонта. Перенести выключатель, запустить кондиционер с телефона - возможно автоматизировать любую рутину.

Мой телеграм канал, там все быстрее обновляется телеграм.

Сайт smart4home.ru и альтернативный Умный дом на любом этапе.

Соц сети: RuTube канал Удобный дом / You Tube канал Удобный дом Яндекс Дзен: Удобный дом / InGram

Платформы специалистов: Авито / Профи.ру / Яндекс Услуги https://uslugi.yandex.ru/profile/EgorSmirnov-2294380?from=telek

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158 Реклама. ООО «ЯНДЕКС», ИНН 7736207543