Skip to content
Home Assistant TestFlight
Security & safety

ONVIF

onvif

Built inLocal push

The ONVIF integration allows you to use an ONVIF Profile S conformant device in Home Assistant. This requires the ffmpeg integration to be already configured.

In Apple Home through HomeKit Bridge

What HomeKit Bridge makes of each kind of entity this integration creates, read from its source code. A device only gets the ones that apply to it.

EntityShows up asNote
switchSwitch or outlet
cameraCameraNeeds its own HomeKit Bridge in accessory mode
binary_sensorSensor (motion, contact, leak, smoke…)
sensorSensor (temperature, humidity, air quality…)
buttonButton (as a switch)

2 reports below say how a device from this integration behaves in the Home app.

What people report

IP cameras and NVRs from Tapo, Hikvision, Reolink and others work locally. Camera firmware quirks and NVR regressions cause occasional event or setup failures.

  • Works12
  • Partly works3
  • Not working1
  • Requested1
DeviceIn Home AssistantIn Apple HomeWhat they saidSource
Amcrest AD410 video doorbellWorks LocalONVIF; works with Synology NVR and Frigate
Saved copy
I have the second version of the Amcrest unit, AD410. It has a great picture and is Onvif compatible so it works with my Synology NVR and Frigate just fine.

Excerpt saved from the Arctic Shift Reddit archive on 2026-10-23.

Reddit comment · 2023-12
Dahua / Amcrest camerasWorks LocalStandards-compliant, 100% local; Loryta rebrands and Amcrest AD410 doorbell work well
Saved copy
I second Dahua over Reolink. Dahua are standards-compliant and 100% local, whereas only some of Reolink cameras are ONVIF-compliant.

Excerpt saved from the Arctic Shift Reddit archive on 2026-10-23.

Reddit comment · 2025-09
Dahua DH-IPC-HUM8441-E1-L4 pinhole cameraWorks LocalRecommended: fully ONVIF compliant with edge AI features
Saved copy
Look into Dahua DH-IPC-HUM8441-E1-L4 and similar pinhole cameras. This particular model is WizMind series so pretty advanced edge ai features built in, and fully ONVIF compliant.

Excerpt saved from the Arctic Shift Reddit archive on 2026-10-23.

Reddit comment · 2025-08
Reolink camerasWorksMost reliable cameras in one user's Frigate setup
Saved copy
Just my curiosity, not an indictment of your project, but what about Frigate didn’t work for you? I get that the detection native to the cameras was good enough for you, but the inconsistent RTSP stream part is odd to me. I have Reolink cameras with Frigate and they’re easily the most reliable ones in my setup other than maybe a very dumb hardwired Dahua.

Excerpt saved from the Arctic Shift Reddit archive on 2026-10-23.

Reddit comment · 2026-07
Reolink E1 OutdoorWorksUsed ONVIF for PTZ control
Saved copy
Just got my first Reolink E1 Outdoor set up and deployed yesterday and now I know why so many HA users recommend them. I used ONVIF instead of the Reolink Integration because I wanted control over the PTZ. Very impressive and I definitely plan on replacing more of my cams with Reolinks!

Excerpt saved from the Arctic Shift Reddit archive on 2026-10-23.

Reddit comment · 2024-12
Reolink NVRWorks LocalUnknown error after firmware 3.0.0.148 later cleared
Saved copy
The problem After upgrading Reolink NVR for v3.0.0.148_21100909 firmware. Logger: aiohttp.server Source: components/onvif/config_flow.py:198 First occurred: 16:05:14 (1 occurrences) Last logged: 16:05:14 Error handling request Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/httpx/_transports/default.py", line 61, in map_httpcore_exceptions yield File "/usr/local/lib/python3.9/site-packages/httpx/_transports/default.py", line 281, in handle_async_request ) = await self._pool.handle_async_request( File …

Excerpt saved from GitHub on 2026-10-23.

Issue #58702 · 2021-10
Reolink package detection and Hikvision alarmWorks LocalParser support added
Saved copy
Proposed change Add onvif parser support for reolink package and hikvision alarm ## Type of change - [ ] Dependency upgrade - [ ] Bugfix (non-breaking change which fixes an issue) - [ ] New integration (thank you!) - [X] New feature (which adds functionality to an existing integration) - [ ] Deprecation (breaking change to happen in the future) - [ ] Breaking change (fix/feature causing existing functionality to break) - [ ] Code quality improvements to existing code or addition of tests ## Additional information - This PR fixes or closes issue: fixes #140585 - This PR is related to issue: …

