ONVIF Camera

The onvif camera platform allows you to use an ONVIF camera in Home Assistant. This requires the ffmpeg component to be already configured.


To enable your ONVIF camera in your installation, add the following to your configuration.yaml file:

# Example configuration.yaml entry
  - platform: onvif

Configuration Variables


(string)(Required)The IP address or hostname of the camera.


(string)(Optional)Override the name of your camera.

Default value: ONVIF Camera


(string)(Optional)The username for the camera.

Default value: admin


(string)(Optional)The password for the camera.

Default value: 888888


(integer)(Optional)The (HTTP) port for the camera.

Default value: 5000


(integer)(Optional)Video profile that will be used to obtain the stream, more details below.

Default value: 0


(string)(Optional)Extra options to pass to ffmpeg, e.g., image quality or video filter options. More details in ffmpeg component.

Default value: -q:v 2

Most of the ONVIF cameras support more than one audio/video profile. Each profile provides different image quality. Usually, the first profile has the highest quality and it is the profile used by default. However, you may want to use a lower quality image. One of the reasons may be that your hardware isn’t able to render the highest quality image in real-time, especially when running on Raspberry Pi. Therefore you can choose which profile do you want to use by setting in config profile variable.

Service camera.onvif_ptz

If your ONVIF camera supports PTZ, you will be able to pan, tilt or zoom your camera.

Service data attribute Description
entity_id String or list of strings that point at entity_ids of cameras. Else targets all.
tilt Tilt direction. Allowed values: UP, DOWN, NONE
pan Pan direction. Allowed values: RIGHT, LEFT, NONE
zoom Zoom. Allowed values: ZOOM_IN, ZOOM_OUT, NONE

If you are running into trouble with this sensor, please refer to the Troubleshooting section.