Я просто хотел услышать «ворота открыты». Теперь у меня дома маленький дата-центр
После истории с домофоном Hikvision я почему-то решил, что самое сложное уже позади.
Это была очень самоуверенная мысль.
На этот раз задача звучала вообще безобидно: когда открываются ворота, Яндекс Станция должна сказать:
«Ворота открыты».
А если их забыли закрыть — напомнить.
Казалось бы: одно состояние, одна автоматизация, одна фраза.
В итоге у меня появились Proxmox, Home Assistant, Frigate, Asterisk, отдельный событийный видеоархив, VPN и камера, которая периодически обнаруживала автомобили там, где автомобилей нет.
С чего всё начиналось
В доме уже были:
— привод ворот;
— видеодомофон Hikvision;
— регистратор и восемь камер;
— Яндекс Станция Max;
— небольшой CHUWI HeroBox на Intel N100 с 8 ГБ оперативной памяти.
Покупать ещё один красивый фирменный хаб, который умеет дружить только со своей экосистемой, не хотелось.
Хотелось наоборот: заставить уже купленное оборудование разговаривать друг с другом.
Центральной логикой стал Home Assistant.
На HeroBox установил Proxmox и разнёс сервисы. Home Assistant занимается автоматизациями, видео/AI-контур живёт в отдельной VM, Asterisk — отдельно, VPN — отдельно.
Сам Proxmox стараюсь держать чистым. Если сервер одновременно является гипервизором, файловой помойкой, веб-сервером, VPN, системой видеонаблюдения и местом, куда «временно поставил одну утилиту», слово «временно» обычно означает «навсегда».
Вот так выглядит мой «маленький дата-центр». Красота укладки кабелей в список достижений пока не входит.
Базовая идея простая: NVR пишет всё 24/7, Frigate анализирует выбранные камеры, MQTT передаёт события, а Home Assistant уже решает, что делать дальше.
Первая победа: ворота заговорили
Home Assistant видит состояние ворот.
Когда они открываются, колонка в доме сообщает об этом голосом.
Казалось бы — готово.
Конечно, с первого раза ничего не заработало.
Сначала автоматизация отслеживала не то изменение состояния. В интерфейсе ворота были открыты, а сценарий продолжал жить своей жизнью и уверенно считать, что ничего не произошло.
Проверил реальные состояния сущности, переделал триггер.
И Яндекс Станция наконец произнесла:
«Ворота открыты».
Потрачено времени: неприлично много.
Количество слов в результате: два.
Удовлетворение инженера: максимальное.
Потом я зачем-то добавил камеры
У калитки есть камера. На въезде тоже.
Следующая мысль была вполне логичной: если перед калиткой появился человек или к дому подъехал автомобиль — почему бы системе самой это не понять?
Для анализа видео поставил Frigate.
Детекция работает через OpenVINO, а проверенные потоки аппаратно декодируются Intel QSV. Для маленького N100 это существенно: если заставить процессор программно пережёвывать несколько видеопотоков одновременно, он довольно быстро объяснит, что маленький мини-ПК не является серверной стойкой с двумя Xeon.
Хотя я постепенно пытаюсь убедить его в обратном.
Все восемь камер через аналитику я не гоняю.
Hikvision NVR продолжает делать то, что умеет хорошо: непрерывно записывает камеры на собственный диск.
Frigate получает прямые RTSP-потоки только там, где аналитика действительно нужна.
И тут началось самое интересное.
Автомобиль Шрёдингера
Frigate присылает событие:
«Обнаружен автомобиль».
Открываю кадр.
Автомобиля нет.
Зато есть кусок двора и абсолютная внутренняя уверенность нейросети, что где-то здесь определённо спряталась машина.
Начинаю настраивать.
Ограничиваю зоны.
Меняю минимальный размер объекта.
Фильтрую неподвижные машины.
Исключаю парковочное место.
Корректирую детекцию.
Frigate:
«Автомобиль».
Я:
«Где?!»
Отдельная история — автомобиль, который действительно стоит во дворе.
Для человека он припаркован.
Для нейросети это прекрасная возможность через некоторое время снова торжественно сообщить:
«Я нашёл машину!»
Да. Ту самую. Она никуда не уезжала.
Постепенно выяснилось, что нормальная видеоаналитика — это не настройка одного параметра confidence.
Нужна комбинация:
— правильной зоны;
— размера объекта;
— фильтра неподвижных объектов;
— геометрии кадра;
— разумного FPS детекции;
— понимания, какое событие вообще имеет смысл считать новым.
Сейчас автомобильное событие дополнительно ограничено зоной проезда: мало просто увидеть объект car, он должен появиться там, где появление машины действительно имеет смысл.
То есть умный дом — это не когда техника никогда не ошибается.
Это когда ты несколько часов объясняешь камере, что тень от столба не собирается уезжать.
Что в итоге уже умеет дом
Сейчас Home Assistant связывает между собой довольно разные системы.
Открылись ворота — появляется нужная реакция.
Человек у калитки — система определяет событие.
Для распознанных знакомых лиц у входа можно озвучить имя в доме.
Важные события с камер приходят на телефон.
Параллельно работает отдельный событийный архив: person и car сохраняются примерно по 30 секунд, событие открытия ворот — примерно минутой. Непрерывная запись NVR при этом остаётся отдельным слоем.
Часть домашних сценариев доступна через Telegram-бота.
Удалённый доступ к внутренней сети сделан через VPN, а не через россыпь открытых наружу портов.
Telegram — не «второй умный дом», а удобный интерфейс к Home Assistant: состояние, комнаты, камеры, режимы и быстрые действия.
При этом я специально не пытаюсь заставить Home Assistant заменить вообще всё.
Регистратор пишет видео.
Frigate анализирует.
MQTT переносит события.
Home Assistant принимает решение.
Asterisk занимается телефонией.
VPN занимается доступом.
Каждый слой делает свою работу.
Если аналитика временно остановится, регистратор не перестанет записывать камеры.
Мне такая схема нравится значительно больше, чем одна огромная система, падение которой превращает весь «умный дом» в выставку бесполезных датчиков.
Самый полезный вывод оказался довольно скучным
Когда начинаешь делать умный дом, очень легко пойти от оборудования.
Увидел красивый датчик.
Купил.
Потом пытаешься придумать, зачем он нужен.
У меня намного лучше работает обратный подход.
Сначала проблема.
Потом автоматизация.
Забывают закрывать ворота — голосовое напоминание.
Нужно знать, кто подошёл к калитке — камера и детекция.
Нужно быстро найти событие — отдельный архив.
Нужен удалённый доступ — VPN.
Нужна единая логика — Home Assistant.
А уже потом выбирается железо.
И второй принцип: если через полгода невозможно понять, зачем существует автоматизация и что её запускает, значит автоматизация получилась не очень умной.
Что дальше
Сейчас продолжаю доводить видеоаналитику, события автомобилей, архив и интерфейсы управления.
Отдельно собираю полноценный экран умного дома для телевизора — с реальной планировкой, состояниями помещений, камерами и событиями.
Но его покажу только тогда, когда он станет полностью рабочим интерфейсом, а не красивой картинкой «в разработке».
После этого про него будет отдельная история.
Ещё впереди сценарии по комнатам, гостевой режим, дальнейшая работа с автомобилями и номерами и отдельный нормальный разбор самого N100: сколько сервисов на нём живёт, что происходит под нагрузкой и где заканчивается разумный запас дешёвого мини-ПК.
Свои короткие заметки, рабочие решения, новые автоматизации и реальные ошибки собираю в Telegram-канале «Дом без магии» — @dom_bez_magii.
Без «идеального умного дома за выходные».
Зато с настоящими проблемами, настоящим железом и периодически — автомобилями в заборе.
Магии нет. Но иногда Frigate с этим не согласен.














