Caution
READ THIS BEFORE UPDATING
This is not an update to the plugin you already have. It is a new plugin that replaces it.
1. Check your Homebridge and Node versions first
You need Homebridge 2 and Node.js 24.5.0 or newer. On anything older this plugin simply will
not start.
2. Your current cameras and sensors will not carry over
The new plugin creates its own accessories in the Home app. The ones you have now stay behind as
"not responding" and you delete them yourself.
3. You will have to redo your rooms, names and automations
Once. Any automation using a eufy camera, sensor, lock or light will need to be pointed at the new
accessory. Take a screenshot of your automations before you start.
4. Your existing eufy settings are not reused
You set the plugin up again from scratch: log in, and configure it in the Homebridge UI.
5. Back up before you touch anything
In the Homebridge UI: Backup / Restore → Download Backup.
6. If your home depends on this working, wait a little
Version 4.7.2 still works today and is not going anywhere. Try this beta somewhere a camera going
dark is annoying rather than a problem.
But read the next point before deciding to stay on it.
7. Version 4.x is no longer being worked on
All maintenance from here goes to 5.x only. No fixes, no new devices, no eufy changes followed on
4.x — it is frozen at 4.7.2 and stays installable, nothing more. If eufy changes something on their
side that breaks 4.x, it will not be repaired.
So staying on 4.x is fine for now, and it is not a long-term plan.
What changed since 5.0.0-beta.7
Everything here is about cameras that sit behind a HomeBase, doorbells included. If all your cameras are
standalone, this release changes nothing you can see — update anyway, but do not go looking for a difference.
"Not responding" on the very first tap is fixed. A HomeBase serves one camera at a time. The plugin was
refreshing another camera's thumbnail and went on holding the base long after it had the picture it needed, so
your tap was turned away — and the second tap usually worked, which is why this looked random. The base is now
handed over the moment it is asked for: measured on a real home, two to seven thousandths of a second, where it
had been taking a full second.
The picture no longer freezes about ten seconds in. The stream stayed alive, the image stopped moving, and
your phone showed no sign of trouble — the worst kind of failure, because nothing anywhere said anything was
wrong. When your phone asked mid-view for a smaller picture, the plugin needed several seconds to switch over
and the view never recovered. It now keeps the quality it started with for as long as you watch. If your phone
wants a different one, it asks again by reopening the camera.
And when something does go wrong, the report now says what. Which camera was holding the base, whether your
phone was still listening to a picture that had stopped moving, why a view was turned away, and — for a base
that refuses to hand over a key — which of five reasons applies, including whether the eufy account you signed
in with actually owns that base. None of it identifies your devices: no serial numbers, no addresses, no names.
Three of those questions cost an afternoon each to answer this week, because the answer existed inside the
plugin and was thrown away before it reached the log. That is what is fixed above all.
Why a new plugin at all
The old plugin talked to eufy through a library that is no longer maintained, and eufy changed how its
app talks to their servers. Rather than patch around that, the whole foundation was rebuilt against how
the current eufy app actually behaves.
That is why this took a while, and why it is a fresh start instead of an upgrade.
What happens to 4.x
It stays on npm and keeps working for as long as eufy's side lets it. It is not maintained: no bug
fixes, no support for new devices, and no work to follow changes eufy makes.
Everything from here — fixes, devices, features — happens on 5.x. That is the whole reason the rewrite
exists, and keeping two plugins alive would slow it down for everybody.
You do not need to move today. You will need to move.
What you get in the Home app
- Cameras — live video and audio, snapshots, two-way talk, and HomeKit Secure Video recording
- Doorbells — the doorbell press
- Motion sensors
- Contact sensors — door and window open/closed
- Locks
- Security modes — home, away, off
- Sirens
- Smart lights
- Battery level and charging
Logging in handles captcha and two-factor codes. You stay logged in across Homebridge restarts.
Why you might see less than that list
The plugin only adds something to the Home app when your device actually reports it. Devices differ, even
within the same product range — two cameras that look the same can report different things.
So a device can show up in the plugin's dashboard without appearing in the Home app yet. That is not a
crash, and it is worth telling us about.
When the plugin is unsure what a setting means, it deliberately shows nothing rather than guessing. A
switch that does the wrong thing is worse than a switch that is not there.
Things you will notice
- A switch or lock can take a moment to settle. The plugin waits for the device to confirm what it
actually did instead of assuming the command worked. - Some devices appear with fewer controls than the eufy app shows. That is the point above, not a bug.
Something not working? Use the built-in diagnostics
Do this before opening an issue — it does most of the work for you.
In the Homebridge UI, open this plugin's settings, find the device that is misbehaving, and click
Run diagnostics.
It then walks you through it:
- It asks a few questions about what is wrong and picks the matching profile.
- It tells you exactly what to do to make the fault happen again, and what to check first.
- You click Start diagnostics session and reproduce the problem while it watches.
- It shows you a manifest of everything it collected, and what it always leaves out.
- You click Download encrypted archive — the file stays on your machine. Nothing is uploaded.
Attach that file to your issue, or share it with a maintainer. It carries what we need and not your
serial numbers, addresses or login details.
Some devices show Diagnostic only with a note saying "Nothing is wrong with your setup and there is
nothing here to fix." That is the case described above — the device is recognized, but its main function
does not have a verified representation yet. No need to report those unless you can help test one.
Still stuck?
Open an issue: https://github.com/homebridge-plugins/homebridge-eufy/issues
Tell us which eufy devices you own and what you expected to see, and attach the diagnostics archive if
you were able to create one.
Did you report something before and get closed automatically? That was leftover automation from when
the project was on hold. It is now removed for real — it had still been running from a branch we had missed.
Please open your report again; it stays open and it gets read.
Thank you
Wingers — for testing build after build on real devices, chasing the problems that only show up
sometimes, and sending the logs that turned guesses into fixes.
And max246, lenoxys and martijnpoppen.