- How it works
- How to add the Aqara G4 to Home Assistant via HomeKit
- Installing go2rtc from the AlexxIT repository
- Aqara G4 stream config in go2rtc
- WebRTC Camera card for the Aqara G4
- Installing the WebRTC Camera integration
- Adding the card to a dashboard
- Notification with a photo when the doorbell is pressed
- Recording the doorbell video in Frigate
- Why there is no Aqara G4 audio in Home Assistant
- If the card does not work
- Aqara G4 and Home Assistant FAQ
The Aqara G4 (Aqara Video Doorbell G4) works well: to get the Aqara G4 in Home Assistant with a smooth stream, you pair it via HomeKit and route the video through go2rtc and the WebRTC Camera card. Of everything I tried, only this combo gave me a stable, good-quality picture with sub-second latency. The built-in HomeKit camera view without go2rtc lags, and other methods either failed or looked worse. One downside: audio never worked — details below.
Updated in September 2026: new Home Assistant menu paths, a card that uses the go2rtc stream directly, a notification with a photo on button press, recording in Frigate and network requirements.
How it works
Running the Aqara G4 in Home Assistant is simple: the doorbell connects over the HomeKit protocol — no Apple devices required. The HomeKit Device integration creates a camera and a button press event. go2rtc pulls that camera through the hass: source and serves the stream over WebRTC for the dashboard and over RTSP for recording systems.