Excerpt saved from GitHub on 2026-10-23.

PR #140669 · 2025-03
Sricam cameraWorks LocalCameras without SnapshotUri fixed
Saved copy
Fix Onvif Camera that does not have SnapshotUri such as Sricam ([@Minims] - [#33902]) ([onvif docs]) - Make homekit aware of DEVICE_CLASS_GATE ([@bdraco] - [#33936]) ([homekit docs]) - Fix powerwall units (kW) ([@bdraco] - [#33954]) ([powerwall docs]) - Fix turning off/on light groups in homekit ([@Knapoc] - [#33965]) ([homekit docs]) - Update pyipp to 0.9.2 ([@ctalkington] - [#33967]) ([ipp docs]) - Handle 304 http responses in nexia ([@bdraco] - [#33972]) ([nexia docs]) - Fix shutdown timeout and make it upstream with Supervisor ([@pvizeli] - [#33973]) - Cleanup ZHA group entity lifecycle …

Excerpt saved from GitHub on 2026-10-23.

PR #33985 · 2020-04
TP-Link cameras person/vehicle detectionWorks LocalPerson and vehicle events parsed
Saved copy
Proposed change Add parser support for tp-link person and vehicle detection. ## Type of change - [ ] Dependency upgrade - [ ] Bugfix (non-breaking change which fixes an issue) - [ ] New integration (thank you!) - [X] New feature (which adds functionality to an e

Excerpt saved from GitHub on 2026-10-23.

PR #130769 · 2024-11
TP-Link Tapo C200 cameraWorks LocalMotion events failed on newer firmware; fixed, issue closed
Saved copy
Working firmware table : https://github.com/JurajNyiri/HomeAssistant-Tapo-Control/issues/312#issue-1664283878 ### The problem Hello. I have 2 different cameras: 1 C200 running on 1.3.5 Build 230307 Rel.6847n(4555) contains string 'hol' in it's name 1 C210 running on 1.3.0 Build 220830 Rel.69909n(4555) contains string 'living' in it's name For some time, the motion sensor from C200 is not working. Usually when I had this issue, it was fixed after a restart of HA or reboot of the camera. The C210 one is still working as expected. I have enabled the debug on the two entities and got the attached …

Excerpt saved from GitHub on 2026-10-23.

Issue #91661 · 2023-04
TP-Link Tapo C210 cameraWorks LocalMotion events failed on fw 1.3.3; pull-point fix worked
Saved copy
Working firmware table : https://github.com/JurajNyiri/HomeAssistant-Tapo-Control/issues/312#issue-1664283878 ### The problem Hello. I have 2 different cameras: 1 C200 running on 1.3.5 Build 230307 Rel.6847n(4555) contains string 'hol' in it's name 1 C210 running on 1.3.0 Build 220830 Rel.69909n(4555) contains string 'living' in it's name For some time, the motion sensor from C200 is not working. Usually when I had this issue, it was fixed after a restart of HA or reboot of the camera. The C210 one is still working as expected. I have enabled the debug on the two entities and got the attached …

Excerpt saved from GitHub on 2026-10-23.

Issue #91661 · 2023-04
TP-Link VIGI PoE camerasWorks LocalONVIF integration exposes motion sensors; also Reolink via ONVIF
Saved copy
My setup goes like this: * PoE cameras with ONVIF capabilities and added those cameras using the ONVIF HA integration if you need it's motion sensors exposed as entities. Reolink has ONVIF, I use TP-Link VIGI which also has ONVIF. Disabled it's camera entities. * For NVR, AgentDVR (freemium, running on a Debian VM) which I added as a Home Assistant Integration. Camera feed (which is smooth on LAN access) and arming controls are exposed to HA. They will recommend Frigate, but I don't have any experience using it. * PoE cameras and AgentDVR are on an internet-blocked VLAN. I did this just to …

Excerpt saved from the Arctic Shift Reddit archive on 2026-10-23.

Reddit comment · 2024-05
Hikvision DS-7216HGHI-E1 DVRPartly works LocalOld firmware has bad HTTP, logs errors; update firmware
Saved copy
Hi @bdraco Yes I have 2 hikvision dvr the one is DS-7216HGHI-E1 firmware V3.4.1 build 160325 and the config for every camera is as follow platform: generic name: "Kombuis" still_image_url: "http://192.168.xx.xx:8080/ISAPI/Streaming/channels/802/picture" stream_source: "rtsp://user:[email protected]:554/Streaming/Channels/801" verify_ssl: false username: !secret hik_username password: !secret hik_password authentication: digest the 2nd one is DS-7216HQHI-K2 firmware V4.21.100 build 200307 using the ONVIF integration If I can help to debug let me know

Excerpt saved from GitHub on 2026-10-23.

Issue #92892 · 2023-05
ONVIF cameraPartly worksPartly in Home
Camera should be paired in accessory mode, else shows as presence sensor
Camera exposed to HomeKit needs accessory mode pairing
Saved copy
… the only thing I did it was installing the HomeKit integration. Under Notifications, I found two HomeKit codes, one for the HASS Bridge and another for ONVIF S camera. HomeKit showed both devices and allowed me to enter both codes and the ONVIF S worked perfectly until it does didn’t. Deleting the camera and adding it back, it showed up as a presence device. It initially went so smooth that I didn’t think configuration was required. I will have a look at the documentation. Thanks, Paul > On May 23, 2021, at 6:28 AM, J. Nick Koston *@*.*> wrote: > >  > Are you setting up the camera in …

Excerpt saved from GitHub on 2026-10-23.

Issue #50950 · 2021-05
ONVIF camera IP2M-841BPartly worksPartly in Home
Works on iPhone and Mac; Apple Watch stream shows Unavailable
Maintainer: Apple Watch not yet supported, needs multiple streams or lower resolutions
Saved copy
The problem I have an onvif camera configured via the Home Assistant UI (Model: IP2M-841B) and shared via the HomeKit integration, and so far, it works great from my MacBook Pro and iPhone! However, every time I try to view the stream from my Apple Watch, it almost always immediately says "Unavailable". The preview image, however, does always get updated. ## Environment - Home Assistant Core release with the issue: 0.110.1 - Last working Home Assistant Core release (if known): N/A - Operating environment (Home Assistant/Supervised/Docker/venv): `venv` in FreeBSD - Integration causing this …

Excerpt saved from GitHub on 2026-10-23.

Issue #35992 · 2020-05
Generic ONVIF NVR/XVRNot working LocalSetup failed after 2025.7.1 for NVRs/XVRs; closed stale
Saved copy
The problem Hi, after latest update I always recive this message error: Registratore: homeassistant Fonte: components/onvif/event.py:377 Prima occorrenza: 09:50:21 (6496 occorrenze) Ultimo accesso: 10:17:26 Error doing job: Task exception was never retrieved (None) Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/onvif/event.py", line 377, in _async_pull_messages response = await service.PullMessages( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... ... ) ^ File "/usr/local/lib/python3.13/site-packages/zeep/proxy.py", line 64, in call return await …

Excerpt saved from GitHub on 2026-10-23.

Issue #148392 · 2025-07
ONVIF DeviceIO relay outputsRequested LocalRelay output PR closed without merge
Saved copy
Description This PR adds support for ONVIF DeviceIO relay outputs, enabling Home Assistant to detect and control camera relay-connected devices like IR LEDs and IR cut filters. ## What this PR does - Relay Detection: Automatically discovers relay outputs via DeviceIO `GetRelayOutputs` - Switch Entities: Creates switch entities for each detected relay - Relay Control: Enables on/off control via `SetRelayOutputState` ## Use Cases Control camera relay-connected devices: - IR LEDs (night vision illumination) - IR Cut Filter (day/night mode switching) - External lights, sirens, or other …

Excerpt saved from GitHub on 2026-10-23.

PR #161480 · 2026-01

Gathered from GitHub issues, pull requests, discussions and docs, and from r/homeassistant. These are individual reports, so check the linked thread and the date before you buy.

How it connects

Local push

Talks to the device on your network, and the device tells Home Assistant the moment something changes.

Found automatically over

  • DHCP

Details

Installs (analytics)29,173 (4.12%)
Added inHome Assistant 0.47
Set up in the UIYes
Maintainers@jterrace

Devices listed in its documentation

  • Topic(s)
  • Motion alarm
  • Field detection
  • Cell motion detection
  • Human shape detection
  • Motion region detector
  • Detected sound
  • Digital input
  • Relay triggered
  • Image too blurry
  • Image too dark
  • Image too bright
  • Global scene change
  • Tamper detector
  • Storage failure
  • Recording job state
  • Processor usage
  • Last reboot
  • Last reset
  • Last Clock Synchronization
  • Last Backup

In ReReHome

Whatever HomeKit Bridge shares reaches Apple Home as normal HomeKit accessories behind your Home Assistant bridge, so ReReHome shows and controls them like any other.

Bridges get their own settings page listing the accessories behind them.