Камера Aqara G4 в Home Assistant: go2rtc и WebRTC

Aqara G4 в Home Assistant через go2rtc и WebRTC Camera Умный дом
Как добавить дверной звонок Aqara G4 в Home Assistant через HomeKit, настроить поток в go2rtc и карточку WebRTC Camera.

Реклама. ООО «ТАЙМВЭБ.КЛАУД», ИНН 7810945525.

Timeweb

Aqara G4 (Aqara Video Doorbell G4) хорошо работает в Home Assistant, если подключить звонок через HomeKit, а видео пустить через go2rtc и карточку WebRTC Camera. Из всего, что я пробовал, только эта связка дала стабильную картинку хорошего качества с задержкой меньше секунды. Встроенный просмотр HomeKit-камеры без go2rtc тормозит, остальные способы либо не заработали, либо выглядели хуже. Минус один: звук так и не заработал — подробности ниже.

Статья обновлена в сентябре 2026 года: новые пункты меню Home Assistant, карточка с потоком go2rtc напрямую, уведомление с фото через кадр go2rtc в /local/, запись в Frigate и требования к сети.

Как это работает

Звонок подключается к Home Assistant по протоколу HomeKit — Apple-устройства для этого не нужны. Интеграция HomeKit Device создаёт камеру и событие нажатия кнопки. go2rtc берёт эту камеру через источник hass: и раздаёт поток по WebRTC для дашборда и по RTSP для систем записи.

Схема Aqara G4 в Home Assistant: HomeKit, go2rtc, карточка WebRTC Camera и Frigate
Путь видео со звонка: HomeKit в Home Assistant, затем go2rtc, дашборд и запись

Что понадобится:

  • Home Assistant OS или Supervised для аддона go2rtc. На Container go2rtc запускается отдельно в Docker, а интеграция WebRTC Camera умеет скачать его сама;
  • звонок и Home Assistant в одной сети с работающим mDNS — без этого HomeKit не найдёт устройство. Если Home Assistant в виртуальной машине на Proxmox, сетевой мост должен смотреть в ту же подсеть, что и звонок;
  • HACS для установки WebRTC Camera.

Как добавить Aqara G4 в Home Assistant через HomeKit

HomeKit-устройство сопрягается только с одной системой. Если звонок уже добавлен в приложение «Дом» на iPhone, сначала удалите его оттуда — иначе Home Assistant его не увидит. После удаления звонок появится в Home Assistant как обнаруженное устройство.

  1. Откройте Настройки → Устройства и службы. В блоке «Обнаружено» появится звонок с интеграцией HomeKit Device.
  2. Нажмите Добавить и введите код сопряжения HomeKit — он есть на наклейке устройства и в приложении Aqara.
  3. Если звонка нет в списке, перезагрузите его по питанию и обновите страницу.

После сопряжения устройство появится в Home Assistant. У меня оно называется так:

Doorbell Repeater-6B47

Это имя понадобится в go2rtc для источника hass:…. Камера получит идентификатор вида camera.doorbell_repeater_6b47, а кнопка — событие вроде event.doorbell_repeater_6b47_doorbell. Точные имена смотрите на странице устройства.

Установка go2rtc из репозитория AlexxIT

  1. Откройте Настройки → Приложения → Установить приложение. В старых версиях — Настройки → Дополнения → Магазин дополнений.
  2. Меню (три точки) → Репозитории → добавьте https://github.com/AlexxIT/hassio-addons.
  3. Установите аддон go2rtc, запустите его и включите автозапуск. По желанию — «Показывать на боковой панели».

Настройка потока Aqara G4 в go2rtc

Откройте веб-интерфейс go2rtc, вкладку Config, и добавьте поток. Источник hass: берёт камеру, уже сопряжённую в Home Assistant, по имени устройства:

streams:
  aqara_g4:
    - hass:Doorbell Repeater-6B47
    - ffmpeg:aqara_g4#audio=aac#audio=opus
  • hass:Doorbell Repeater-6B47 — видео и исходный звук HomeKit; подставьте имя своего устройства точно как в Home Assistant;
  • ffmpeg:aqara_g4#audio=aac#audio=opus — перекодирование звука из AAC-ELD в AAC и Opus. Эту строку рекомендует документация go2rtc для HomeKit-камер.

