How to set up a Home Assistant baby monitor with go2rtc, step by step

For parents who already run Home Assistant and want the nursery camera in it. The camera part is easy; the part that fails is the phone on your pillow, and it fails silently.

Updated
In short
  • Yes: run the nursery camera through go2rtc once, then point both Home Assistant and a baby monitor app at its restream.
  • A camera often serves only a few RTSP viewers, so one program reads it and everything else reads that program.
  • A dashboard on a locked iPhone stops its sound; the dashboard is fine by day, a night app is for the pillow.
  • Sound must reach the app as G.711; go2rtc converts AAC from cameras such as Reolink in one config line.
  • Away from home, the Tailscale add-on carries the same stream; nothing goes through a cloud.

Can Home Assistant be a baby monitor?

Yes, for the camera side. Home Assistant reads almost any Wi-Fi camera, and a dashboard card shows the nursery in a second. It falls short on the phone you sleep next to. A browser tab or the Companion app is not built to keep a live sound playing on a locked phone for nine hours, and it does not tell you when that sound has died.

Our own case: we ran a Tapo TC72 (the retail twin of the C212) through Home Assistant as the monitor for our second son in August and September 2026. The camera side worked from day one. The parent side took weeks of fixes, and the last fault was a stream that kept saying "playing" while it sent nothing. That is the one fault a baby monitor must never have.

So the setup that works keeps Home Assistant for what it does best, automations and the dashboard, and gives the night to an app. Both read one restream from go2rtc, the streaming server Home Assistant itself has shipped inside since version 2024.11.

What the night needsHome Assistant dashboard on an iPhoneWhat fixed it in our setup
Sound with the phone lockedstops when the screen locksa separate sound-only stream (go2rtc + ffmpeg to AAC)
Sound that stays alivedied silently: go2rtc drops an HLS session after 4–5 s without a requesta plain long stream.aac, 5 minutes with no fault
Sound in step with the pictureseconds behind: Safari buffers it like radionot fixed in the dashboard
Volumeignored by iOS on a web pageone extra ffmpeg stream per level (+12 dB, +22 dB)
Small window over other appsempty window for live WebRTCnot fixed
"Is it still listening?"no: a dead stream still says playinga home-made watchdog and a red SOUND LOST banner
Crying vs. the dogno: every noise is the samenot fixed
The camera itselffine: WebRTC card, low delaynothing to fix

Measured by us in August–September 2026 with a Tapo TC72, go2rtc in its own container next to Home Assistant, and iPhones on iOS 18.

Set up the camera through go2rtc, step by step

The steps below fit a Tapo camera and go2rtc running as a Home Assistant add-on, a Docker container or inside Frigate. Other RTSP cameras differ only in the stream address; the IP camera guide lists them. Checked against go2rtc 1.9 on 2026-10-30.

  1. Give the camera a login for other apps. On a Tapo, open the camera in the Tapo app → Settings → Advanced Settings → Camera Account, as the Tapo guide shows. Other makers call it the RTSP or ONVIF user.
  2. Add two streams to go2rtc.yaml. One sharp, one light, in the format go2rtc documents:
    streams:
      nursery: rtsp://<camera-user>:<camera-password>@<camera-address>:554/stream1
      nursery_sd: rtsp://<camera-user>:<camera-password>@<camera-address>:554/stream2
    Restart go2rtc. From now on, no other app talks to the camera. We hit this: a second app pointed straight at our Tapo gave timeouts, because the camera serves only a couple of viewers.
  3. Check the restream. Open http://<home-assistant-host>:1984. You should see both names in the list, and the stream's info should show H264 video and PCMA or PCMU sound. No sound codec at all? Turn on the microphone in the camera's own app.
  4. Convert the sound if it is AAC. Reolink and several others send AAC, which a baby monitor app may not play. Turn the stream into a list and add a second source, as in go2rtc's ffmpeg notes: - ffmpeg:nursery#audio=pcma under nursery_sd. The same idea makes a quiet room louder: #raw=-af volume=4, written in the file. We hit this too: #af=volume=4 is accepted and silently ignored.
  5. Give go2rtc room. Measured by us in September 2026: the container needed 256 MB of memory instead of 128 MB, and each sound conversion took about 13 MB.
  6. Point Home Assistant at the restream. A Generic Camera or WebRTC card reads rtsp://<home-assistant-host>:8554/nursery. That is your daytime view.
  7. Point the phone at the same restream. In Mamoon on the parent phone, choose the camera in the nursery, then "Advanced: I have my own server (go2rtc)", and type the server address. Mamoon finds the RTSP streams itself in its connection test; under "Edit streams manually", "Stream for detail" is nursery and "Everyday stream" is nursery_sd. You should see the picture and hear the room within seconds.
  8. Keep the power switch in Home Assistant. A Zigbee smart plug or Tapo privacy mode can turn the camera off by day. Your automation does the switching; the monitor app should simply say the camera sends nothing, and pick it up again when it wakes.

