Step 1: Set the doorbell up safely
- Connect and initialise it with the Reolink app or client, and set a unique password. The HA docs say the password can only contain letters, digits and these symbols: @ $ * ~ _ - + = ! ? . , : ; ' ( ) [ ] - other special characters break the video stream URLs.
- The HA integration needs a user with admin privileges on the device. Use the device's own login, not your Reolink cloud account.
- In the device's advanced network settings, make sure HTTP is enabled (Frigate's docs require this for the camera wizard and for the recommended http-flv streams).
- Put the doorbell on your camera/IoT VLAN or SSID and give the HA and Frigate hosts access to it. Do not port forward it.
Reolink devices are normally auto-discovered. Go to Settings > Devices & services, find the Discovered Reolink card, and enter the device username and password. If it is not discovered, use Add Integration > Reolink and enter the IP address.
For doorbells the integration provides a Visitor binary sensor (doorbell presses) and, depending on the model, AI detection sensors, a chime volume setting and an "auto quick reply" option. Some entities are disabled by default, so enable what you need. Entity names depend on what you called the device, so check yours under the device page.
Step 3: A doorbell notification automation
In the UI: trigger on the Visitor binary sensor turning on, action: notify your phone. In YAML it looks like this (replace the entity and notify service names with your own):
Code: Select all
alias: "Front door - visitor notification"
triggers:
- trigger: state
entity_id: binary_sensor.front_doorbell_visitor
to: "on"
actions:
- action: notify.mobile_app_your_phone
data:
title: "Doorbell"
message: "Someone is at the front door"
Step 4: Frigate with two-way talk
Frigate's docs say two-way talk needs three things: access Frigate over https (the authenticated port 8971 is the one to use; your browser will not give microphone access to plain http), a camera that supports two-way audio via go2rtc, and the stream set up as shown below. They also say Reolink cameras should keep using the http-flv stream for video stability, and add a second RTSP stream used only for the talk channel. The RTSP URL must not be prefixed with ffmpeg: because go2rtc has to handle it for two-way audio.
This is the shape of the documented config (placeholders for IP/credentials, camera name is yours):
Code: Select all
go2rtc:
streams:
front_doorbell:
- "ffmpeg:http://DOORBELL_IP/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=USERNAME&password=PASSWORD#video=copy#audio=copy#audio=opus"
- "rtsp://USERNAME:PASSWORD@DOORBELL_IP/Preview_01_sub"
front_doorbell_sub:
- "ffmpeg:http://DOORBELL_IP/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=USERNAME&password=PASSWORD"
- "rtsp://USERNAME:PASSWORD@DOORBELL_IP/Preview_01_sub"
cameras:
front_doorbell:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/front_doorbell
input_args: preset-rtsp-restream
roles:
- record
- path: rtsp://127.0.0.1:8554/front_doorbell_sub
input_args: preset-rtsp-restream
roles:
- detect
Troubleshooting
- No microphone prompt: you are on http. Use the https port (8971) and accept or install a proper certificate.
- Video stutters or drops: Reolink's own docs and Frigate's both point to http-flv as the most reliable stream for most models. Avoid hammering a low-powered doorbell with several simultaneous connections; restream through go2rtc so there is only one.
- Visitor sensor never fires: check you enabled it, and that the HA host can reach the doorbell. Battery or Wi-Fi models may behave differently from wired PoE ones (the Reolink page has a battery-powered models section).
- Audio missing in browser live view: Frigate's Reolink example adds an Opus audio conversion for the main stream; keep that part of the example.
Question for the group: has anyone got reliable two-way talk working through Frigate and go2rtc on a doorbell that is not a Reolink? Which model, and which stream setup worked?