Help with Integrating Eufy Doorbell

I’ve had troubles setting up the Eufy Doorbell 2k - Battery with HA. I was able to get the Entities integrated, but getting the P2P video was such a pain, I gave up.

If anyone else has had success with P2P, would be also appreciative of any insights.

2 Likes

There is no real support from Eufy for HA. It’s all a community plugin maintained by I think one person who puts a lot of his free time into it. He’s done some amazing work. It would be great if Eufy would standup and actually offer more support for their products in HA.

2 Likes

If only Eufy enabled RTSPS streams. We can only hope.

you can give a try of latest version of integration, I believe, I was able to fix stability issues of p2p streaming.

1 Like

Great that someone is putting time into this, I’d love to give feedback to Eufy so they support it. I can’t seem to find the right integration (even if it’s a community one) for this though. Is it this one? https://github.com/fuatakgun/eufy_security

Or is there another one I’m missing?

1 Like

Correct, it is the one

2 Likes

Cool, thanks. I’ll try and set it up this weekend. Thanks for building & maintaining it!

Hi everyone, I was able to get to the point that almost stream but I’m getting this error


and I can not see to find any solution, if I use the main entity I get the “No URL” error

Are you following readme on github and starting p2p stream using rtsp add-on before expecting to see the video?

Sorry for the late reply I was out for a bit, I might be missing that step, I’ll try again and update after, thanks for the help

Update:
On the Eufy Security add on log I have this

• destroy:122 emitErrorCloseNT
    node:internal/streams/destroy:122:3
• task_queues:83 processTicksAndRejections
    node:internal/process/task_queues:83:21
2022-08-30 14:30:02.784  INFO  No stations found. 
2022-08-30 14:30:02.807  ERROR Devices - Generic Error: 
 RequestError  connect EHOSTUNREACH 18.158.57.242:443
details:
{
  code: 'EHOSTUNREACH',
  timings: {
    start: 1661869802791,
    socket: 1661869802793,
    lookup: 1661869802793,
    connect: undefined,
    secureConnect: undefined,
    upload: undefined,
    response: undefined,
    end: undefined,
    error: 1661869802805,
    abort: undefined,
    phases: {
      wait: 2,
      dns: 0,
      tcp: undefined,
      tls: undefined,
      request: undefined,
      firstByte: undefined,
      download: undefined,
      total: 14
    }
  }
}
error stack:
• index.js:970 <anonymous>
    node_modules/got/dist/source/core/index.js:970:111
• node:events:642 onceWrapper
    node:events:642:26
• node:events:539 emit
    node:events:539:35
• index.js:43 origin.emit
    node_modules/@szmarczak/http-timer/dist/source/index.js:43:20
• node:_http_client:454 socketErrorListener
    node:_http_client:454:9
• node:events:527 emit
    node:events:527:28
• destroy:157 emitErrorNT
    node:internal/streams/destroy:157:8
• destroy:122 emitErrorCloseNT
    node:internal/streams/destroy:122:3
• task_queues:83 processTicksAndRejections
    node:internal/process/task_queues:83:21
2022-08-30 14:30:02.812  INFO  No devices found. 
2022-09-01 02:31:03.476  WARN Station T8010P232129151F - Heartbeat check failed. Connection seems lost. Try to reconnect... 
2022-09-01 02:31:03.482  INFO  Disconnected from station T8010P232129151F 
2022-09-01 02:31:23.779  WARN Station T8010P232129151F - Tried all hosts, no connection could be established 
2022-09-01 02:31:23.781  INFO  Timeout connecting to station T8010P232129151F 
2022-09-01 02:31:33.849  INFO  Connected to station T8010P232129151F on host 192.168.1.234 and port 13976 
2022-09-01 13:20:03.515  INFO  Push notification connection closed 
2022-09-01 13:20:09.075  INFO  Push notification connection successfully established 
2022-09-03 04:56:30.187  INFO  Push notification connection closed 
2022-09-03 04:56:35.706  INFO  Push notification connection successfully established 
2022-09-03 09:00:00.849  ERROR Response code not ok 
{
  code: 10003,
  msg: 'Failed to request.'
}
2022-09-03 09:00:00.860  INFO  No stations found. 
2022-09-03 15:13:33.185  INFO  Push notification token is expiring, renew it. 
2022-09-03 15:13:44.910  INFO  Push notification connection successfully established 
2022-09-04 02:32:35.295  WARN Station T8010P232129151F - Heartbeat check failed. Connection seems lost. Try to reconnect... 
2022-09-04 02:32:35.300  INFO  Disconnected from station T8010P232129151F 
2022-09-04 02:32:55.588  WARN Station T8010P232129151F - Tried all hosts, no connection could be established 
2022-09-04 02:32:55.591  INFO  Timeout connecting to station T8010P232129151F 
2022-09-04 02:33:09.212  INFO  Connected to station T8010P232129151F on host 192.168.1.234 and port 23598 
2022-09-04 17:47:00.757  INFO  Push notification connection closed 
2022-09-04 17:47:06.287  INFO  Push notification connection successfully established 
2022-09-05 07:38:50.657  INFO  Alarm mode for station T8010P232129151F changed to: HOME 
2022-09-05 07:38:51.401  INFO  Received push notification for changing guard mode 
{
  guard_mode: 1,
  current_mode: 1,
  stationSN: 'T8010P232129151F'
}
2022-09-05 17:11:32.501  INFO  Client disconnected with ip: 172.30.32.1 port: 38066 code: 1006 reason:  
2022-09-05 17:36:31.262  INFO  Client disconnected with ip: 172.30.32.1 port: 38070 code: 1006 reason:  
2022-09-05 17:45:39.566  INFO  Client disconnected with ip: 172.30.32.1 port: 38072 code: 1006 reason:  

