Smart locks are one of the most satisfying Home Assistant projects. Walk up to your door and it unlocks. Leave the house and everything locks behind you. No cloud required, no subscription fees, full control over who gets in and when. This guide covers the best locks, protocols, and automations to make it happen.
Jump to a section
The protocol determines how your lock talks to Home Assistant. This choice matters more for locks than almost any other device, because security and reliability are non-negotiable for your front door.
The gold standard for smart locks. S2 security framework provides AES-128 encryption. Operates on 800/900 MHz (less interference than Wi-Fi/Zigbee). Every major lock brand supports it. Local control through Z-Wave JS in Home Assistant.
Best for: Maximum security and widest lock selection
Fewer lock options than Z-Wave, but Yale and Aqara make solid Zigbee locks. Mesh networking means nearby Zigbee devices strengthen the signal to your door. Works great if you already have a Zigbee coordinator for other devices.
Best for: Existing Zigbee setups, budget-friendly
No extra hub needed, which sounds appealing. The downside: higher battery drain, cloud dependency with most brands, and if your Wi-Fi goes down, so does remote control. Nuki's Wi-Fi implementation is one of the few that handles this well.
Best for: Simple setups, Nuki fans
The new standard that promises cross-platform compatibility. Thread provides mesh networking with low power consumption. Still early days for locks: the Aqara U200 and Yale Assure 2 with Matter module are the pioneers. Works locally with Home Assistant.
Best for: Future-proofing, multi-platform homes
Every lock here has been tested with Home Assistant. We focus on local control, battery life, and build quality.
Z-Wave / Zigbee / Matter (swappable modules) • ~$180-250
The most versatile lock on the market. Buy it with one protocol module and swap later if needed. Touchscreen or keypad options. Up to 250 PIN codes. Sleek design that fits most US deadbolts. The Z-Wave version with Z-Wave JS gives rock-solid local control and full PIN management through Home Assistant.
Battery: ~12 months (4x AA) • Integration: Z-Wave JS, ZHA, or Matter • PIN management: Yes, via Z-Wave
Wi-Fi + Bluetooth • ~€250-280
The European favorite. Fits over your existing cylinder lock, so no door modifications needed. Built-in Wi-Fi means no bridge required (unlike the non-Pro). Excellent Home Assistant integration via the Nuki component. Auto-unlock based on phone proximity is surprisingly accurate. The only downside: Wi-Fi eats battery faster than Z-Wave.
Battery: ~4-6 months (4x AA) • Integration: Nuki (local API) • PIN management: Via Nuki Keypad accessory
Wi-Fi + Apple Home Key • ~$300
The only lock with Apple Home Key support (tap your iPhone or Apple Watch to unlock). Also works with Home Assistant through the HomeKit Controller integration or Wi-Fi. Built like a tank. If you have iPhone users in the household who want tap-to-unlock alongside Home Assistant automations, this is the one.
Battery: ~12 months (4x AA) • Integration: HomeKit Controller or Wi-Fi • PIN management: Yes, via keypad
Matter (Thread) + Bluetooth • ~$190
One of the first Matter-over-Thread smart locks. Fits European cylinders and US deadbolts (with adapter). Fingerprint reader built in, which is faster and more convenient than PIN codes. Home Assistant's Matter integration handles it well, though Matter lock support is still maturing. Great choice if you're building a Thread mesh network.
Battery: ~6-8 months (CR123A) • Integration: Matter • PIN management: Via Aqara app + fingerprint
Bluetooth + Wi-Fi (bridge) • ~€150-300
Polish-made, gorgeous design, incredibly small. The Tedee Pro has a rechargeable battery and Matter support. The GO is the budget option with replaceable batteries. Needs the Tedee Bridge for Home Assistant integration. A strong Nuki competitor in Europe with arguably better build quality and a more polished app.
Battery: ~6-12 months • Integration: Tedee (cloud API) or Matter (Pro) • PIN management: Via Tedee Keypad accessory
Wi-Fi + Bluetooth • ~$230
Retrofit design (keeps your existing deadbolt and keys). Built-in Wi-Fi, no bridge needed. DoorSense sensor tells Home Assistant if the door is actually closed, not just locked. Integration is via the August/Yale cloud or HomeKit Controller. The cloud dependency is the main drawback for local-first setups.
Battery: ~6 months (CR123A) • Integration: August (cloud) or HomeKit Controller • PIN management: Via August Keypad accessory
Best overall: Yale Assure Lock 2 (Z-Wave)
Best for Europe: Nuki 3.0 Pro or Tedee Pro
Best for Apple fans: Schlage Encode Plus
Best future-proof: Aqara U200 (Matter)
Best budget: Tedee GO (~€150)
Best retrofit: August 4th Gen or Nuki
The setup process depends on your protocol. Here's what to expect for each.
Important: Always pair locks with S2 security. S0 works but generates 3x more network traffic and is less secure.
Tip: Place a Zigbee router (smart plug or bulb) near your front door. Locks are battery-powered end devices and need a strong signal.
Pro tip: Enable the Nuki local API and disable cloud if you want fully local control. Add your HA IP to the allowed list in Nuki app settings.
A smart lock without automations is just an expensive lock. Here are the ones worth setting up on day one.
Forgot to lock? No problem. This catches every unlocked door and locks it after 5 minutes. Simple, but it catches the "did I lock the door?" anxiety every single time.
automation:
- alias: "Auto-lock front door after 5 minutes"
trigger:
- platform: state
entity_id: lock.front_door
to: "unlocked"
for:
minutes: 5
action:
- service: lock.lock
target:
entity_id: lock.front_doorUses presence detection to lock all doors when the last person leaves home. Combine with presence detection for best results.
automation:
- alias: "Lock all doors when everyone leaves"
trigger:
- platform: state
entity_id: zone.home
to: "0"
action:
- service: lock.lock
target:
entity_id:
- lock.front_door
- lock.back_door
- service: notify.mobile_app
data:
message: "All doors locked. Everyone has left."Hands full of groceries? This unlocks the door when your phone enters the home zone. Add a condition so it only works during daytime and when you're actually approaching the door (not just walking around the house).
automation:
- alias: "Unlock front door on arrival"
trigger:
- platform: state
entity_id: person.your_name
to: "home"
condition:
- condition: state
entity_id: lock.front_door
state: "locked"
- condition: time
after: "07:00:00"
before: "23:00:00"
action:
- service: lock.unlock
target:
entity_id: lock.front_door
- delay:
minutes: 2
- service: lock.lock
target:
entity_id: lock.front_doorTrigger this from a dashboard button, voice command, or NFC tag on your nightstand. Locks every door, arms the alarm, and turns off the lights.
automation:
- alias: "Goodnight routine"
trigger:
- platform: event
event_type: mobile_app_notification_action
event_data:
action: "GOODNIGHT"
action:
- service: lock.lock
target:
entity_id: all
- service: alarm_control_panel.alarm_arm_night
target:
entity_id: alarm_control_panel.home_alarm
- service: light.turn_off
target:
entity_id: allAirbnb host? Dog walker? Cleaner? Create a PIN code that only works during specific hours, then automatically expires. Requires a lock with PIN management support (Yale Z-Wave, Schlage).
automation:
- alias: "Enable cleaner PIN on Thursdays"
trigger:
- platform: time
at: "09:00:00"
condition:
- condition: time
weekday:
- thu
action:
- service: zwave_js.set_lock_usercode
target:
entity_id: lock.front_door
data:
code_slot: 5
usercode: "8742"
- alias: "Disable cleaner PIN Thursday afternoon"
trigger:
- platform: time
at: "14:00:00"
condition:
- condition: time
weekday:
- thu
action:
- service: zwave_js.clear_lock_usercode
target:
entity_id: lock.front_door
data:
code_slot: 5One of the biggest advantages of a smart lock on Home Assistant: full PIN code management without opening the lock manufacturer's app.
Z-Wave JS gives you the most control. You can set, clear, and list all PIN codes directly from Home Assistant services. Each code gets a slot number (1 to 250 on most locks), so you can track who has which code.
zwave_js.set_lock_usercode to add/change a PINzwave_js.clear_lock_usercode to remove a PINThe "Keypad Lock Manager" blueprint (available on the Home Assistant community) provides a full UI for managing lock codes. Set schedules, temporary access windows, and get notifications when specific codes are used. Highly recommended for Airbnb or rental setups.
Z-Wave locks report which code slot was used for each unlock event. Combine this with notifications to get alerts like "Front door unlocked by Cleaner PIN at 9:03 AM." Track every entry in the Home Assistant logbook.
Your front door deserves extra caution. Follow these rules and your smart lock will be more secure than the average key-and-tumbler setup.
Always have a physical backup. Keep a key on you or enable a keypad PIN. Smart tech fails. Batteries die. Your Home Assistant server can go down. A physical way in is not optional.
Use local protocols. Z-Wave and Zigbee work without internet. If your Wi-Fi goes down, a cloud-dependent lock might leave you stranded. Local control means the lock keeps working regardless.
Secure your Home Assistant. If someone accesses your HA dashboard, they can unlock your door. Use strong passwords, enable 2FA, and be careful with remote access. Never expose your HA instance directly to the internet without a VPN or tunnel.
Battery alerts are mandatory. Set up a notification when battery drops below 20%. A dead lock battery is a lockout waiting to happen. Most locks give weeks of warning, but only if you're paying attention.
Be careful with auto-unlock. Presence-based unlocking is convenient but has a blast radius. GPS can be inaccurate by 50+ meters. Consider requiring a second factor (NFC tap, Bluetooth proximity, or manual trigger) before auto-unlocking.
Rotate guest PINs. Never leave temporary codes active longer than needed. Use automations to create and destroy PINs on schedule. Review your code slots monthly.
Here's a realistic timeline for going from "no smart lock" to "fully automated front door."
Pick a lock from our recommendations. Most retrofit locks (Nuki, August, Tedee) install in under 10 minutes with no drilling. Deadbolt replacements (Yale, Schlage) take 15 to 30 minutes.
Follow the setup steps above for your protocol. Test lock/unlock from the Home Assistant dashboard. Verify the battery sensor is reporting. Set up a battery low notification.
Start with auto-lock (automation #1 above). Then add the goodnight routine. If you have presence detection set up, add the departure lock automation.
Set up family PIN codes. Add a lock card to your dashboard. Optionally install the Keypad Lock Manager blueprint for advanced scheduling.
Run a free HomeShift scan to check if your current smart home devices are compatible with Home Assistant. We'll tell you what works, what needs replacing, and how to get started.
Free Compatibility Scan