---
title: Ezviz
description: Integrate Ezviz camera within Home Assistant.
ha_release: 0.107
ha_category:
  - Camera
ha_iot_class: Cloud Polling
ha_domain: ezviz
ha_codeowners:
  - '@baqs'
---

The `ezviz` sensor platform uses the EzvizLife API to interact with the devices.
It also exposes an RTSP stream, by using the local camera IPs (so the device hosting Home Assistant has to be able to access the local IP of the cameras).

As there is no official documentation for the API, the component retrieves data from the API used in the Ezviz mobile app, [hosted here](https://apiieu.ezvizlife.com).

## Configuration

The configuration (see below) needs your Ezviz username & password you use within the Ezviz mobile application.

Next, add the Ezviz camera to your `configuration.yaml` file like below:

```yaml
# Example configuration.yaml entry
camera:
  - platform: ezviz
    username: YOUR_USERNAME
    password: YOUR_PASSWORD
    cameras:
      D12345678:
        username: YOUR_CAMERA_USERNAME
        password: YOUR_CAMERA_PASSWORD
```

As you see, here is the way to describe the camera credentials.
The password for each camera is usually written underneath the device, near the QR code. It is also code "verification code".

{% configuration %}
username:
  description: The Ezviz account username.
  required: true
  type: string
password:
  description: The Ezviz account password.
  required: true
  type: string
cameras:
  description: A list of cameras
  required: false
  type: string
  serial:
    description: The Ezviz camera Serial, usually a letter followed by 8 digits.
    required: true
    type: string
    username:
      description: The Ezviz camera RTSP username.
      required: true
      type: string
    password:
      description: The Ezviz verification code.
      required: true
      type: string
{% endconfiguration %}

## Lovelace

If you want a shiny Lovelace card, with proper buttons, here is a snippet of a Lovelace card:

```yaml

camera_image: camera.c6n_d12345678
camera_view: live
elements:
  - icon: 'mdi:arrow-up'
    style:
      background: 'rgba(255, 255, 255, 0.5)'
      bottom: 50px
      right: 25px
    tap_action:
      action: call-service
      service: camera.ezviz_ptz
      service_data:
        direction: up
        entity_id: camera.c6n_d12345678
    type: icon
  - icon: 'mdi:arrow-down'
    style:
      background: 'rgba(255, 255, 255, 0.5)'
      bottom: 0px
      right: 25px
    tap_action:
      action: call-service
      service: camera.ezviz_ptz
      service_data:
        direction: down
        entity_id: camera.c6n_d12345678
    type: icon
  - icon: 'mdi:arrow-left'
    style:
      background: 'rgba(255, 255, 255, 0.5)'
      bottom: 25px
      right: 50px
    tap_action:
      action: call-service
      service: camera.ezviz_ptz
      service_data:
        direction: left
        entity_id: camera.c6n_d12345678
    type: icon
  - icon: 'mdi:arrow-right'
    style:
      background: 'rgba(255, 255, 255, 0.5)'
      bottom: 25px
      right: 0px
    tap_action:
      action: call-service
      service: camera.ezviz_ptz
      service_data:
        direction: right
        entity_id: camera.c6n_d12345678
    type: icon
  - icon: 'mdi:run-fast'
    style:
      background: 'rgba(255, 255, 255, 0.5)'
      top: 25px
      right: 25px
    tap_action:
      action: call-service
      service: camera.ezviz_switch_follow_move_on
      service_data:
        entity_id: camera.c6n_d12345678
      confirmation: true
    type: icon
  - icon: 'mdi:run'
    style:
      background: 'rgba(255, 255, 255, 0.5)'
      top: 25px
      right: 0px
    tap_action:
      action: call-service
      service: camera.ezviz_switch_follow_move_off
      service_data:
        entity_id: camera.c6n_d12345678
      confirmation: true
    type: icon
  - icon: 'mdi:eye'
    style:
      background: 'rgba(255, 255, 255, 0.5)'
      right: 25px
      top: 50px
    tap_action:
      action: call-service
      service: camera.ezviz_switch_privacy_off
      service_data:
        entity_id: camera.c6n_d12345678
      confirmation: true
    type: icon
  - icon: 'mdi:eye-off'
    style:
      background: 'rgba(255, 255, 255, 0.5)'
      right: 0px
      top: 50px
    tap_action:
      action: call-service
      service: camera.ezviz_switch_privacy_on
      service_data:
        entity_id: camera.c6n_d12345678
      confirmation: true
    type: icon
  - icon: 'mdi:volume-high'
    style:
      background: 'rgba(255, 255, 255, 0.5)'
      right: 25px
      top: 75px
    tap_action:
      action: call-service
      service: camera.ezviz_switch_audio_off
      service_data:
        entity_id: camera.c6n_d12345678
      confirmation: true
    type: icon
  - icon: 'mdi:volume-off'
    style:
      background: 'rgba(255, 255, 255, 0.5)'
      right: 0px
      top: 75px
    tap_action:
      action: call-service
      service: camera.ezviz_switch_audio_on
      service_data:
        entity_id: camera.c6n_d12345678
      confirmation: true
    type: icon
  - icon: 'mdi:led-on'
    style:
      background: 'rgba(255, 255, 255, 0.5)'
      right: 25px
      top: 100px
    tap_action:
      action: call-service
      service: camera.ezviz_switch_state_off
      service_data:
        entity_id: camera.c6n_d12345678
      confirmation: true
    type: icon
  - icon: 'mdi:led-off'
    style:
      background: 'rgba(255, 255, 255, 0.5)'
      right: 0px
      top: 100px
    tap_action:
      action: call-service
      service: camera.ezviz_switch_state_on
      service_data:
        entity_id: camera.c6n_d12345678
      confirmation: true
    type: icon
  - icon: 'mdi:brightness-4'
    style:
      background: 'rgba(255, 255, 255, 0.5)'
      right: 25px
      top: 100px
    tap_action:
      action: call-service
      service: camera.ezviz_switch_ir_off
      service_data:
        entity_id: camera.c6n_d12345678
      confirmation: true
    type: icon
  - icon: 'mdi:brightness-5'
    style:
      background: 'rgba(255, 255, 255, 0.5)'
      right: 0px
      top: 100px
    tap_action:
      action: call-service
      service: camera.ezviz_switch_ir_on
      service_data:
        entity_id: camera.c6n_d12345678
      confirmation: true
    type: icon
entity: camera.c6n_d12345678
type: picture-elements
```
