Eufy Security Integration

The new push notification content (I guess you mean the new Event Image entity) is not reliable. The entity update timestamp is updated sometimes only, but the image/thumbnail never is, at least in the integration I have. Actually, I am still doing tests with the standard camera entity due to that, which it still works (with the help of an automation which includes a Eufy Security: Start Live Stream over RTSP service call).

As you can see in the following screeshot, the entity change timestamp is from earlier today, despite I have been doing tests until a few minutes ago (local time now is 13:10). In addition, the photo is dated yesterday at about 08:40, before I updated to the latest release:

Event Image ok

Thank you! Happy to provide whatever is necessary to move forward on this issue. :slight_smile:

Just some further feedback after performing some tests with my Synology NAS. Added a camera as RTSP in Synology’s Surveillance Station. Surveillance Station records the feed at the same moment that RTSP stream is enabled. No delay at all. Both the eufy app event history and Synology clip files has the same starting keyframe/timestamp. I will try to create a workflow for fetching such clips into HASS so I can manage them as needed. However, this will require to purchase two Surveillance Station licenses. My NAS has 2 free licenses included, but I have 4 eufy cams.

Having said that, as far as I understand and according to this test, it should be possible to replicate this with the addon/integration, for not being needed to include Synology as a workflow player, shouldn’t be? I’d rather to have in the workflow as less devices as possible. Workflow would be simpler and there would be less failure points.

You can do the same with frigate. No license required.

Can you explain the breaking change a little bit more? Currently I don’t get it.

The camera entity is now not getting event updates anymore and will show the last manually streamed picture forever? Hm, don’t know if this is what many users are using.

And the event picture entity is getting the pictures I had before and/or I have in the eufy app? O.k. This is what I used and want to see and so we have to rework the conditional cards to have what we had before: last event from image entity and the stream from camera.

I can live with all this, but where is the adventage or need?

And FYI: the image entity is on the one hand getting the last event. But as entity state the time stanp from every action of the cam, so manual stream timestamp as well. Somehow confusing.

Some people were interested to keep latest snapshot from stream and some not. Separating them should fulfill both needs.

This is a breaking change for your automations and dashboards, you need to rework them. On the other hand, i want to change image entity to camera entity because it allows easier notifications.

I am open to suggestions.

Good idea. Will try Frigate to check whether streams start at the same keyframe. If so, it should work for the purpose. In addition, this will help to keep all the workflow in the same machine, so there will not be two points of potentail failure. Thanks!

Question, I get the same still image when my doorbell rings. I never get the actual image att. It just stays/says idle. Is there anyway to get the actual image of the person ringing the doorbell.

1 Like

Update*

I restarted the rtsp and it started streaming but later it went back idle. I looked at the logs and I found this:
anyway to get it back?

Update
I figured out the live stream as it was P2P for the live stream.
Is there a way to use the “person name” as a condition if it is a person i have set to be known. so it wont notify me if it is my kids as example

alias: Doorbell Motion Activated
description: ""
trigger:
  - type: motion
    platform: device
    device_id: f195696242e772292132a82323742c26
    entity_id: 144af4dd52626943218e22a3fc5a0f4f
    domain: binary_sensor
  - type: motion
    platform: device
    device_id: f195696242e772292132a82323742c26
    entity_id: f3b63e557a11089f4ff1be6614c72512
    domain: binary_sensor
condition:
  - condition: state
    entity_id: sensor.doorbell_person_name
    state: unknown
action:
  - if:
      - condition: sun
        after: sunset
    then:
      - service: light.turn_on
        data: {}
        target:
          entity_id: light.front_porch_light
  - service: button.press
    data: {}
    target:
      entity_id: button.doorbell_start_p2p_stream
  - service: camera.snapshot
    data:
      filename: /config/www/frontdoor.jpg
    target:
      entity_id: camera.doorbell
  - service: notify.fire_tv_mb
    data:
      message: There is someone at the door!
      title: Front Door
      data:
        duration: 25
        fontsize: large
        color: green
        position: bottom-right
        file:
          path: /config/www/frontdoor.jpg
  - service: media_player.play_media
    data:
      media_content_id: /local/frontdoor.jpg
      media_content_type: image/jpeg
    target:
      entity_id: media_player.google_nest
  - service: notify.mobile_app_homeking
    data:
      message: There is someone at the door
      title: "Doorbell "
      data:
        image: /local/frontdoor.jpg
        entity_id: camera.doorbell
        actions:
          - action: URI
            title: View Doorbell
            uri: /mobile-app/cameras
  - if:
      - condition: zone
        entity_id: person.precioussakura
        zone: zone.home
    then:
      - service: notify.mobile_app_precioussakura_2
        data:
          message: There is someone at the door
          title: "Doorbell "
          data:
            image: /local/frontdoor.jpg
            entity_id: camera.doorbell
            actions:
              - action: URI
                title: View Doorbell
                uri: /mobile-app/cameras
mode: restart
1 Like

As said. I can live with everything and appreciate all your effort.

But I didn’t read such latest stream/snapshot that often in the past (on this thread since the beginning) and wonder, if it wouldn’t be a better idea to introduce a new picture entity of latest stream/snapshot and leave the camera as is (latest event). => No breaking change and it would work like everyone is used to have it in the eufy app as well.

1 Like

You are right from your own experience but people without correctly functioning event notifications, they used to rely on camera based snapshot capturing which was removed earlier hoping that event notifications would work for all finally.

Again, let’s hear different voices and happy to introduce further changes

I just tested with Frigate. It “works”. However, the generated clip does not start at the moment the motion is actually starting, something that Synology Surveillance Station does. Frigate is not capturing the first 7-8" of the stream, something that makes this option useless. Perhaps Frigate monitors RTSP streams recovery every n seconds. Any advise, please? Have you tried this with Eufy battery cameras as well, which are not RTSP’ing until motion is detected? Any frigate.yml parameter I could missing for the magic to happen?

I would be happy to just stick to the Synology workflow. However, a problem I have with that is that folder_watcher is not triggering upon files creation, unless the files are being created in the HASS side of the remote folder. I am asking about this specific topic here.

This has broken my automations, phone notifications and dashboard as you had suggested. Speaking of which: GitHub - fuatakgun/eufy_security: Home Assistant integration to manage Eufy Security devices as cameras, home base stations, doorbells, motion and contact sensors. ← this example conditional card probably needs updating.

For the time being I am still using v6.3.3 before the breaking changes as it seems there may still be some changes ahead. To me, unless these changes are solving a problem for a majority, I would leave frequent image updates occurring on the camera entity and have those others looking for different functionality to use the new image entity.

I’m indifferent in which entity I can see the last streamed picture/ snapshot taken, I can easily adjust my Node-RED flows and dashboards.

For me this split is ideal, as the notification picture of my two 2C cams is not reliable (same as with @sesardelaisla), despite having working notifications from the cams. I use the person/ motion detected for my Node-RED flows, and they work flawlessly.

Can you explain this? Here (many 2Cs as well) the picture shown in the integration and camera entity was always and 100% the one the eufy app has shown as well, when I open it. That means the picture from the last event. And now this is not the case anymore and somehow confusing.

1 Like

I own 4 pieces of 2c cameras attached to home base 2, one piece of pan/tilt and one piece of s100 wall light.

Wall light and pan/tilt are working very well with notification based images.
One or two of 2c cameras are not updating the image inside home assistant as they do in eufy app, so I needed stream based snapshots to get something out of it.

I couldn’t found out how to use the new image entity picture in a picture elements card
 I was using this before the image entity:

show_state: true
show_name: true
camera_view: auto
type: picture-entity
entity: camera.on_kapi
tap_action:
  action: call-service
  service: camera.turn_on
  data: {}
  target:
    entity_id: camera.on_kapi
camera_image: camera.on_kapi

When i change the entity to this, it still doesn’t show the image entity:

entity: image.on_kapi_event_image

Finally, I managed to get a reliable workflow with Synology. Instead of mounting the NAS folder in HASS, I setup the remote HASS folder in Synology Surveillance Station as the main storage for every camera. For whatever reason I still don’t understand, the first option is not detected by the automation trigger. It works for the purpose, although it would be great to have the possibility to fetch the motion detected videos from eufy addon/integration instead. I wish developers can do this in a near future. I actually asked this in Github, as mentioned in an eariler post here, to see whether I get some feedback when able. I did it in Bropat’s addon Github, as I think that such request is related with the addon, not with the integration.

Going back to the stream capture topic, I am interested in knowing whether someone else has managed to get a motion detected clip which starts at the same time that the actual eufy clip starts in their mobile application (or almost at least). I have tried capturing with the addon/integration RTSP stream start service, MotionEye and Frigate. According to my tests, none of them are able to create a usable clip which contains the first seconds of motion detection.

Apart from this, suddenly, the new image entity seems to be updated correctly. Not sure why it didn’t after updating. Perhaps some sort of cache issue


Hello Community, i am trying to install the Integration.
I installed RTSP Simple Server Add-on and wanted the install the eufy Security Integration. I then get asked for a ip and port. 127.0.0.1 is set. I tried leaving the default but it says “IP and Port is wrong”. I Then tried putting in the Homeassistant IP. That was wrong aswell. The IP of the Homebase 2 was wrong as well
 What IP does thie Integration want? Whats my Web Socket instance?
Thanks in advance!

Edit:// I found out that i have to put in the IP of my HA and the Port that i setup in RTSP Simple Server Add-On, or? I did that, but it still didnt work. In the Logs of RTSP Simple Server i receive a:

2023/08/07 16:13:14 I [0/0] [RTSP] [conn 192.168.178.91:49370] opened
2023/08/07 16:13:14 I [0/0] [RTSP] [conn 192.168.178.91:49370] ERR: invalid URL (/)
2023/08/07 16:13:14 I [0/0] [RTSP] [conn 192.168.178.91:49370] closed

On the readme, you will find a detailed diagram, it should give you some direction