What you need:
- Home Assistant OS or Supervised for the go2rtc add-on. On Container you run go2rtc separately in Docker, or let the WebRTC Camera integration download it for you;
- the doorbell and Home Assistant on the same network with working mDNS — otherwise HomeKit cannot find the device. If Home Assistant runs in a VM on Proxmox, the bridge must be on the same subnet as the doorbell;
- HACS to install WebRTC Camera.
How to add the Aqara G4 to Home Assistant via HomeKit
A HomeKit device pairs with only one ecosystem. If the doorbell is already in the Apple Home app, remove it there first — otherwise Home Assistant will not see it. Once removed, the doorbell shows up in Home Assistant as a discovered device.
- Open Settings → Devices & services. The doorbell appears under Discovered with the HomeKit Device integration.
- Select Add and enter the HomeKit pairing code — it is on the device label and in the Aqara app.
- If the doorbell is not listed, power-cycle it and refresh the page.
After pairing the device appears in Home Assistant. Mine is named:
Doorbell Repeater-6B47
You will need this name in go2rtc for the hass:… source. The camera gets an ID like camera.doorbell_repeater_6b47 and the button an event like event.doorbell_repeater_6b47_doorbell. Check the exact names on the device page.
Installing go2rtc from the AlexxIT repository
- Open Settings → Apps → Install app. In older versions it is Settings → Add-ons → Add-on store.
- Menu (three dots) → Repositories → add
https://github.com/AlexxIT/hassio-addons. - Install the go2rtc add-on, start it and enable start on boot. Optionally enable Show in sidebar.
Aqara G4 stream config in go2rtc
Open the go2rtc web UI, the Config tab, and add a stream. The hass: source takes the camera already paired in Home Assistant by device name:
streams:
aqara_g4:
- hass:Doorbell Repeater-6B47
- ffmpeg:aqara_g4#audio=aac#audio=opus
hass:Doorbell Repeater-6B47— video and raw HomeKit audio; use your own device name exactly as in Home Assistant;ffmpeg:aqara_g4#audio=aac#audio=opus— transcodes audio from AAC-ELD to AAC and Opus. The go2rtc docs recommend this line for HomeKit cameras.
Save the config and restart go2rtc. The aqara_g4 stream appears on the web UI home page: click stream and make sure video plays. If there is no picture here, the dashboard card will not show one either.
WebRTC Camera card for the Aqara G4
For minimal latency use the WebRTC Camera card from the AlexxIT/WebRTC integration. The stock camera card is a worse fit for this stream: higher latency and fewer options.
Installing the WebRTC Camera integration
- In HACS find WebRTC Camera by AlexxIT and select Download.
- Restart Home Assistant.
- Settings → Devices & services → Add integration → WebRTC Camera. The integration finds the installed go2rtc add-on on its own.
Adding the card to a dashboard
Open the dashboard, tap the pencil, then Add card → Manual and paste the config. The url option points to the go2rtc stream, so the card is guaranteed to use the stream you configured:
type: custom:webrtc-camera
url: aqara_g4
muted: true
ui: true
muted: true starts muted, and ui: true adds controls: pause, fullscreen and mode selection. Instead of the stream you can point to the Home Assistant camera — this works for me too:
type: custom:webrtc-camera
entity: camera.doorbell_repeater_6b47
Notification with a photo when the doorbell is pressed
The HomeKit Device integration creates an event entity for the doorbell. When the button is pressed, its event type becomes ring. This automation sends a notification with a camera snapshot to your phone:
alias: Aqara G4 doorbell
triggers:
- trigger: state
entity_id: event.doorbell_repeater_6b47_doorbell
conditions:
- condition: state
entity_id: event.doorbell_repeater_6b47_doorbell
attribute: event_type
state: ring
actions:
- action: notify.mobile_app_your_phone
data:
title: Doorbell
message: Someone is at the door
data:
image: /api/camera_proxy/camera.doorbell_repeater_6b47
Replace notify.mobile_app_your_phone with your phone from the Home Assistant app. For the snapshot to load away from home you need remote access — for example, CloudPub without a public IP.
Recording the doorbell video in Frigate
go2rtc also serves every stream over RTSP on port 8554, so you can connect the doorbell to Frigate or any NVR. Use the Home Assistant IP address:
cameras:
aqara_g4:
ffmpeg:
inputs:
- path: rtsp://192.168.1.10:8554/aqara_g4?video
roles:
- record
- detect
The ?video parameter takes video only, so recording is not tripped up by the non-standard HomeKit audio. Recordings eat space fast, so keep the media folder out of cloud backups — see the Home Assistant Google Drive Backup guide.
Why there is no Aqara G4 audio in Home Assistant
HomeKit cameras send audio as AAC-ELD with non-standard parameters. Browsers cannot play it, so go2rtc transcodes it with FFmpeg. The go2rtc docs openly warn that HomeKit support has only been tested with the Aqara Camera Hub G3. With the G4, transcoding never worked for me: the card shows video but no sound. Two-way talk is not available this way either — to speak with a visitor, use the Aqara app.
If the card does not work
- Custom element doesn’t exist: webrtc-camera — the integration is not installed or Home Assistant was not restarted after HACS. Hard-refresh the page with Ctrl+F5.
- Black screen — check the
aqara_g4stream in the go2rtc web UI and that thehass:name matches the device name. - The doorbell disappeared from Home Assistant — usually mDNS broke: check that the doorbell and server are on the same subnet and the router does not block multicast.
- No pairing button — the device is paired with another ecosystem: remove it from Apple Home or reset the doorbell.
- Video but no sound — expected, see the section above.
To watch the camera dashboard away from home, you have two options. The easiest is CloudPub: it gives Home Assistant an external URL without a public IP or router setup, protected by your HA login. If you want no public login page at all, see OpenZiti — Home Assistant access from your own devices only.
Aqara G4 and Home Assistant FAQ
Can I add the Aqara G4 to Home Assistant if it is already in Apple Home?
A HomeKit device pairs with only one ecosystem. Remove the doorbell from the Apple Home app first, then add it to Home Assistant with the HomeKit Device integration.
Do I need an iPhone or an Apple hub?
No. HomeKit is just a protocol and Home Assistant talks to it directly. The pairing code is on the doorbell label and in the Aqara app.
Why use go2rtc if the camera already shows up in Home Assistant?
The built-in HomeKit camera view lags. go2rtc takes the same stream through the hass: source and serves it over WebRTC with sub-second latency.
Why is there no audio from the Aqara G4?
The doorbell sends AAC-ELD audio, which browsers cannot play. FFmpeg transcoding is recommended for HomeKit cameras, but it never worked for me with the G4.
How do I get a notification when the doorbell is pressed?
The HomeKit Device integration creates a doorbell event entity with the ring event type. Build an automation on that event and send a notification with a snapshot via /api/camera_proxy.
Can I record Aqara G4 video in Frigate?
Yes. go2rtc serves the stream over RTSP on port 8554: use rtsp://HOME-ASSISTANT-IP:8554/aqara_g4?video in Frigate.
Do I need HACS for go2rtc?
No. The go2rtc add-on installs from the AlexxIT/hassio-addons repository. HACS is only needed for the WebRTC Camera integration and card.
Where do I find the Aqara G4 camera entity_id?
Open Settings → Devices & services → Devices, select the doorbell and look for the camera entity. Or filter by camera. in Developer tools → States.
No email, no trackers — just the update feed.








