Eufy Security Integration

@jouster I’d be keen too. I have a Eufy Alarm with motion and contact sensors - and I also have some other Zigbee contact sensors. I want to keep using the physical Eufy keypad to be the main user interface to arm/disarm. I’ve gone down the automation route of “If Eufy is armed, arm Alarmo”. And “If Eufy is triggered, trigger Alarmo”. Triggering Alarmo then sets off a siren and sends a message to the Google speakers.
Would be keen to know how others have integrated Eufy into their Home Assistant alarm system - or the other way round.

Thanks to latest updates from eufy sides, add-on will probably fail to login and so the integration. I will be following up closely and when there is a solution, i will publish the newer version of add-on to mitigate the problem. Until then, we all need to hold on.

2 Likes

Since you said Eufy made some updates I tried reloading my integration again today and everything is now working:

To refresh the thread on the issues I was having:
On the integrations page I had the following error:
image

And on the eufy security addon page the log was reporting the following:

2022-12-02 00:49:41.507 INFO Eufy Security server listening on host 0.0.0.0, port 3000
/usr/src/app/node_modules/eufy-security-client/build/http/station.js:107
this.rawStation.params.forEach(param => {
^
TypeError: Cannot read properties of null (reading ‘forEach’)
at Station.update (/usr/src/app/node_modules/eufy-security-client/build/http/station.js:107:36)
at new Station (/usr/src/app/node_modules/eufy-security-client/build/http/station.js:62:14)
at Function.initialize (/usr/src/app/node_modules/eufy-security-client/build/http/station.js:73:25)
at EufySecurity.handleHubs (/usr/src/app/node_modules/eufy-security-client/build/eufysecurity.js:360:51)
at HTTPApi. (/usr/src/app/node_modules/eufy-security-client/build/eufysecurity.js:126:44)
at HTTPApi.emit (node:events:513:28)
at HTTPApi.refreshStationData (/usr/src/app/node_modules/eufy-security-client/build/http/api.js:518:22)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async HTTPApi.refreshAllData (/usr/src/app/node_modules/eufy-security-client/build/http/api.js:543:9)
at async EufySecurity.refreshCloudData (/usr/src/app/node_modules/eufy-security-client/build/eufysecurity.js:565:9)

So perhaps the update is good news?

Hi All,

How quickly does the motion detection work?

I currently hve a reolink camera and hate it because the motion detection takes 20 seconds or never to trigger that there was motion. I want to use my camera to turn on my light when I go to the backyard.

I am currently using a motion sensor from Aqara because the reolink is so bad at it.

Does thie integration have fast motion detecition? is there also person detection if I go for the 2k outdoor cam (T8441C21) ?

Thanks in advance!

My integration fails after restarting addon
Start Listening was not completed in timely manner

Is this cause of the update on eufy side?

Actually, I was wrong on assuming that there were breaking changes from eufy side and it would cause issues on overall add-on. I had received couple of issues and prematurely assumed that it is result of recent firmware and software updates. With the latest trusted device name attribute, login is still working for many of us.

What is this? Didn’t find this in this thread before.

2 Likes

Would be great to understand How to set that up. Do you need to put that name somewhere in Eufy settings too? Or just time the name of your HA instance?

Solved… Just included the name of my HA instance in Trusted devices and integration works again!

Just something random, apparently it is needed but not relevant

the “can’t find url for camera.doorbell” or “camera.backyard” still persist. Will this ever work properly again?

If you enable basic notifications (without picture) it is 1-2 seconds. If you enable notifications with picture, it could take 4-5 seconds. Mine is battery operated device, so it could be faster for mains powered ones.

Trying to set this up (Eufy Doorbell here), started with RTSP but found out it probably doesn’t support it. P2P does the exact same thing:

NotSupportedError: Failed to execute 'addSourceBuffer' on 'MediaSource': The type provided ('video/mp4;codecs="hvc1.016000") is unsupported.

ffmpeg is in the configuration.yaml. I have set all the streaming options to low, and played with the 1-5 seconds setting for it to identify the stream. Any tips?

EDIT: it started working when I disabled the tickbox “Use RTSP Add On”.

This is a very old and bad solution, using file based streaming. You might run out of space in your server because streams are written as a file, so try with rtsp based solution.

In your case, you should lower streaming/recording quality (set it to low) and try again.

Moreover, streaming speed delay might became an issue in this case, right?

I definitely don’t want to use filebased streaming. Even though the checkbox is unticked, I see logs in the RTSP addon whenever I start streaming. Is that normal? How do I doublecheck if it’s using filebased streaming? I have set all quality options to low already, but it did not solve the issue.

let’s double check how it is being streamed, start the stream and share the value of your sensor Streaming Source Address, if it starts with RTSP, you are good, otherwise, it is file based.

do not get me wrong, if it is working for you, it is great, but I am working on a new major version and I have strong intentions to remove that functionality. It caused more trouble than benefits :slight_smile: (shame on me)

It is actually starting with rtsp (just to confirm, the checkbox is deselected): rtsp://127.0.0.1:8554/T8210P00202402A6

Is that weird?

EDIT: I also noticed that the battery level keeps hanging at 29%, even though I charged it fully last night (the Eufy app also says 99% currently). Restarted HA, but keeps saying 29%…
EDIT2: it seems to do the same when the checkbox is ticked… I have the impression it doesn’t really change anything. I have also restarted the HA instance inbetween to make sure. I also noticed the [sensor.doorbell_streaming_source_type] has a value of p2p.

my mistake, I have removed the functionality from code but not from config. So, checkbox is useless as of now, it always relies on RTSP add-on.

regarding to battery, it is a known issue, I am also facing locally but could not focus on it because of streaming specific issues.

code pointer: eufy_security/camera.py at a62f132853d49ad51e85143edc4284ffa3a5cc12 · fuatakgun/eufy_security · GitHub

Okay, that’s what I thought… thanks for confirming I’m not crazy :slight_smile:

I don’t know why it started working when I messed with the checkbox, probably a coincidence then.

The battery level does get updated when restarting the integration it seems, but not all the time. Not a big issue, but glad it’s on your radar. Thanks for the help!

1 Like

this stopped working for me couple days ago, finally got it working again just now. for anyone running HA core with eufy-security-ws docker needs to add the COUNTRY option to the docker config (I added LANGUAGE also but I think only the first is required). see the bottom of the docker page. guessing this is a new requirement from the Eufy side considering the recent issues.

edit from the above discussion it may need the TRUSTED_DEVICE_NAME config option also.