I have a question about the Eufy dual camera 2k doorbell wired version.
a) Is this doorbell supported by this integration?
b) This doorbell does not support RTSP. It is clearly written in the specs. I do not want to see the video, but, I do want to use the doorbell button press to trigger an automation. Is that possible?

The reason I am asking is that currently I have Ring doorbell. When someone rings the bell and it is dark, I trigger an automation to turn on the porch lights. Everyone likes it. Wondering if same would be possible with the Eufy one.

Thanks

That should work. I have the battery version of that doorbell and use the ringing sensor as trigger to play a doorbell sound on my sonos speaker. I think there are people in this topic that have the wired version.

Hi @anon63427907 ,

Let me start by thanking you for all the work you and bropat have put in. I have been trying to get his integration to work but it seems I can’t. I tried many thinkg even forked versions of the integration but to no avail. I noticed I am not the only one with this problem but so far I haven’t found a solution. It seems that the integration I am using is struggling with some dependencies on the latest pyhon version. I know this is not in your shop but maybe you can point me in the right direction.

Logger: aiohttp.server
Source: custom_components/eufy_security/config_flow.py:55
Integration: Eufy Security
First occurred: 00:16:25 (1 occurrences)
Last logged: 00:16:25

Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request
    resp = await request_handler(request)
  File "/usr/local/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle
    resp = await handler(request)
  File "/usr/local/lib/python3.10/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 82, in ban_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 136, in handle
    result = await result
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 180, in post
    return await super().post(request, flow_id)
  File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 73, in wrapper
    result = await method(view, request, data, *args, **kwargs)
  File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
    result = await self._flow_mgr.async_configure(flow_id, data)
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 280, in async_configure
    result = await self._async_handle_step(
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 367, in _async_handle_step
    result: FlowResult = await getattr(flow, method)(user_input)
  File "/config/custom_components/eufy_security/config_flow.py", line 55, in async_step_user
    await async_login(
  File "/usr/local/lib/python3.10/site-packages/eufy_security/api.py", line 122, in async_login
    await api.async_update_device_info()
  File "/usr/local/lib/python3.10/site-packages/eufy_security/api.py", line 54, in async_update_device_info
    for device_info in devices_resp["data"]:
TypeError: 'NoneType' object is not iterable

Any ideas?

Thanks for checking, much appreciated!

BR,

O.

Hey, you are most welcome. What about logs from addon?

Turns out I am just plain stupid, I renamed the wrong eufy_security folder… I disabled yours instead of the nonsLeeper one. Finally I have my doorbell in my HA instance

Hi there,
Is HomeAssisant a way to skip the Eufy servers for storing video clips from the doorbell? Or is a connection with the Eufy servers always necessary?
I’m the owner of a 2K standalone doorbell, type T8200.
If totally independence of Eufy servers is possible, I think this is a great product.

It’s not a great product… it’s so-so :wink:

Hello everyone, English is not my strong suit, but I’ll try my luck. I have a wired Eufy Doorbell 2k and I was able to integrate it into Home Assistant using the instructions from this Git repository: GitHub - fuatakgun/eufy_security: Home Assistant integration to manage Eufy Security devices as cameras, home base stations, doorbells, motion and contact sensors.. However, I’m having trouble getting the camera feed to work. Additionally, when I install the RTSP Simple Server add-on, I always get a port error when I use port 8554. I’ve already changed it to 8553 and updated it in the Eufy Security setup, but I still can’t get an image. The error message reads “Can’t get URL for camer.xxx (xxx = my designation).”

First off I spent hours trying to get it to work in the following way:
I have the last Image showing in the dashboard and if i press it it changes to the stream.
How you ask? Well…
The Addon: eufy-security-ws
Current version: 1.5.2
I think I used this as the extension:

and then it just worked (after a couple of restarts)
so no I dont think i use the fuatakgun one…
check out bropat · GitHub
I think this would be the best source for most troubles getting the whole thing up and running.

Now I ran into a problem myself which i don’t even know is correctly posted here (if it fits somewhere else better please tell me)
I have the following automation to notify me and my wife whenever the doorbell has been rung:

alias: Kingelbenachrichtigung
description: Nachricht an Handy
trigger:
  - type: running
    platform: device
    device_id: 2547058f6c352020611574f733e64797
    entity_id: binary_sensor.doorbell_ringing
    domain: binary_sensor
condition: []
action:
  - service: notify.mobile_app_pixel_5
    data:
      message: Es hat geklingelt
      title: Haustür
      data:
        image: "{{ states('sensor.doorbell_last_camera_picture_url') }}"
  - service: notify.mobile_app_pixel_6_pro
    data:
      title: Haustür
      message: Es hat geklingelt
      data:
        image: "{{ states('sensor.doorbell_last_camera_picture_url') }}"
mode: single

I do get a notification, but unfortunately i get no picture in the notification, does anybody know what exactly I am doing wrong?
Thanks to all of you

You can see a running example under eufy_security README file about this automation

1 Like