Skip to content

Камеры ​

Камеры Яндекса, Xiaomi (Mi Home), любые IP-камеры по RTSP и экран телевизора на Android. Сервер дома заводит их в Home Assistant, видео идёт через видеосервер go2rtc. Камера ставится в комнату как обычный прибор: на плане — значок и экран с последним кадром, по нажатию — живое видео.

С компьютером, на котором стоит Homer Node с ролью «Запись камер», камеры пишутся круглосуточно, а запись смотрится в том же окне камеры.

Где это ​

Где
ПриложениеНастройки → Устройства → Камеры
ВебСтраница «Дом» → блок «Камеры»

Заводит камеры только владелец. Смотрят и поворачивают все, кроме гостей. Снаружи домашней сети — только доступы, которым это разрешено.

TIP

Вход в Яндекс и адрес go2rtc настраиваются только в вебе. Остальное есть и в приложении.

Яндекс ​

Экспериментально

Облачные камеры Яндекса и Xiaomi — эксперимент: вход в облако производителя по неофициальному пути, производитель может его закрыть в любой день. Камеры из Home Assistant это не касается.

Вход в аккаунт ​

Под заголовком «Яндекс» видно, откуда вход:

ПодписьЧто значит
«свой вход из этой карточки»Вы вошли здесь, по QR или куке
«через интеграцию yandex_station в HA»Своего входа нет, берётся вход интеграции Яндекс Станции
«нет»Нет ни того, ни другого

Свой вход главнее интеграции: если вошли здесь, камеры идут под этим аккаунтом.

По QR:

  1. «Войти по QR» (или «Войти другим аккаунтом по QR»).
  2. Отсканируйте QR в приложении Яндекс (камера → QR) и подтвердите вход.
  3. Карточка сама заметит подтверждение: «Вход в Яндекс выполнен».

Кукой Session_id — если Яндекс просит капчу или QR не проходит:

  1. Откройте yandex.ru в браузере, где вы уже вошли.
  2. F12 → Application → Cookies → скопируйте значение Session_id целиком.
  3. «Кукой 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, к которому привязаны камеры:

  1. Почта, телефон или Mi ID и пароль → «Войти».
  2. Код подтверждения из письма или СМС → «Подтвердить».
  3. Иногда — капча: символы с картинки → «Дальше».

Пароль уходит в go2rtc рядом с домом, там меняется на токен и нигде не хранится.

Завести камеру ​

Как у Яндекса: в вебе «Завести» и «Поставить в комнату», в приложении — «Поставить в комнату». У камеры в списке видны IP и модель.

Видео идёт с камеры прямо в дом, облако нужно только за ключами шифрования. Интеграции HA для этих камер нет — сущность camera.* сервер дома заводит сам.

У камер Xiaomi нет поворота через go2rtc — стрелок в окне не будет.

IP-камеры (RTSP, ONVIF) ​

Любая камера локальной сети, которая отдаёт RTSP: Hikvision, Dahua, Reolink, TP-Link Tapo и другие. Облако не нужно, видео идёт с камеры прямо в дом. Своих событий у такой камеры нет: с узлом записи она пишется круглосуточно, а предупреждения о человеке, движении и шуме находит Frigate в записи — см. Запись круглосуточно.

Поиском ONVIF:

  1. Поле «Подсеть» — первые три числа адреса домашней сети, например 192.168.1. Приложение подставляет подсеть своего Wi-Fi само, веб — по адресу, на котором открыт.
  2. «Найти камеры ONVIF» — за несколько секунд появится список с именем, моделью и адресом.
  3. У нужной камеры «Завести» → логин и пароль самой камеры → «Подключить».

Адреса потоков сервер дома спрашивает у камеры сам: основной берёт самый крупный, а для просмотра и поиска объектов — самый мелкий.

По адресу RTSP — если ONVIF у камеры выключен или его нет:

  1. «Адрес RTSP», например rtsp://admin:пароль@192.168.1.64:554/Streaming/Channels/101.
  2. «Второй поток» — по желанию, мелкий поток той же камеры (у Hikvision …/Channels/102). С ним смотреть легче, а во весь экран идёт основной.
  3. «Завести».

Второй поток не указали — сервер дома сам спросит у камеры её профили по 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 с включённой отладкой по сети можно завести камерой: кадр — снимок его экрана раз в полминуты, а в окне камеры — живой экран.

  1. Блок «Телевизор по ADB» → поле «Адрес, ip:порт», например 192.168.1.50:5555, имя по желанию → «Подключить».
  2. На телевизоре подтвердите «Разрешить отладку» и нажмите «Повторить». Сервер дома подключается к телевизору и ждёт Home Assistant — до минуты.
  3. «Поставить в комнату» → комната.

Привяжите камеру к телевизору на плане — и в прогулке картинка будет на его экране. Такая камера живёт не в 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, тоже в камеру

У камеры Яндекса своей чувствительности наружу нет — только фильтры сервера дома.

Условие «кто-то дома» ​

«Дома» — когда в домашней сети хоть одно из выбранных устройств. Список устройств сервер дома берёт у роутера.

  1. «При условии» → «Кто-то дома» или «Никого нет дома».
  2. Выберите устройства из списка (сначала те, что в сети) или впишите имя, IP или MAC → «Добавить».
  3. Окно показывает, что условие думает сейчас: «Сейчас: кто-то дома» или «никого нет дома».

Телефон в спящем режиме на минуту выпадает из сети, поэтому устройство считается дома ещё 10 минут после того, как пропало.

ПодписьЧто значит
«Сайдкару не подключён роутер — условие не действует, сообщения идут всегда»Роутер не настроен
«Роутер не отвечает — пока он молчит, сообщения идут всегда»Роутер недоступен

Камера, замолчавшая из-за роутера, хуже лишнего сообщения, поэтому без ответа роутера сообщения идут как без условия.

Для установщика: подключить роутер

Сервер дома спрашивает роутер GL.iNet по SSH командой ubus call gl-clients list. Ключ лежит в томе сервера (/data/presence/id), роутер пускает этот ключ только на эту одну команду. Адрес роутера — PRESENCE_SSH в compose.