Ezviz Update - New pull request includes Config flow. (#17364)

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
This commit is contained in:
RenierM26 2021-04-10 13:30:01 +02:00 committed by GitHub
parent 0d3f1533eb
commit 6c389f3a67
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -8,6 +8,8 @@ ha_iot_class: Cloud Polling
ha_domain: ezviz ha_domain: ezviz
ha_codeowners: ha_codeowners:
- '@baqs' - '@baqs'
- '@RenierM26'
ha_config_flow: true
ha_platforms: ha_platforms:
- camera - 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). 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 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.
# 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
```