One more trap from our notes: asking go2rtc for sound only (?audio) from an idle Tapo stream gave no packets at all. Ask for the light stream with its video and just don't draw it.

Which baby cameras work with Home Assistant?

Any camera with local RTSP: Tapo, Hikvision, Dahua, Imou, and Reolink once its sound is converted. Cubo Ai has a community integration that reads its cloud, so it is not local. Radio monitors such as most VTech units have no network stream at all, which suits parents who want a non-Wi-Fi baby monitor. Ring, Nest and current Wyze cameras stream only through their makers' clouds. The camera checker tells you which group yours is in, and the camera guide compares the ones that work.

Frigate is fine as the restream, since it runs go2rtc inside and serves port 8554. Just give the nursery camera no recording and no object detection; a sleeping baby is not an event.

Is Baby Buddy a baby monitor?

No. Baby Buddy is a log for feeds, naps and diapers, with a Home Assistant integration for buttons and charts. It is a great match for a dashboard by the changing table. It does not watch or listen to the crib, so it sits next to the camera setup above, not in its place.

Watching from work over Tailscale

Install the Tailscale add-on on Home Assistant and Tailscale on your phone, and the go2rtc restream is reachable wherever the phone is. In the monitor app, use the server's Tailscale address instead of its home one. No port opens on your router and no cloud sits in the middle. The full walk-through is in the Tailscale guide.

Where Mamoon fits

Mamoon is the night half of this setup: a baby monitor app on your own phone. It reads the go2rtc restream on your home Wi-Fi, keeps the sound live with the phone locked, and tells a cry from a door or the dog on the phone itself. If the camera stops sending, Mamoon turns the screen grey and alerts you after 20 seconds. It does not run automations or talk to HomeKit, Alexa or Google Home; Home Assistant keeps that job. Sound and cry alerts are free; the picture costs $29.99 once or $3.99 a month after 14 days free.

Frequently asked questions

Does Home Assistant have a built-in baby monitor?

No. It has camera cards, sound sensors and automations, but nothing that keeps a live sound playing on a locked phone or warns you when that sound has stopped. People build it from go2rtc, a dashboard and a companion app, or add a monitor app on top.

Can I get a cry alert in Home Assistant?

Only roughly. A noise sensor on the camera or a sound-level automation fires on any loud sound, the dog and the door included. Telling crying from other sounds needs a classifier, which a dedicated monitor app runs on the phone.

Do I need Frigate for a baby camera?

No. Frigate is for detecting people and cars and keeping events. For a nursery, plain go2rtc is enough; if Frigate already runs, its built-in go2rtc restream works just as well.

Can the camera stay blocked from the internet?

Yes. Block it at the router and everything local keeps working. You lose the maker's cloud, its push alerts and its own cry detection, and its clock drifts: measured by us in September 2026, ours ended up 129 days behind.

Does Mamoon need Home Assistant?

No. Mamoon reads most Wi-Fi cameras over RTSP on its own, or uses an old phone by the crib as the camera. The go2rtc route is for people who already run a server and want one restream for everything.

How these pages are made: an AI model drafts them from our own tests, real app screens and the sources listed, and Jan Drábek checks every page before it goes live.

A video baby monitor you already own

Mamoon turns an old phone or a Wi-Fi camera into a baby monitor. It recognizes a cry by itself, wakes you even with the nursery sound muted, and the picture never leaves your Wi-Fi.

QR code for mamoon.appOn a computer? Scan it to have Mamoon on your phone.Get it onGoogle Play
$29.99 once, for life, or $3.99 a month with 14 days free · on the App Store and Google Play · How Mamoon works