Сохраните конфигурацию и перезапустите go2rtc. На главной странице веб-интерфейса появится поток aqara_g4: нажмите stream и убедитесь, что видео идёт. Если здесь картинки нет, карточка на дашборде тоже ничего не покажет.

Карточка WebRTC Camera для Aqara G4

Для просмотра с минимальной задержкой нужна карточка WebRTC Camera из интеграции AlexxIT/WebRTC. Стандартная карточка камеры для этого потока работает хуже: задержка выше, настроек меньше.

Установка интеграции WebRTC Camera

  1. В HACS найдите WebRTC Camera от AlexxIT и нажмите Download.
  2. Перезапустите Home Assistant.
  3. Настройки → Устройства и службы → Добавить интеграцию → WebRTC Camera. Интеграция сама найдёт установленный аддон go2rtc.

Добавление карточки на дашборд

Откройте дашборд, нажмите карандаш, затем Добавить карточку → Вручную и вставьте конфигурацию. Параметр url указывает на поток из go2rtc — так карточка гарантированно берёт настроенный поток:

type: custom:webrtc-camera
url: aqara_g4
muted: true
ui: true

muted: true отключает звук при открытии, ui: true включает кнопки управления: пауза, полный экран, выбор режима. Вместо потока можно указать камеру Home Assistant — у меня этот вариант тоже работает:

type: custom:webrtc-camera
entity: camera.doorbell_repeater_6b47

Уведомление с фото при нажатии кнопки звонка

Интеграция HomeKit Device создаёт для звонка сущность-событие. При нажатии кнопки её тип события становится ring. У Aqara G4 сущность обычно называется event.doorbell_repeater_XXXX_video_doorbell — обратите внимание на суффикс _video_doorbell, а не просто _doorbell.

Снимок через /api/camera_proxy/… в уведомлении часто не приходит: камера HomeKit не успевает отдать кадр, а на телефоне вне дома путь без внешнего доступа не открывается. Рабочий способ — взять кадр из go2rtc и положить его в /config/www/, чтобы Companion App открыл его как /local/….

Команда снимка в configuration.yaml

Добавьте в configuration.yaml доступ к папке со снимками и команду, которая забирает кадр из go2rtc:

homeassistant:
  allowlist_external_dirs:
    - "/config/www/cam_snapshots"
shell_command:
  snapshot_doorbell_g4: >-
    curl -sf --max-time 15 -o /config/www/cam_snapshots/doorbell.jpg
    "http://127.0.0.1:1984/api/frame.jpeg?src=aqara_g4"

Поток aqara_g4 должен быть описан в go2rtc.yaml, как в разделе выше. Создайте папку /config/www/cam_snapshots/, если её ещё нет. После правок перезагрузите Home Assistant.

Автоматизация уведомления со снимком

alias: Звонок в дверь отправка фото
triggers:
  - trigger: state
    entity_id: event.doorbell_repeater_6b47_video_doorbell
conditions:
  - condition: state
    entity_id: event.doorbell_repeater_6b47_video_doorbell
    attribute: event_type
    state: ring
variables:
  doorbell_image: /local/cam_snapshots/doorbell.jpg?t={{ now().timestamp() | int }}
actions:
  - delay: "00:00:02"
  - action: shell_command.snapshot_doorbell_g4
  - action: notify.mobile_app_sm_f956b
    data:
      title: Звонок в дверь
      message: Вам позвонили в дверь
      data:
        image: "{{ doorbell_image }}"
  - action: notify.mobile_app_iphone_natali
    data:
      title: Звонок в дверь
      message: Вам позвонили в дверь
      data:
        image: "{{ doorbell_image }}"
mode: single
  • Параметр ?t=… нужен, чтобы телефон не показал старый кадр из кэша;
  • замените entity_id на свою сущность-событие и notify.mobile_app_… — на свои телефоны из приложения Home Assistant;
  • задержка в две секунды даёт go2rtc время подготовить кадр после нажатия кнопки.

Чтобы снимок открывался вне дома, нужен внешний доступ к Home Assistant — например, CloudPub без белого IP или Nabu Casa. Файл по пути /local/… открывается через тот же URL, с которым подключено приложение Companion.

Проверка: Инструменты разработчика → Действия → shell_command.snapshot_doorbell_g4. В /config/www/cam_snapshots/ должен появиться doorbell.jpg, а в браузере — http://ВАШ_HA:8123/local/cam_snapshots/doorbell.jpg.

Запись видео со звонка в Frigate

go2rtc раздаёт каждый поток и по RTSP на порту 8554, поэтому звонок можно подключить к Frigate или любому видеорегистратору. Укажите IP-адрес Home Assistant:

cameras:
  aqara_g4:
    ffmpeg:
      inputs:
        - path: rtsp://192.168.1.10:8554/aqara_g4?video
          roles:
            - record
            - detect

Параметр ?video забирает только видео, чтобы запись не спотыкалась о нестандартный звук HomeKit. Записи быстро занимают место, поэтому не включайте папку media в облачные бэкапы — об этом в статье про Home Assistant Google Drive Backup.

Почему у Aqara G4 нет звука в Home Assistant

HomeKit-камеры передают звук в кодеке AAC-ELD с нестандартными параметрами. Браузеры его не воспроизводят, поэтому go2rtc перекодирует звук через FFmpeg. Документация go2rtc честно предупреждает, что поддержка HomeKit протестирована только на Aqara Camera Hub G3. С G4 у меня перекодирование так и не заработало: в карточке есть видео, но звука нет. Двусторонней связи через этот способ тоже нет — поговорить с гостем получится только в приложении Aqara.

Если карточка не работает

  • Custom element doesn’t exist: webrtc-camera — интеграция не установлена или Home Assistant не перезапущен после HACS. Обновите страницу с очисткой кэша, Ctrl+F5.
  • Чёрный экран — проверьте поток aqara_g4 в веб-интерфейсе go2rtc и совпадение имени в hass: с именем устройства.
  • Звонок пропал из Home Assistant — чаще всего сломался mDNS: проверьте, что звонок и сервер в одной подсети, а роутер не блокирует multicast.
  • Нет кнопки сопряжения — устройство уже сопряжено с другой системой: удалите его из приложения «Дом» или сбросьте звонок.
  • Видео есть, звука нет — ожидаемо, см. раздел выше.

Чтобы смотреть дашборд с камерой вне дома, есть два варианта. Самый простой — CloudPub: он даёт внешнюю ссылку на Home Assistant без белого IP и настройки роутера, вход защищён логином и паролем HA. Если публичная страница входа не нужна вовсе, посмотрите OpenZiti — доступ к Home Assistant только с ваших устройств.

Частые вопросы про Aqara G4 и Home Assistant

Можно ли добавить Aqara G4 в Home Assistant, если он уже в Apple Home?

HomeKit-устройство сопрягается только с одной системой. Сначала удалите звонок из приложения «Дом», затем добавьте его в Home Assistant через интеграцию HomeKit Device.

Нужен ли iPhone или хаб Apple для подключения?

Нет. HomeKit — это просто протокол, Home Assistant работает с ним напрямую. Код сопряжения есть на наклейке звонка и в приложении Aqara.

Зачем go2rtc, если камера и так видна в Home Assistant?

Встроенный просмотр HomeKit-камеры тормозит. go2rtc берёт тот же поток через источник hass: и раздаёт его по WebRTC с задержкой меньше секунды.

Почему нет звука с Aqara G4?

Звонок передаёт звук в кодеке AAC-ELD, который браузеры не воспроизводят. Перекодирование через ffmpeg рекомендовано для HomeKit-камер, но с G4 у меня оно не заработало.

Как получать уведомление при нажатии кнопки звонка?

Интеграция HomeKit Device создаёт сущность-событие звонка с типом ring (у G4 обычно event.…_video_doorbell). Снимок через /api/camera_proxy часто не приходит — возьмите кадр из go2rtc командой shell_command, сохраните в /config/www/ и отправьте в уведомлении как /local/… .

Можно ли записывать видео с Aqara G4 в Frigate?

Да. go2rtc раздаёт поток по RTSP на порту 8554: укажите в Frigate адрес rtsp://IP-Home-Assistant:8554/aqara_g4?video.

Нужен ли HACS для go2rtc?

Нет. Аддон go2rtc ставится из репозитория AlexxIT/hassio-addons. HACS нужен только для интеграции и карточки WebRTC Camera.

Где найти entity_id камеры Aqara G4?

Откройте Настройки → Устройства и службы → Устройства, выберите звонок и посмотрите сущность камеры. Или отфильтруйте camera. в панели разработчика на вкладке «Состояния».

Рубрики: Умный дом Программы и сервисы

Подписаться на новые статьи

Каналы и RSS. Без почты и рассылок.

Оцените статью
Добавить комментарий