>**What it is:** A custom Home Assistant integration for the Niko Doorbell (NHC1), e.g. model 550-22001. Talks to the doorbell directly over your local network — no cloud, no Niko account required.
**Why I built it:** Niko doesn't offer an official Home Assistant integration for the doorbell, so there was no way to get live video, call status, or a mute/hangup control into HA.
**What it does:**
* **Camera** — live RTSP video feed, rendered through HA's built-in stream integration (HLS), so it works in the standard camera card/dashboard * **Call status sensor** — `idle` / `ringing`, usable in automations (e.g. flash lights, send notification with the camera snapshot) * **Mute status sensor** — `muted` / `unmuted` * **Mute switch** — mute/unmute the doorbell's ringer and call audio from HA * **Hang up button** — remotely terminate an active call * **Full UI config flow** — add it via Settings → Devices & Services, enter host/port (+ optional credentials, RTSP port/path), no YAML editing * **HACS-installable** as a custom repository (not yet in the default store)
**How it works technically:** It's a `local_polling` integration — a `DataUpdateCoordinator` polls a small local REST API on the doorbell every 5s for call/mute state, and the camera entity builds an RTSP URL for HA's stream integration. Source is Python, \~10 files, with a config flow, unit tests, and CI (HACS/hassfest validation).
**Heads up on compatibility:** Niko doesn't publish a spec for the doorbell's local API, so the REST endpoints are based on the common pattern for these devices and might need small path adjustments depending on firmware version. If you own one, I'd appreciate testers — issues/PRs welcome.