Platform error: camera - Requirements for ezviz not found: ['pyezviz==0.1.5']

Thanks to RenierM,

here’s my 2 cent, an updated lovelace card. just change the id of your camera.

camera_image: camera.c6t_d94199108
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: ezviz_cloud.ezviz_ptz
      service_data:
        direction: up
        entity_id: camera.c6t_d94199108
        speed: 5
    type: icon
  - icon: 'mdi:arrow-down'
    style:
      background: 'rgba(255, 255, 255, 0.5)'
      bottom: 0px
      right: 25px
    tap_action:
      action: call-service
      service: ezviz_cloud.ezviz_ptz
      service_data:
        direction: down
        entity_id: camera.c6t_d94199108
        speed: 5
    type: icon
  - icon: 'mdi:arrow-left'
    style:
      background: 'rgba(255, 255, 255, 0.5)'
      bottom: 25px
      right: 50px
    tap_action:
      action: call-service
      service: ezviz_cloud.ezviz_ptz
      service_data:
        direction: left
        entity_id: camera.c6t_d94199108
        speed: 5
    type: icon
  - icon: 'mdi:arrow-right'
    style:
      background: 'rgba(255, 255, 255, 0.5)'
      bottom: 25px
      right: 0px
    tap_action:
      action: call-service
      service: ezviz_cloud.ezviz_ptz
      service_data:
        direction: right
        entity_id: camera.c6t_d94199108
        speed: 5
    type: icon
  - icon: 'mdi:run-fast'
    style:
      background: 'rgba(255, 255, 255, 0.5)'
      top: 25px
      right: 25px
    tap_action:
      action: call-service
      service: ezviz_cloud.ezviz_switch_set
      service_data:
        entity_id: camera.c6t_d94199108
        switch: MOBILE_TRACKING
        enable: 1
      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: ezviz_cloud.ezviz_switch_set
      service_data:
        entity_id: camera.c6t_d94199108
        switch: MOBILE_TRACKING
        enable: 0
      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: ezviz_cloud.ezviz_switch_set
      service_data:
        entity_id: camera.c6t_d94199108
        switch: PRIVACY
        enable: 0
      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: ezviz_cloud.ezviz_switch_set
      service_data:
        entity_id: camera.c6t_d94199108
        switch: PRIVACY
        enable: 1
      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: ezviz_cloud.ezviz_switch_set
      service_data:
        entity_id: camera.c6t_d94199108
        switch: SOUND
        enable: 1
      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: ezviz_cloud.ezviz_switch_set
      service_data:
        entity_id: camera.c6t_d94199108
        switch: PRIVACY
        enable: 0
      confirmation: true
    type: icon
  - icon: 'mdi:brightness-5'
    style:
      background: 'rgba(255, 255, 255, 0.5)'
      right: 25px
      top: 100px
    tap_action:
      action: call-service
      service: ezviz_cloud.ezviz_switch_set
      service_data:
        entity_id: camera.c6t_d94199108
        switch: INFRARED_LIGHT
        enable: 0
    type: icon
  - icon: 'mdi:brightness-3'
    style:
      background: 'rgba(255, 255, 255, 0.5)'
      right: 0px
      top: 100px
    tap_action:
      action: call-service
      service: ezviz_cloud.ezviz_switch_set
      service_data:
        entity_id: camera.c6t_d94199108
        switch: INFRARED_LIGHT
        enable: 0
    type: icon
entity: camera.c6t_d94199108
type: picture-elements
1 Like

Hi, Does anyone know a way to get motion/recording triggers from the camera please? I want to record a clip locally to a NAS but only when motion is detected. Thanks

Love it! Thank you very much!! Is there any way to make it on a picture glance card? Then when you click on it the picture gets bigger… Probably not. Also cant get it to show the picture on the mobile app but the motion controls work!

Yes. In order to trigger it:
In a new automation:
under triggers click state then
under entity click the camera you want to record from
Leave everything else in the trigger section blank.

I’m pretty sure you have to make sure that alarm is NOT disabled in the app first.
If you have other cameras that record, use that in the action section.

Some help please.
I believe I have done everything as described and a camera entity is created. But I cant get any image. only grey as seen below.
image
The rtsp video and sound are working great.

1 Like

I think you have the same problem as me.
The local IP address of the camera is missing.

Please check your log file.
You should get the following error message:

2021-01-06 12:18:06 ERROR (stream_worker) [homeassistant.components.stream.worker] Error opening stream rtsp://admin:******@:554

The correct url should be rtsp://admin:******@192.168.x.xxx:554.

Unfortunately my question has not yet been answered, where we can define the local-ip address of the cam.

Yes indeed I have exactly the same error message.

I will wait for the definition of local ip.

