Releases: homebridge-plugins/homebridge-eufy-security
v4.6.2-beta.5
chore: refactor and harden homebridge-ui server
v4.6.2-beta.4
chore: upgrade eslint and @eslint/js to v10
v4.6.2-beta.3
- feat: add FamiLock E34 (T85P0, type 209) device image (#903)
v4.6.2-beta.2
This is an experimental pre-release. It bundles 10 upstream eufy-security-client changes that are still awaiting merge in bropat's repository. We're shipping them early via a scoped fork so users can benefit now and report issues.
Things may break. If you encounter problems, please open an issue with your diagnostics — your feedback helps us validate these changes before they land upstream.
What changed
This release switches the underlying eufy-security-client library to a scoped fork (@homebridge-eufy-security/eufy-security-client) that includes the following fixes and features:
New device support
- NVR S4 Max (T8N00) — initial device registration
- PoE Bullet-PTZ Cam S4 (T8E00) — full device support with livestream, talkback, pan & tilt
- LOCK_85V0 (T85V0) — registered in DeviceProperties and DeviceCommands maps
Streaming & audio fixes
- ADTS multi-RDB frame normalization — fixes garbled audio on cameras that send multiple ADTS frames per P2P packet
- E340 on MiniBase Chime — no longer sends unsupported livestream command that caused stream failures
- Indoor cameras on HomeBase — correctly routes livestream through the right path
- Configurable P2P stream timeouts — stream start/stop timeouts are now tuneable
Other fixes
- ECDH encryption for T8214 and T8425 — fixes P2P session establishment on these devices
- SoloCam E42 rtspStreamUrl — adds missing RTSP stream URL property
- Missing GenericTypeProperty labels — 5 device types now show proper names
How to install
npm install @homebridge-plugins/homebridge-eufy-security@betaOr update via the Homebridge UI using the beta channel.
Reverting
If this release causes issues, downgrade to the previous beta:
npm install @homebridge-plugins/homebridge-eufy-security@4.6.2-beta.1v4.6.2-beta.1
Internal
- Fixed release workflow that was incorrectly publishing to npm
latestwhen creating GitHub pre-releases.
v4.6.2-beta.0
New beta branch started from 4.6.1. No functional changes — version bump only.
v4.6.1
v4.6.1-beta.1
Bug Fixes
- Keypad devices: The plugin UI no longer shows an "Enable in HomeKit" toggle for keypads. Keypads cannot be exposed to HomeKit, so the toggle was misleading. The keypad card now displays a "Not available for HomeKit" badge instead.
v4.6.0
Release Notes
Required actions
- Node.js 20, 22, or 24 required (unchanged from 4.5.x)
- No config changes required -- all new features use sensible defaults
HomeKit Secure Video (HKSV) -- Major reliability overhaul
HKSV recordings should now work consistently across restarts and on a wider range of cameras.
- Recordings no longer silently disappear after a plugin restart -- a bug was clearing HKSV state on every boot, requiring users to re-enable recording in the Home app
- Motion-triggered P2P pre-warming connects to the camera before HomeKit requests the recording, eliminating cold-start timeouts
- 4-second video prebuffer on wired P2P cameras -- HKSV timeline clips now include footage from before the motion trigger
- Proper end-of-stream signaling so HomeKit no longer silently discards completed recordings
- Cameras that don't deliver audio (e.g. SoloCam E42) now fall back to video-only recording instead of hanging
- FFmpeg errors during recording close no longer crash the child bridge
Audio
- Per-camera audio toggle -- new setting in the plugin UI to disable audio on individual cameras (useful for cameras with poor audio or for privacy)
- Fixed AAC decoding on cameras that send non-standard ADTS frames with multiple raw data blocks (e.g. SoloCam E42)
- Rewritten two-way audio with dynamic SDP and proper lifecycle management
Livestream stability
- Hardware H.264 encoder auto-detection (e.g. on Raspberry Pi)
- P2P connection retry with exponential backoff on transient failures
- H.264 profile and level from HomeKit are now passed through to the encoder
- RTCP grace period for dead-stream detection to avoid false positives on slow starts
- Snapshots and livestreams share a P2P session, preventing one from terminating the other
New device support (prep)
Device images and UI mappings added; full functionality pending upstream eufy-security-client support:
- NVR S4 Max (T8N00, type 300)
- PoE Bullet-PTZ Cam S4 (T8E00, type 301)
- Battery Doorbell 2K -- added missing device image
Diagnostics
- Debug recording capture -- when debug livestream is enabled, the plugin saves raw P2P and processed recordings downloadable from the Diagnostics UI, tagged by trigger type (HKSV vs manual livestream)
- Fixed diagnostics archive corruption when logs were being written during export
v4.5.1
What's in 4.5.1
- Cloud connection retries up to 3 times instead of crashing on first failure
- Captcha and 2FA prompts now direct to the plugin UI
- Encrypted diagnostics with debug livestream recording and per-camera logs
- Improved diagnostics flow — now required when filing bug reports
- PKCS1 toggle auto-hidden when Node.js supports it natively
- Faster device discovery
- Added missing device images
What's in 4.5.x
Upgrades eufy-security-client to 3.8.0 — new device support and livestream fixes.
Node.js 24.5+ Recommended
Node.js 24.5.0 restores native RSA_PKCS1_PADDING support — P2P livestreams work without workarounds. If you're on 24.5+, remove enableEmbeddedPKCS1Support from your config. Only keep it if you're staying on Node 20 or 22.
New Device Support (eufy-security-client 3.8.0)
- Smart Locks: E20, C33, C30, E330
- Cameras: S40, SoloCam E42, 4G LTE Cam S330, Indoor Camera C220 V3
- Sensors: Motion Sensor E20, Siren E20
Bug Fixes & Improvements
- Fixed T8214 and T8425 livestream issues (floodlight/doorbell devices)
- C210 preset support improvements
- Add 4G LTE Cam S330 (T86P2) device image
- Use native tar.gz compression for diagnostics instead of zip-lib
Thanks to everyone who tested the beta.
Full Changelog: v4.5.0...v4.5.1