Eufy Camera Integration

Why and how do you think I am aware of this? I just saw your comment, checked the previous integration naming and understood the issue.

O.k. Then sorry for this. Thought this fast

I agree, this is due to using the same internal name eufy_security .

was an info, that it was known.

I will update installation steps with this as warning, thanks for letting me know

So you will stay on the old existing name? And I can only delete my up and running integration for being able to test your one instead of only deactivating it? O.k. then I will skip this test for now.

If i rename into something else now, it will impact more than 20 people (that is what I know, there can be more), I should have planned better but I do not want to mess it now for everyone.

Please use new post if your question is about new add on and integration : Eufy Security Integration

I don’t want to bloat here, we can use this one to track @bachya 's implementation.

1 Like

Yes i meant, i have to use the service “camera.turn_off” then i can retry to view the live picture and then it works, after it, i always have to turn the camera off…
But i see you released a new version in hacs
Will see if that fixes it

You mean, instead of using picture-glance, use picture-entity?
Will try that yes

Any idea why the camera for the doorbell isnt working like that?

Willing to share your automations you created?

I have no specific automation yet :slight_smile: just trying to improve the integration.
camera doorbell might also work, but p2p streaming is very slow, at least 10 seconds delay. maybe, you need to click on camera image and wait enough.

regarding to turn_off, I do not have a solution in place.

thx for the info

Would love to see a ‘simple’ intergration

You mean, no add on? I don’t see any point of investing time to duplicate existing functionality from node to python, but if you have concrete ideas, i am happy to listen.

I’m new here and I still gotta get used to the terminology :sweat_smile:
I was hoping that the camera functionality would be added to the existing Eufy integration.
To make is as easy as possible to add new devices.

Just some potentially useful set-up info for people using @anon63427907 & @bropat 's integration/docker container.

I’ve got my doorbell live stream down to about 2-4 second delay using WebRTC to display the RTSP camera feed using this integration: GitHub - AlexxIT/WebRTC: Home Assistant custom component for viewing IP cameras RTSP stream in real ti

The lovelace card:

I added the additional command mse: false because quite often it would load the MSE stream then stutter for another second before loading WebRTC but your results may vary, anywho - this is my card:

type: custom:webrtc-camera
entity: camera.doorbell
mse: false

I’ve also utilized the lovelace conditional card so the WebRTC feed only displays on the dashboard when the camera is actually streaming. Eg:

type: conditional
conditions:
  - entity: camera.doorbell
    state: Streaming - p2p
card:
  type: custom:webrtc-camera
  entity: camera.doorbell
  mse: false

and I’ve set-up another card which displays the last event detected by the doorbell (this still image is coming from this integration for now: matijse/eufy-ha-mqtt-bridge). This is also a conditional card and this displays when the camera is NOT streaming video. To activate video, I simply click on the pic which triggers script.eufy_doorbell_rtsp_reload that I’ve created that calls the eufy_security.stop_livestream & eufy_security.start_livestream service.

Conditional card with script call:

type: conditional
conditions:
  - entity: camera.doorbell
    state: Idle
card:
  type: picture-glance
  entities: []
  camera_image: camera.doorbell_last_event
  tap_action:
    action: call-service
    service: script.eufy_doorbell_rtsp_reload
    service_data: {}
    target: {}

Script:

alias: Eufy Doorbell RTSP Reload
sequence:
  - service: eufy_security.stop_livestream
    target:
      entity_id: camera.doorbell
  - service: eufy_security.start_livestream
    target:
      entity_id:
        - camera.doorbell
mode: single
2 Likes

Thanks for sharing, one improvement, you do not need eufy ha mqtt integration for your picture-glance card. You can give camera entity name as picture url like below;

type: picture-glance
entities: []
camera_image: camera.entrance_camera

Can you create a PR to include this improvement into README section?

One call-out here, i encapsulated @bropat’s docker as home assistant add on, without adding any value and I would be happy to handover the add-on to him :slight_smile:

I am too lazy to integrate this into core system, moreover this integration is still in very early stage, not ready yet in terms of stability. If i have built this into core, you needed to wait for next release to get fixes. on the other hand, someone might claim that if it was part of core, the issues wouldn’t exist at all.

1 Like

Also, we can’t use the same integration unfortunately. The underlying library for the Eufy component only supports lights/switches. It would require a major rework to get it to support all the Eufy Security does. Blame Eufy for their segmentation of all their apps/protocols.

1 Like

Ah yes, I tried the picture-glance option for ‘last event’ image yesterday and it seemed to just display a still from the last video capture, with the time stamp up in the top right corner. But I’ve tried again tonight and it’s working perfectly :smiley: Time to decommission the eufy mqtt container!

I’ll get the PR submitted and will exclude the mqtt mention :wink:

One thing that’s still not working great; when I first start @Bropat 's docker container the livestream seems to work fine. I have a Home Assistant automation to stop the stream after 2.50 mins (I read about 3 min hard limit somewhere a while back…)

However when I attempt to start the stream again a few minutes/hours later, I get the below error:

2021-08-11 20:19:10.471  ERROR Message error 
 LivestreamAlreadyRunningError  Livestream for device T8200N00XXXXXXX is already running
details:
{
  name: 'LivestreamAlreadyRunningError'

Sometimes the stream will work but mostly it doesn’t until I perform a restart of the docker container.

I’ve also noticed that motion detection from the doorbell via the Eufy app stops working when the container is running. (I’m using a seperate eufy account exclusively for the docker container)
eg. I don’t get any motion detection notifications to my phone when someone is standing by my door.

Unfortunately it’s stuck with the still image from last video capture again instead of last ‘event’. It only goes back to ‘last event’ when Home Assistant is restarted. Should I submit an issue for this on @anon63427907 or @bropat 's github?

No that is a feature, if there is no live event, you will see latest capture image but when live stream starts, it will update itself from video. Until a new event arrives, it will stay there.

So, even though you are receiving a new event (notification) is not it updated?