Thank you!

I’m no expert and not sure if this is the correct way to do it, but on mine I can see the local IP as an attribute if I go to Dev tools/states and look the camera up,

alarm_schedules_enabled: false
alarm_sound_mod: MUTE_MODE
encrypted: true
local_ip: 192.x.y.z
battery_level: null
PIR_Status: 0
detection_sensibility: null

You may then be able to change an attribute using configuration/customizations (require advanced setting to be on) .
Above said, mine picked up the IP address automatically so does seem that there is something wrong if it is not doing that.

Thanks, I tried this and with no attribute in the tigger and it caused the automation to run every 5 minutes. Looking at the detail it seems like the access_token changes every 5 minutes and this triggers the automation. However reading @EnryDalo post above, I used the “Last Alarm Trigger” attribute and that works, sort of. Unfortunately it has about a 15 /20 second delay which is long enough that the motion could be finished by the time the recording starts. Would be ideal if the integration could pick up the motion detection trigger directly :slight_smile:

stream:
ffmpeg:
camera:
ezviz_cloud:
  cameras:
    E12345678: Serial number from camera
      username: admin
      password: Password_from_camera_sticker.
    E12345678: Serial number from camera 
      username: admin
      password: Password_from_camera_sticker.

The above is how I integrated the platform into my configuration yaml AFTER installing https://github.com/RenierM26/ha-ezviz from HACS.

Then this below is the automation to record video that I use. With a notification as well. Works pretty decent.

alias: Gate Record
description: ''
trigger:
  - platform: state
    entity_id: camera.husky_air_e12345678
    attribute: Last alarm triggered
condition: []
action:
  - service: camera.record
    data:
      entity_id: camera.husky_air_e12345678
      filename: /media/Gate/camera.mp4
      duration: 25
      lookback: 18
    entity_id: camera.husky_air_e12345678
  - service: notify.notify
    data:
      message: Gate
mode: parallel
max: 10

Tyvm! Good call. I never even noticed this as I was only checking soon after I intentionally walked by the camera. I edited my above post to reflect your change.

@Thranth, Thanks, does the lookback value work for you? It doesn’t seem to for me and I thought it needed a active HLS stream which I didn’t think this interrogation had, although I may have that wrong. For me lookback not working means that if the motion lasts less then c15 seconds, I miss it in the recorded clip. Also in your config you dont seem to have the lines for the ezviz account details so I wonder how it is working for youi at all! :slight_smile:

my config is:

ffmpeg:
stream:
camera:  
  - platform: ha-ezviz
    username: [email protected]
    password: !secret ezviz_app
    cameras:
      E23690947:
        username: admin
        password: !secret ezviz_cam1

Ok so now i see how it is working for you… I hadn’t realised that the name and config required has changed as I was just updating in HACS so I think I am still using ha-ezviz. Hold my beer… :slight_smile:

Ok so old ha-ezviz integration removed and updated one, and newer config installed and working fine, however the lookback value on the camera.record action still doesn’t work for me and the automation trigger is too slow to catch initial activity unfortunately.

@RenierM, now if we could access the SD stored files from the integration to off load them then the motion notification wouldn’t matter so much. :slight_smile: The Eziviz API documentation, what there is of it, suggests that it supports the function “Playback (video stored in SD card or Cloud Storage)” :slight_smile: Thanks for all your work on this

This is really encouraging to see this being developed!

I have successfully added my EZViz DB1 to HA - But really need the PIR exposed as a sensor so when motion has been detected I can trigger automation to turn on a light for example.

I know this basic functionality is available using IFTTT - but there is around a 10 - 20 second delay in the light coming on so currently not of much use for this purpose.

Has anyone made any cool love lace cards similar to that detailed in the original integration?

Hey @RenierM - Happy to help with any testing, I see you have been working on services so hopefully above support for exposing PIR as a sensor is on the roadmap?

Thanks in advance :slight_smile:

Works in mobile dashboard for me this way

Camera stream is a about 5 seconds in delay , so not much use i think.

Gotcha. Could be my phone then. But it works on my tablet. Thanks again! Everything you could want in a Lovelace card.

1 Like

Actually the PIR alarm alert triggers almost instantly, and the updated date / time stamp is available in home-assistant.

Last alarm triggered: Today 10:13:46

Ideally need a value or sensor to set PIR Triggered: true when it has triggered (but obviously needs something to set it back to false again after a period of time should another motion event occur, and must be possible if EZViz offer this as part of an IFTTT routine already.

I agree the video is slightly delayed, well at least from RSTP > love-lace, its around 15 / 20 seconds video streaming in the EZViz App seems to be OK.

i have doorbell DP1 , can work you integration ?
need put
username : mail
password: password app