[New Binding] Eufy Doorbell

The p2p code is not ready yet so in the latest version of the jar file I have disabled it. Use that for now.

I am using 2.5.2 currently, and it seems to be still trying to open sessions with the camera several times a second

Here is the new link
https://github.com/basriram/openhab2-addons/releases/download/2.5.3/org.openhab.binding.eufysecurity-2.5.3-SNAPSHOT.jar

I have added a flag in the bridge configuration to enable or disable p2p communication and to configure the local ip address of the openhab server. This is only needed if you enabled p2p communication flag.

I removed the old things and binding, added the 2.5.3 version. When I try to add the security bridge, it throws the error:

2020-02-09 17:00:03.952 [WARN ] [ore.thing.internal.ThingRegistryImpl] - Cannot create thing. No binding found that supports creating a thing of type ‘eufysecurity:bridge’.

And confirmed the new version is loaded

openhab> bundle:list|grep -i euf
273 x Active x 80 x 2.5.3.SNAPSHOT x org.openhab.binding.eufysecurity

I also cleared the OH cache from command line and the issue persists.

It is working for me. Can you share some logs after restarting the bundle to see if there are any errors during startup?

Not the full binding functionality, but you can just have the Axis make a HTTP GET request to an item in OpenHAB to trigger something when pressed. Not familiar with the doorbell specifically, but their camera’s have this ability on events. So you can define an event for motion detection and use the doorbell button as a trigger to make web calls to separate OpenHAB items via the legacy (unsupported and bad practice from RESTful standards) endpoint: http://localhost:8080/classicui/CMD?<itemname>=<command> .

So you’d make an item like Trigger_DoorbellPressed and make the doorbell do a call to http://openhab:8080/classicui/CMD?Trigger_DoorbellPressed=ON

Note that this CMD? endpoint could go unsupported and the REST API is the preferred method, but I don’t think you can do a HTTP GET to set an item in the REST API and I don’t think the Axis stuff with do a PUT

See this guide section 2.3 for setting up the HTTP event action

and this post for more information on the CMD? endpoint

I am trying out this binding 2.5.3 and I cannot get the bridge to initialize. Could it possibly be that I am in Canada and the region choices are only US and EU?

I could never get the bridge for this version to initialize either

I have done a clean re-compile, can you try this version and see if it is able to initialize.

https://github.com/basriram/openhab2-addons/releases/download/2.5.1/org.openhab.binding.eufysecurity-2.5.1-SNAPSHOT.jar

I did not see any references to Canada servers in their app so I am assuming they point to their US MQTT Servers so can you pick US as the region and see if it works?

I have chosen the US as the region and I will try again with the 2.5.1 recompile you have posted.

Dear basriram,
thanks for working on the add-on.

I’m trying to incororate the hombase2 and the eufyCam 2C camera.

In the code I’ve found the REST endpoint:

public static final String PRIMARY_URL = "https://mysecurity.eufylife.com/api/v1";

I’ve done some tests with Postman and at least for the european api the endpoint is slightly different. Instead api it is called apieu

https://mysecurity.eufylife.com/apieu/v1/app/get_devs_list

Can you give me some insights how you’ve structured the add-on so that I can try to add the two additional device types.

Best regards
becksen.

Except for the door bell all other eufy devices seem to only use the p2p connection but I have not completed the p2p implementation. I have deciphered the protocol so I can share it with you so you can try your luck. I will also provide a high level design so you can tweak the endpoints.

1 Like

I‘d appreciate that.

I’m little struggling with the git repository. I can clone your project. But checkout and establishing a new branch is failing.

Thanks.

Hi,

Is this binding still being developed?
I am trying to add a T8210 (battery powered version of the T8200) but i get the following error:

2020-04-15 19:55:28.264 [INFO ] [.reconnect.PeriodicReconnectStrategy] - Try to restore connection to ‘ssl://security-mqtt-eu.eufylife.com’. Next attempt in 60000ms

2020-04-15 19:55:28.266 [WARN ] [.handler.EufySecurityDoorbellHandler] - TODO: Lost MQTT connectivity, need to handle re-connect

2020-04-15 19:55:28.281 [INFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to ‘ssl://security-mqtt-eu.eufylife.com’ with clientid android_EufySecurity_xxxxxxxxxxxxxxxxxxxxxxxxxxx_192.168.X.X

2020-04-15 19:55:28.285 [WARN ] [.handler.EufySecurityDoorbellHandler] - TODO: Lost MQTT connectivity, need to handle re-connect

Eufy has recently revamped their entire architecture to make it more secure and I have not had the time to reverse engineer their new app. Please feel free to fork and make changes as needed.

Unfortunately i don’t have skills or time to learn the skills to make changes.
Thanks anyway.

Does the camera works offline? can i use it with the binding and block the internet connection of the camera?

Currently there is no way to access the device via openHAB. Maybe it might not happen ever again. Anker has updated the API for security reasons. Since then no one has managed to reverse-engineer it. I guess they will focus on HomeKit and Alexa/Google for now.

1 Like

How must I set up the bridge? I added the jar in the addons dir, but where I must add my account data?