Home Assistant custom component that adds a WebRTC live-stream camera for the Ring Intercom Handset Video (2024/2025 model with camera).
The official Ring integration only exposes lock and ding entities for intercoms. This component adds the missing camera entity with native WebRTC live view — the same streaming technology Ring uses for its doorbell cameras.
The Ring Intercom Video replaces analog intercoms (e.g. Fermax, Tegui, Comelit) and includes a camera that digitizes the analog CVBS video signal. However:
- The official HA Ring integration doesn't create camera entities for intercoms
- Standard Ring snapshot/recording APIs don't work for this device (they require Ring Protect)
- The device does support WebRTC live view, using the exact same protocol as Ring doorbells
This component bridges that gap.
Lovelace (browser) <--> Camera Entity <--> Ring Signaling <--> Ring Intercom
[WebRTC peer] [SDP/ICE bridge] [WebSocket] [720x576 H.264]
- You open the camera card in your dashboard
- Your browser creates a WebRTC connection (SDP offer)
- This component forwards it to Ring's signaling server via
python-ring-doorbell - Ring returns the SDP answer and ICE candidates
- Your browser connects directly to the Ring device — live video at ~25fps
No server-side video processing. No aiortc, no ffmpeg, no Pillow. The browser handles all the WebRTC decoding natively.
| Device | Kind | Supported |
|---|---|---|
| Ring Intercom Handset Video (2024/2025) | intercom_handset_video |
Yes |
| Ring Intercom (audio only) | intercom_handset_audio |
No (no camera) |
Tested with Fermax 3304/99139 (5-wire) as the predecessor analog intercom.
The analog intercom camera (Fermax CVBS) only outputs video when activated:
- During a ding — someone presses the call button on the street panel
- Manual activation — pressing the camera button on the indoor handset
When the camera is not active, the stream shows a black image. This is normal — it's how analog intercoms work.
Tip: If you have a Zigbee/Z-Wave relay connected to the camera button on your indoor unit, you can trigger the camera via HA automation before viewing the stream.
- Open HACS in Home Assistant
- Go to Integrations > click the three dots menu (top right) > Custom repositories
- Add this URL:
https://github.com/cmos486/ring-intercom-video - Category: Integration
- Click Add, then search for "Ring Intercom Video Camera" and download it
- Restart Home Assistant
- Copy the
custom_components/ring_intercom_camera/folder to your HAcustom_components/directory - Restart Home Assistant
Add to your configuration.yaml:
ring_intercom_camera:Restart Home Assistant. The component will auto-discover intercom_handset_video devices from your existing Ring integration.
A new camera entity will appear: camera.<device_name>_camera
- The official Ring integration must be configured and working in HA
- Your Ring account must have an Intercom Handset Video device
- HACS installed (for HACS installation method)
You don't need to configure any credentials. This component reuses the authentication from the official Ring integration that is already set up in your Home Assistant.
Under the hood:
- The official Ring integration handles all login/OAuth/2FA via its config flow (Settings > Integrations > Ring)
- This component declares
ringas a dependency and accesses the already-authenticated Ring API client fromhass.data["ring"] - No tokens, passwords, or API keys are stored or managed by this component
If your Ring integration is working (you can see your intercom's lock and ding entities), this component will work too — no extra login needed.
Add the camera to any dashboard using a Picture Entity card or the built-in camera card. When you click the live view button, WebRTC streaming will start automatically.
This component:
- Monkey-patches
RingOther(the intercom class inpython-ring-doorbell) to add WebRTC streaming methods — the same methods thatRingDoorBellhas for doorbell cameras - Creates a camera entity with
CameraEntityFeature.STREAMthat implements the HA WebRTC signaling interface (async_handle_async_webrtc_offer,async_on_webrtc_candidate,close_webrtc_session) - Uses
python-ring-doorbell'sRingWebRtcStreamfor all signaling — no custom WebSocket/HTTP code needed
No camera entity appears after restart
- Check that the official Ring integration is working (Settings > Integrations > Ring)
- Verify your device is an
intercom_handset_video(notintercom_handset_audio) - Check HA logs for
ring_intercom_cameraentries
Live view shows black/no video
- This is expected when the Fermax camera is not active
- The analog camera only outputs video during a ding or manual activation
- Try pressing the call button on the street panel, then open the live view
Live view button doesn't appear
- Make sure you're using a browser that supports WebRTC (Chrome, Firefox, Safari)
- Check that
CameraEntityFeature.STREAMis listed in the entity attributes
Ring Protect subscription
- Not required. This component uses WebRTC live view which works without any subscription
- Snapshots and recordings stored in the cloud do require Ring Protect, but this component doesn't use those APIs
This integration builds on top of:
- python-ring-doorbell (LGPL-3.0) — Python library for Ring devices. This component monkey-patches its
RingOtherclass at runtime to add WebRTC stream support for intercom devices. - Home Assistant Ring Integration (Apache 2.0) — The camera entity's WebRTC signaling interface is modeled after the official Ring camera implementation in HA Core.
Copyright 2026 Kilian Ubeda Cano