Home Assistant security
Best smart lock with local control for Home Assistant: Z-Wave vs Matter
Choose a local Home Assistant lock: Kwikset 620 LR, Schlage Connect, Yale Assure 2 or Aqara U100 via a hub. Compare door fit and build three useful automations.
OUR PICKS / YOUR SETUP
Find your fit.
Choose Kwikset HomeConnect 620 LR for a simple local Z-Wave keypad. Pick Schlage BE469ZP for a touchscreen, Yale Assure Lock 2 for DoorSense, or Aqara U100 with an Aqara Matter hub for fingerprints and Apple home key.
- Z-Wave pickKwikset 620 LR
- Touchscreen pickSchlage BE469ZP
- Matter routeU100 + Aqara hub
We earn a commission if you buy through our links — it doesn’t change our picks. How we make money → As an Amazon Associate I earn from qualifying purchases.
YOUR NEXT PROJECT / THE GEAR
Parts list
- Kwikset HomeConnect 620 Z-Wave Long RangeCheck price on Amazon
Choose a physical keypad, SmartStart and Z-Wave Long Range for local lock control.
- Schlage Connect BE469ZP CAM 622Check price on Amazon
Choose a touchscreen deadbolt with S2 security and a mechanical backup key.
- Yale Assure Lock 2 Keypad with Z-Wave, Black SuedeCheck price on Amazon
Choose the keyed Yale keypad model when you want its DoorSense auto-lock feature.
- Aqara Smart Lock U100, GrayCheck price on Amazon
Choose fingerprints and Apple home key, with a Matter-capable Aqara hub for Home Assistant.
- Home Assistant Connect ZWA-2Check price on Amazon
Connect your Z-Wave switches, sensors and valve actuator to Home Assistant.
- Zooz ZSE41 800LR Open|Close XS sensorCheck price on Amazon
Use a door or window opening to trigger lights and useful alerts.
Your front door should still know how to be a front door when the internet takes the evening off. Choose the Kwikset HomeConnect 620 Z-Wave Long Range for a straightforward local Home Assistant setup. It gives you a physical keypad, S2 security, SmartStart and room for 250 user codes. Add it to your Z-Wave network, then make the useful stuff happen locally.
Prefer a touchscreen? Pick Schlage Connect BE469ZP. Want Yale’s DoorSense auto-lock? Pick the Assure Lock 2 Keypad with Z-Wave. Want fingerprints and Apple home key? Pick Aqara U100, with a Matter-capable Aqara hub to bring it into Home Assistant.
This research-based guide uses the makers’ specifications and Home Assistant’s setup and automation documentation.
The quick picks
| Your priority | Pick | What wins you over |
|---|---|---|
| Best Z-Wave / simple keypad | Kwikset HomeConnect 620 LR | S2, SmartStart, Long Range and 250 user-code slots |
| Best touchscreen deadbolt | Schlage Connect BE469ZP | Touchscreen, S2 and 30 user codes, with a mechanical key |
| Door-aware native auto-lock | Yale Assure Lock 2 Keypad with Z-Wave | Yale’s DoorSense auto-lock feature and physical keypad |
| Best Matter route in this shortlist | Aqara U100 + compatible Aqara hub | Fingerprints and Apple home key on the lock; Matter bridging to HA |
For a basic keypad build, start with the Kwikset; spend your attention on door fit and the radio you already own. Amazon’s buttons below take you to current offers.
Local control: Z-Wave or Matter?
With Z-Wave JS, the path is lock → Z-Wave adapter → Home Assistant. With the U100’s Matter route, it is lock → Aqara hub → local network → Home Assistant. Keep the host, radio and required bridge powered and connected, and local lock commands and automations can work without the internet. Remote access and phone push delivery are separate services.
| Question | Z-Wave locks here | U100 through Matter |
|---|---|---|
| What extra hardware connects to HA? | A compatible Z-Wave adapter, such as Connect ZWA-2 | A Matter-capable Aqara hub |
| Does the lock use Thread? | No | No: U100 uses Zigbee to the Aqara hub |
| How does HA control it? | Z-Wave JS integration and server | Matter integration and server |
| Where do you manage PINs? | HA’s supported Z-Wave user-code actions | Aqara’s code tools; the bridge’s exposed features determine HA access |
| What makes the choice easy? | You want direct HA code-slot control and a Z-Wave network | You want U100’s fingerprint/home-key features and already have a suitable hub |
Home Assistant documents Z-Wave JS and Matter’s local-control and bridge model. Our Connect ZWA-2 setup guide walks through adding the radio. An existing compatible adapter can do that job too.
U100: buy the hub path, not just the logo
Aqara explicitly requires a Matter-supported Aqara hub for U100’s Matter connection. Pair the lock to that hub, then add the hub’s Matter bridge to Home Assistant using the Matter integration’s commissioning instructions. The standalone U100 listing is the lock, not a hub bundle.
The U100’s keypad, fingerprint reader and Apple home key are reasons to choose it. They are not all HA entities: manage fingerprints and vendor access features with Aqara’s tools. In particular, the Z-Wave PIN recipe below applies to the Z-Wave locks, not automatically to a bridged U100. See Aqara’s U100 feature and hub requirements.
Meet the four locks
| Lock | Radio / HA route | Codes and auto-lock | Battery |
|---|---|---|---|
| Kwikset HomeConnect 620 LR | Z-Wave 700 LR; Z-Wave JS | Up to 250 codes; selectable auto-lock intervals | 4 AA alkaline |
| Schlage Connect BE469ZP | Z-Wave Plus; Z-Wave JS | Up to 30 codes; use HA for the door-contact recipe below | 4 AA |
| Yale Assure Lock 2 Keypad, YRD410-ZW2 | Z-Wave Plus; Z-Wave JS | DoorSense auto-lock; use supported code slots through the connected system | 4 AA alkaline |
| Aqara U100 | Zigbee → Aqara hub → Matter | Permanent, periodic and one-time passwords in Aqara’s system; gyroscope auto-lock | 4 AA |
Kwikset is the default pick when you want keys, buttons and local automation without a fingerprint or touchscreen requirement. Its current LR model page documents S2, SmartStart and auto-lock choices of 30 seconds, one, three, five or ten minutes. Choose a native auto-lock setting or your HA routine deliberately, rather than leaving two different timers to surprise you.
Schlage is the touchscreen pick. The exact model matters: BE469ZP, not an older BE469 variant. Schlage’s specification sheet documents its code capacity and battery format; its Z-Wave implementation document documents S2 and SmartStart.
Yale is the DoorSense pick. Choose it for the native door-aware auto-lock feature described on the Yale keypad model page. The selected configuration is the keyed keypad model in Black Suede. Yale’s module revisions vary; the listing title alone does not identify an S2-capable revision, so follow the included module’s secure-inclusion instructions rather than assuming every Assure 2 has the same radio.
All four run on replaceable batteries. Use the specified battery type and put a low-battery alert on your dashboard; a stiff, rubbing deadbolt is a fit problem to solve, not a reason to keep feeding it batteries. Keep a physical key or another backup way in.
Measure your door: the five-minute shopping tool
Before picking a finish, grab a tape measure. Backset means the distance from the door edge to the center of the deadbolt hole. Thickness is the door itself, not its trim.
| Lock | Standard supported door thickness | Backset |
|---|---|---|
| Kwikset 620 LR | 1⅜–2 inches | 2⅜ or 2¾ inches |
| Schlage BE469ZP | 1⅜–1¾ inches; thicker doors need the appropriate kit | 2⅜ or 2¾ inches |
| Yale Assure Lock 2 Keypad | 1⅜–2¼ inches | 2⅜ or 2¾ inches |
| Aqara U100 | 35–55 mm | 60 or 70 mm |
These are Kwikset’s, Schlage’s, Yale’s and Aqara’s published dimensions. Also match the face-bore and edge-bore requirements in the installation guide. With the door closed, the existing bolt should move smoothly without pushing or lifting the door. Fix a dragging strike alignment before asking a motor to do the job.
Add your Z-Wave lock securely
- Set up your adapter and Z-Wave JS server with the ZWA-2 guide. Save your network backup and security keys.
- Open Settings → Connectivity → Z-Wave → Add device. For a SmartStart model, follow the QR-code flow and the lock’s inclusion instructions.
- Grant S2 Access Control when supported and requested, using the lock’s own QR/PIN. An older module may use secure S0 instead; do not choose an insecure inclusion just to finish faster.
- Let the device interview finish. With the door open, test lock and unlock from HA, then test the keypad and key. Close the door and repeat while you are there.
- Add a separate door contact, such as the Zooz ZSE41, for the closed-door automation below. Watch its open/closed state before using it as a condition.
Home Assistant’s secure-inclusion guidance explains why locks need a secure connection. Match the lock’s regional frequency to your Z-Wave network; these picks target North American deadbolt installations.
Give each person a code, not your programming code
In Settings → Tools → Actions, use Z-Wave: Set lock user code, target the single lock, and enter an unused Code slot and a private Code. Use the lock’s allowed code length. Keep a simple slot-to-person record, and leave the lock’s master/programming code out of guest sharing.
Home Assistant documents setting a lock code and clearing a code slot. Locks with newer credential-management features also have Set user and Set credential; use the supported actions for your hardware. Do a keypad test after setting a code and after removing it.
Three useful automations
Open Settings → Automations & scenes → Create automation → Create new automation. Add triggers under When, conditions in the middle, actions under Then do, and press Save before testing.
1. Lock after the door is closed for two minutes
Use: a lock and ZSE41 door contact. Two minutes is an example delay you can change. Add two State changed triggers: contact becomes closed (off) for For at least: 00:02:00, and lock becomes unlocked for the same duration. Add two state conditions: contact has been closed for two minutes and lock has been unlocked for two minutes. Then run Lock: Lock on that lock.
Both triggers matter: the door might close after you unlock it, or you might unlock an already-closed door. Requiring both states for the delay covers either order and stops an open door from getting a bolt poked out. Choose only the actual contact and lock entities; unknown and unavailable must not count as closed or unlocked.
State changed documents For at least; state conditions cover the held-state checks. Pending waits are discarded on a restart or automation reload and need another state change to retrigger; use the lock’s native auto-lock if you want an independent timer. Test both event orders and leave the door open once to see the condition block the action.
2. “It’s bedtime, and the door is still unlocked”
Use a Time trigger at your chosen bedtime, a state condition that the lock is unlocked, and your phone’s Companion notification action with a short message: “The entry lock is still unlocked.” This checks the state at bedtime, so a door unlocked hours earlier still gets noticed.
Follow the Time trigger and Companion notification guide. The local check can run without internet; delivery to your phone depends on its notification connection. Start with an alert rather than automatically unlocking or disarming anything. Our Alarmo guide covers the separate alarm side.
3. A guest code with an end date
Use: a Z-Wave lock with supported code slots. Reserve one unused slot for guests. Create a Date and/or time helper with both date and time, plus a toggle called “Guest access active.” Set the deadline before adding the private guest PIN to that slot, then turn the toggle on. Create the helpers under Settings → Devices & services → Helpers, following the toggle and date/time helper instructions.
Create one expiry automation with three triggers: Time at the date/time helper, Home Assistant → Start, and Time pattern with Minutes: /5. Its conditions are that the toggle is on and the deadline has passed. Under Then do, choose Z-Wave: Clear lock user code, the exact lock and the reserved Code slot.
For the deadline condition, use a Template condition like this, replacing the helper ID with yours. Home Assistant’s timestamp functions handle the comparison:
{{ as_timestamp(now()) >=
as_timestamp(states('input_datetime.guest_code_expires'), 99999999999) }}
The date/time helper, Time pattern, startup trigger and clear-code action supply the pieces. The default timestamp makes an unreadable deadline block deletion instead of guessing a date.
The extra triggers catch up after downtime and retry the same reserved slot every five minutes while the toggle remains on. After verifying the expired PIN fails at the keypad, turn the toggle off before reusing that slot. If HA or the radio is offline at expiry, removal waits for it to return; choose a lock-native expiring credential when expiry must happen independently of HA.
Test with a deadline a few minutes ahead, then test a deadline already in the past. Watch the trace and verify the PIN actually stops working. Never use your own daily-access slot for this experiment.
Make the door boring—in a good way
Start with Kwikset 620 LR and a contact sensor for a clear Z-Wave path. Choose Schlage BE469ZP for its touchscreen, Yale Assure Lock 2 for DoorSense, or U100 plus an Aqara Matter hub for fingerprints and Apple home key. Door fit comes first; three useful automations come next.
Head back to the Home Assistant hub for the next project. The Z-Wave guide handles the radio and backups, while Alarmo helps put your contacts to work as an alarm.
Sources & methodology
Where these facts come from.
- Home Assistant Z-Wave setup, secure inclusion and code actions · checked October 23, 2026
- Home Assistant Matter local control and bridges · checked October 23, 2026
- Kwikset HomeConnect 620 LR specifications and auto-lock · checked October 23, 2026
- Schlage BE469ZP specification sheet · checked October 23, 2026
- Schlage BE469ZP Z-Wave security implementation · checked October 23, 2026
- Yale Assure Lock 2 Keypad with Z-Wave model specifications · checked October 23, 2026
- Aqara U100 features and Matter hub requirement · checked October 23, 2026
- Aqara U100 door dimensions and battery specification · checked October 23, 2026
- Home Assistant setting a Z-Wave lock user code · checked October 23, 2026
- Home Assistant clearing a Z-Wave lock user code · checked October 23, 2026
- Home Assistant Lock action and current Actions UI · checked October 23, 2026
- Home Assistant State changed triggers and restart behavior · checked October 23, 2026
- Home Assistant date/time helper · checked October 23, 2026
- Home Assistant toggle helper · checked October 23, 2026
- Home Assistant Time pattern trigger · checked October 23, 2026
- Home Assistant Time trigger · checked October 23, 2026
- Home Assistant startup trigger · checked October 23, 2026
- Companion phone notifications · checked October 23, 2026
- Home Assistant automation editor · checked October 23, 2026
- Home Assistant held-state conditions · checked October 23, 2026
- Home Assistant Template condition · checked October 23, 2026
- Home Assistant timestamp functions and defaults · checked October 23, 2026
Source dates are listed above.
As an Amazon Associate I earn from qualifying purchases.
YOUR NEXT PROJECT / THE GEAR
Parts list
- Kwikset HomeConnect 620 Z-Wave Long RangeCheck price on Amazon
Choose a physical keypad, SmartStart and Z-Wave Long Range for local lock control.
- Schlage Connect BE469ZP CAM 622Check price on Amazon
Choose a touchscreen deadbolt with S2 security and a mechanical backup key.
- Yale Assure Lock 2 Keypad with Z-Wave, Black SuedeCheck price on Amazon
Choose the keyed Yale keypad model when you want its DoorSense auto-lock feature.
- Aqara Smart Lock U100, GrayCheck price on Amazon
Choose fingerprints and Apple home key, with a Matter-capable Aqara hub for Home Assistant.
- Home Assistant Connect ZWA-2Check price on Amazon
Connect your Z-Wave switches, sensors and valve actuator to Home Assistant.
- Zooz ZSE41 800LR Open|Close XS sensorCheck price on Amazon
Use a door or window opening to trigger lights and useful alerts.
Prepared by Racks & Watts.