How to integrate eufy security cameras with Home Assistant
Disclosure: This post contains affiliate links. If you click through and make a purchase, I will earn a commission, at no additional cost to you. Read my full disclosure here.
Update: Dec 1, 2021
Fresh from the oven: eufy add-on adds new features
There's some sweet news if you're a user of Home Assistant. The eufy integration has just been given a major upgrade and can now be installed as an add-on. That's right, no more grappling with complex installation procedures – just a simple add-on.
Since writing this piece this, the custom component has undergone plenty of tweaks and enhancements. eufy security cameras integrated with Home Assistant have turned into a super-sleuth. They're now equipped to detect a whole range of things – from the subtle sound of a baby crying to the boisterous antics of your pets. It can even pick up the presence of people and any sudden movement.
This extensive update has turned these humble home cameras into a potent security tool. It's like having your very own Sherlock Holmes, ever ready to detect and inform. But remember, with great power comes great responsibility. Make sure to use these features wisely and respect the privacy of others. After all, no one appreciates being spied on, even by a digital detective.
eufy Security's cameras have been under the microscope lately, and for good reason. As a tech journalist, I've been caught in a bit of a pickle, wondering whether to write a guide about integrating eufy Security's cameras and doorbells with Home Assistant. Here's the conundrum: I can't in good conscience recommend eufy products any more, given their less than stellar response to a significant security breach (or “bug,” as they charmingly coined it). But, I do feel a responsibility to tip off those die-hard eufy users about the potential to link their devices with Home Assistant.
In light of this, feel free to use this guide, but let me be clear: I'm not giving eufy Security products my thumbs-up here. There's a smorgasbord of alternatives out there, many with a setup as easy as pie, just like eufy's. One brand that often gets a nod of approval from the Home Assistant community is Reolink. Although I haven't personally put their security cameras to the test, plenty of others have, and they've stuck with the brand, which says something.
A software bug occurred during our latest server upgrade at 4:50 AM EST today. Our engineering team recognized this issue at around 5:30 AM EST, and quickly got it fixed by 6:30AM EST.
Security cameras are used primarily to enhance home safety. They collect and store data which should be appropriately protected. There may be potential privacy issues, which you, the user, should be conscious of. You should also ensure you comply with local laws and regulations, and in some cases, may need to obtain consent from household members and guests. I do not take responsibility for any misuse, breaches, or other negative outcomes resulting from their use. By using the cameras, you assume all responsibility for adhering to local laws and safeguarding privacy.
Preparation: Installing eufy-security-ws
For those wondering, there unfortunately doesn't appear to be an easy way of adding the eufy-security-ws application, which I will be using in this guide, to a supervised Home Assistant setup or one using the Home Assistant Operating System. Currently, there is no add-on available and the only way of installing it is by setting up a Docker container or by using an npm (Node Package Manager) package. I went the former route and set up the Docker container on my Unraid server.
Developer Aaron Bach is working on an improved eufy integration with Home Assistant, with one of the goals being to publish it as an add-on. However, there is currently no release date and as the developer is using their spare time to make it happen, it would be unfair to make demands. This upcoming integration will once again be a custom component, without any financial incentives.
The installation is rather straightforward, and if you opt for the Docker container, you will only need to configure a port, persistent directory, and enter your username and password. Once started, the log message push notification connection successfully established will indicate that your account has successfully been connected.
Advantages of using eufy-security-ws
The eufy-security-ws application is a wrapper for the eufy-security-client library, with both being developed by bropat. The eufy-security-client library allows for communication with the unofficial eufy Security API. Using the unofficial API has several advantages compared to other solutions such as the Eufy Home Assistant MQTT Bridge:
The eufy-security-ws library connects to Eufy cloud and supports 2FA. Despite that, it can use P2P communication to connect to devices. It can also get information and parameters from devices over HTTPS and/or P2P.
It supports receiving push notification.
Depending on the device, it allows you to toggle auto night vision, the LED, the anti-theft detection, motion, pet, and sound detection, and the RTSP stream.
The eufy-security-ws library also provides the option to change the video watermark settings, start or cancel video downloads, send quick responses to doorbells, and lock or unlock smart lock devices.
All of these features sound great. However, the integration with Home Assistant relies on the eufy_security component developed by fuatakgun (more on that in a second) and not all features have been implemented so far. For example, despite being capable of detecting crying, my eufy Solo IndoorCam does not display a binary sensor for that function in Home Assistant.
Known working eufy devices
A list of eufy devices that have been confirmed to be working can be found in the GitHub repository. These include the eufy HomeBase, HomeBase E, and HomeBase 2, wired and battery-powered doorbells, the eufy IndoorCam, and eufyCam. The Smart Lock Front Door and a number of sensors can also be integrated.
Adding eufy_security to Home Assistant
Once eufy-security-ws is up and running, the eufy_security can be added to Home Assistant. The easiest way of doing this is (you guessed it) by using HACS. Simply copy and paste the repositories URL https://github.com/fuatakgun/eufy_security in to HACS and install the component. Once installed, you will need to restart Home Assistant.
Configuring the eufy custom component
Once the custom component has been installed, navigate to the integrations' section of the configuration and add a new integration. Searching for “eufy” should bring up the newly added custom component.
There are only two bits of information you have to provide: The first is the IP address of the server on which eufy-security-ws is running, the second is the application's port. Keep in mind that you do not need to enter the IP address of any devices, and a single setup will add all the eufy devices linked to the account you configured in eufy-security-ws.
Controlling the eufy security cameras in Home Assistant
With your eufy security cameras added to Home Assistant, you might want to display them in your Lovelace dashboard, perhaps using the WebRTC custom component. As I did, you might be wondering why no image is being shown, after having embedded the cameras. This isn't an error but a feature: Due to some devices being battery-powered, the stream is deactivated by default. One solution is to add some controls to the dashboard. The developer of the plugin has posted the configuration for a couple of buttons to control the camera in the Home Assistant community. I, personally, have set my camera to always stream, as it powered using a USB cable.
About Liam Alexander Colman
Liam Alexander Colmanis an experienced Home Assistant user who has been utilizing the platform for a variety of projects over an extended period. His journey began with a Raspberry Pi, which quickly grew to three Raspberry Pis and eventually a full-fledged server. Liam's current operating system of choice is Unraid, with Home Assistant comfortably running in a Docker container. With a deep understanding of the intricacies of Home Assistant, Liam has an impressive setup, consisting of various Zigbee devices, and seamless integrations with existing products such as his Android TV box. For those interested in learning more about Liam's experience with Home Assistant, he shares his insights on how he first started using the platform and his subsequent journey.