mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-19 07:17:14 +00:00
Ezviz Update - New pull request includes Config flow. (#17364)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
This commit is contained in:
parent
0d3f1533eb
commit
6c389f3a67
@ -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
|
|
||||||
```
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user