Камеры
Камеры Яндекса, Xiaomi (Mi Home), любые IP-камеры по RTSP и экран телевизора на Android. Сервер дома заводит их в Home Assistant, видео идёт через видеосервер go2rtc. Камера ставится в комнату как обычный прибор: на плане — значок и экран с последним кадром, по нажатию — живое видео.
С компьютером, на котором стоит Homer Node с ролью «Запись камер», камеры пишутся круглосуточно, а запись смотрится в том же окне камеры.
Где это
| Где | |
|---|---|
| Приложение | Настройки → Устройства → Камеры |
| Веб | Страница «Дом» → блок «Камеры» |
Заводит камеры только владелец. Смотрят и поворачивают все, кроме гостей. Снаружи домашней сети — только доступы, которым это разрешено.
TIP
Вход в Яндекс и адрес go2rtc настраиваются только в вебе. Остальное есть и в приложении.
Яндекс
Экспериментально
Облачные камеры Яндекса и Xiaomi — эксперимент: вход в облако производителя по неофициальному пути, производитель может его закрыть в любой день. Камеры из Home Assistant это не касается.
Вход в аккаунт
Под заголовком «Яндекс» видно, откуда вход:
| Подпись | Что значит |
|---|---|
| «свой вход из этой карточки» | Вы вошли здесь, по QR или куке |
| «через интеграцию yandex_station в HA» | Своего входа нет, берётся вход интеграции Яндекс Станции |
| «нет» | Нет ни того, ни другого |
Свой вход главнее интеграции: если вошли здесь, камеры идут под этим аккаунтом.
По QR:
- «Войти по QR» (или «Войти другим аккаунтом по QR»).
- Отсканируйте QR в приложении Яндекс (камера → QR) и подтвердите вход.
- Карточка сама заметит подтверждение: «Вход в Яндекс выполнен».
Кукой Session_id — если Яндекс просит капчу или QR не проходит:
- Откройте yandex.ru в браузере, где вы уже вошли.
- F12 → Application → Cookies → скопируйте значение
Session_idцеликом. - «Кукой Session_id» → вставьте → «Войти».
«выйти» забывает свой вход. Если в HA есть интеграция yandex_station, камеры пойдут через неё.
Завести камеру
В списке — камеры аккаунта: комната у Яндекса, «не в сети», «поворотная».
- Веб: «Завести», затем выберите комнату и «Поставить в комнату».
- Приложение: «Поставить в комнату» → комната. Заведение и постановка — одним действием. Ждать до минуты: Home Assistant перезагружает интеграцию.
Сервер дома включает камеру в интеграцию yandex_station через её настройки — без YAML и перезапуска HA — и заводит поток в go2rtc.
WARNING
Чтобы завести камеру Яндекса, в Home Assistant нужна интеграция yandex_station: снимок и кнопки поворота появляются через неё. Без неё будет ошибка «в Home Assistant нет интеграции yandex_station», даже если вы вошли в Яндекс в карточке.
Xiaomi (Mi Home)
Вход в аккаунт
Вход по шагам, в том аккаунте Mi Home, к которому привязаны камеры:
- Почта, телефон или Mi ID и пароль → «Войти».
- Код подтверждения из письма или СМС → «Подтвердить».
- Иногда — капча: символы с картинки → «Дальше».
Пароль уходит в go2rtc рядом с домом, там меняется на токен и нигде не хранится.
Завести камеру
Как у Яндекса: в вебе «Завести» и «Поставить в комнату», в приложении — «Поставить в комнату». У камеры в списке видны IP и модель.
Видео идёт с камеры прямо в дом, облако нужно только за ключами шифрования. Интеграции HA для этих камер нет — сущность camera.* сервер дома заводит сам.
У камер Xiaomi нет поворота через go2rtc — стрелок в окне не будет.
IP-камеры (RTSP, ONVIF)
Любая камера локальной сети, которая отдаёт RTSP: Hikvision, Dahua, Reolink, TP-Link Tapo и другие. Облако не нужно, видео идёт с камеры прямо в дом. Своих событий у такой камеры нет: с узлом записи она пишется круглосуточно, а предупреждения о человеке, движении и шуме находит Frigate в записи — см. Запись круглосуточно.
Поиском ONVIF:
- Поле «Подсеть» — первые три числа адреса домашней сети, например
192.168.1. Приложение подставляет подсеть своего Wi-Fi само, веб — по адресу, на котором открыт. - «Найти камеры ONVIF» — за несколько секунд появится список с именем, моделью и адресом.
- У нужной камеры «Завести» → логин и пароль самой камеры → «Подключить».
Адреса потоков сервер дома спрашивает у камеры сам: основной берёт самый крупный, а для просмотра и поиска объектов — самый мелкий.
По адресу RTSP — если ONVIF у камеры выключен или его нет:
- «Адрес RTSP», например
rtsp://admin:пароль@192.168.1.64:554/Streaming/Channels/101. - «Второй поток» — по желанию, мелкий поток той же камеры (у Hikvision
…/Channels/102). С ним смотреть легче, а во весь экран идёт основной. - «Завести».
Второй поток не указали — сервер дома сам спросит у камеры её профили по ONVIF тем же логином и паролем и возьмёт мелкий поток для просмотра и поиска объектов; основной останется для записи и полного экрана. У камеры без ONVIF всё идёт по основному потоку.
Камера с MJPEG по HTTP — 3D-принтер (MJPG-Streamer, OctoPrint, Klipper), ESP32-CAM, старая веб-камера: в «Адрес RTSP» вписать её адрес потока как есть, например http://192.168.1.171:8080/?action=stream. Смотреть её можно как любую другую, а запись идёт перекодированной в H.264.
Прежде чем заводить, сервер дома берёт с камеры кадр. Если не вышло, камера не заводится, а в ответе причина: «не подошли логин и пароль», «камера не отвечает по этому адресу».
Пароль камеры остаётся на сервере дома. Ни приложение, ни веб его не получают: в списке адрес показан как rtsp://admin:***@…. «Убрать» удаляет камеру из Home Assistant и go2rtc.
Почему поиск просит подсеть
Сервер дома работает в докере и широковещательных запросов в домашнюю сеть не слышит. Поэтому он опрашивает каждый адрес подсети отдельно.
Телевизор по ADB
Телевизор или любой другой Android с включённой отладкой по сети можно завести камерой: кадр — снимок его экрана раз в полминуты, а в окне камеры — живой экран.
- Блок «Телевизор по ADB» → поле «Адрес, ip:порт», например
192.168.1.50:5555, имя по желанию → «Подключить». - На телевизоре подтвердите «Разрешить отладку» и нажмите «Повторить». Сервер дома подключается к телевизору и ждёт Home Assistant — до минуты.
- «Поставить в комнату» → комната.
Привяжите камеру к телевизору на плане — и в прогулке картинка будет на его экране. Такая камера живёт не в go2rtc: и кадр, и поток отдаёт сам сервер дома. «Убрать» удаляет её.
Видеосервер go2rtc
Без go2rtc не работают камеры Xiaomi и видео всех камер, кроме телевизора по ADB. Блок «Видеосервер (go2rtc)» в вебе:
- «отвечает» / «не отвечает» и адрес, по которому сервер дома его ищет. «(задан здесь)» — адрес вписан в карточке.
- Поле адреса вида
http://хост:1984→ «Сохранить». - «Как было (…)» — вернуть адрес из настроек установки.
Если go2rtc не отвечает, в блоке Xiaomi так и написано: «Видеосервер go2rtc не отвечает по адресу …».
WARNING
Камеры Xiaomi отдают поток по UDP так, что NAT докера его выбрасывает. go2rtc для них должен работать в сети хоста (network_mode: host).
Камера на плане
После постановки камера стоит в комнате. Перетащите её на место в правке плана.
Экран с последним кадром — рядом с камерой на плоском плане, в карточке комнаты и над камерой в прогулке. Кадр снимается раз в 10 минут и при каждом просмотре. В прогулке видны только камеры комнаты, где вы стоите; камера показана одной карточкой, нажатие на её экран открывает окно камеры — и в прогулке Homer World тоже.
Те же кадры видны на главной Homer Node — только из домашней сети и только у узла своего дома.
Камера не в сети — рамка красная, кадр притушен, в окне «Не в сети · последний раз была в сети …», в карточке комнаты «не в сети». Сервер дома пробует такую камеру каждую минуту.
Окно камеры
Нажатие на камеру — на плане, в 3D, в прогулке или в списке комнаты — открывает просмотр.
| Что | Как |
|---|---|
| Живое видео со звуком | Звук — кнопкой динамика. Если поток со звуком дважды оборвался, просмотр переходит на обычный |
| Во весь экран | Кнопка в углу. Во весь экран идёт основной поток камеры в полном разрешении (у Xiaomi 2304×1296); нет декодера под его кодек — обычный поток |
| Зум | Щипком, колесом, двойным касанием; сдвиг пальцем |
| Повернуть картинку | На четверть оборота, работает и при запертом повороте экрана |
| Поворот камеры | Стрелки — только у поворотных камер |
| «Снимок» | В полном разрешении. Приложение кладёт в галерею (Pictures/Homer), веб скачивает файлом |
| Вкладка «Запись» | Только у камеры, которую пишет узел записи, и только владельцу. См. ниже |
Просмотр, поворот и снимок пишутся в журнал дома.
Сообщения о событиях и запись настраивает только владелец дома. У админа и редактора этих кнопок нет; приложение так и пишет: «Сообщения о событиях и запись камеры настраивает владелец дома».
Запись круглосуточно
Камеру пишет компьютер дома с Homer Node и ролью «Запись камер»: записи лежат в папке на этом компьютере, а события в них находит Frigate. Одна камера — примерно 3–4 ГБ в сутки. Нужен Windows с WSL.
Включить — в окне камеры (только владельцу) кнопка «⏺ Запись круглосуточно». Она видна всегда, даже у камеры без событий; пока событий нет, под ней сказано, что предупреждения о человеке, движении и шуме появятся, когда камеру начнёт писать узел записи. Под кнопкой — что с записью сейчас:
| Подпись | Что значит |
|---|---|
| «Нужен компьютер с Homer Node и ролью «Запись камер»» | Узла записи в доме нет |
| «Пишет узел записи: события — из записи, с роликом» | Камера пишется |
| «Узел записи сейчас не на связи — камера не пишется» | Узел выключен или без связи; у облачной камеры вместо этого «события идут из облака камеры» |
Смотреть — вкладка «Запись» в окне камеры: лента за 24 ч, 6 ч, 1 ч или 15 мин, выбор дня, события на ленте (люди, собаки, кошки, лай, машины), назад и вперёд на 10 секунд, «+1 мин», во весь экран. Там, где записи нет, — «Дальше записи нет»; за день без записи — «За этот день записи нет. События остались — их ролики хранятся дольше». Браузер без декодера H.265 показывает запись кусками по минуте.
Сколько хранить — в карточке «Камеры», блок «Запись»: «Всё подряд хранить» столько-то дней или «не хранить», «События» — дней отдельно. Там же — узлы записи с числом камер (и «на видеокарте», если у узла NVIDIA) и «Открыть в Frigate». У узла, которому нечего писать, Frigate не запущен — вместо кнопки подсказка включить запись в окне камеры.
Предупреждения о человеке, движении и шуме из записи приходят только со своего узла: узлу друга сервер дома не выдаёт логин к MQTT дома, и записывать он может, а сообщать — нет.
События
Камера сообщает владельцу в Telegram-группу дома и уведомлением в Home Assistant. Приложение для этого открывать не нужно.
В окне камеры (только владельцу) — «Сообщать мне в Telegram»:
| Событие | Когда |
|---|---|
| Человек в кадре | Камера распознала человека. Движение того же события тогда молчит |
| Движение | Движение в кадре |
| Шум | Громкий звук |
По умолчанию всё выключено.
Сообщение — ролик около 10 секунд со звуком. У камеры, которую пишет узел записи, — ролик самого события из записи. У Xiaomi — ролик из облака Mi Home, у Яндекса — из кольцевой записи, начиная за 3 секунды до события. Не вышло — несколько секунд живого потока или кадр.
У облачных камер сообщение приходит на 10–30 секунд позже события: оно доходит через облако.
Нет группы — нет сообщений
Если к дому не привязана группа в Telegram, под переключателями будет «У дома … нет группы в Telegram — сообщения не уйдут». Привязать: в приложении Настройки → Дом → Telegram, в вебе Настройки → Уведомления → Telegram.
У Xiaomi в ленту попадает только то, что включено в оповещениях самого Mi Home. Выключено там обнаружение человека — сообщать нечего.
Чувствительность
Раскрывается под событиями, когда сообщений слишком много.
| Настройка | Варианты |
|---|---|
| Не чаще раза в | 1, 5, 15, 30 минут, 1 час (по умолчанию 5 минут) — на каждое событие камеры |
| Шум — только | Любой, Заметный, Громкий, Очень громкий — по пиковой громкости ролика |
| В какое время | Всегда, Ночью 22–08, Днём 08–22, Своё — «с» и «до», через полночь можно. В вебе — «Всегда», «Ночью» и поля времени |
| При условии | Всегда, Кто-то дома, Никого нет дома — см. ниже |
| Сама камера: движение, звук | Низкая, Средняя, Высокая — только у Xiaomi. Пишется в саму камеру: она реже срабатывает вовсе |
| Тревога не чаще | 1–30 минут — только у Xiaomi, тоже в камеру |
У камеры Яндекса своей чувствительности наружу нет — только фильтры сервера дома.
Условие «кто-то дома»
«Дома» — когда в домашней сети хоть одно из выбранных устройств. Список устройств сервер дома берёт у роутера.
- «При условии» → «Кто-то дома» или «Никого нет дома».
- Выберите устройства из списка (сначала те, что в сети) или впишите имя, IP или MAC → «Добавить».
- Окно показывает, что условие думает сейчас: «Сейчас: кто-то дома» или «никого нет дома».
Телефон в спящем режиме на минуту выпадает из сети, поэтому устройство считается дома ещё 10 минут после того, как пропало.
| Подпись | Что значит |
|---|---|
| «Сайдкару не подключён роутер — условие не действует, сообщения идут всегда» | Роутер не настроен |
| «Роутер не отвечает — пока он молчит, сообщения идут всегда» | Роутер недоступен |
Камера, замолчавшая из-за роутера, хуже лишнего сообщения, поэтому без ответа роутера сообщения идут как без условия.
Для установщика: подключить роутер
Сервер дома спрашивает роутер GL.iNet по SSH командой ubus call gl-clients list. Ключ лежит в томе сервера (/data/presence/id), роутер пускает этот ключ только на эту одну команду. Адрес роутера — PRESENCE_SSH в compose.