diff --git a/source/_integrations/ezviz.markdown b/source/_integrations/ezviz.markdown index 16258a77cfd..0d66edf5144 100644 --- a/source/_integrations/ezviz.markdown +++ b/source/_integrations/ezviz.markdown @@ -8,6 +8,8 @@ ha_iot_class: Cloud Polling ha_domain: ezviz ha_codeowners: - '@baqs' + - '@RenierM26' +ha_config_flow: true ha_platforms: - camera --- @@ -17,231 +19,10 @@ It also exposes an RTSP stream, by using the local camera IPs (so the device hos 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 password for each camera is usually written near the QR code. This could be underneath the device or in the user manual. It is usually referred to as the camera "verification code". -The configuration (see below) needs your Ezviz username & password you use within the Ezviz mobile application. +{% include integrations/config_flow.md %} -Next, add the Ezviz camera to your `configuration.yaml` file like below: +Your cameras will now show under integration options as "discovered devices". Please complete the setup for each camera to see the video stream within Home Assistant. -```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 -``` +You can also change the camera options should you need to access a high or low res stream. Generally, though it will just work without any modification to options.