New integration: Ezviz camera (#11596)

* New integration: Ezviz camera

* lovelace card example

* Tweaks and adjustments

* Tweaks and adjustments

* ✏️ Typo

Co-authored-by: Pierre <baqs@users.github.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
This commit is contained in:
Pierre 2020-03-10 15:53:36 +01:00 committed by GitHub
parent 41bb6c3f92
commit 9fc2061c77
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 244 additions and 0 deletions

View File

@ -0,0 +1,244 @@
---
title: "Ezviz Camera"
description: "Integrate Ezviz camera within Home Assistant."
logo: ezviz.png
ha_release: 0.107
ha_category:
- Camera
ha_iot_class: Cloud Polling
ha_domain: ezviz
---
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
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB