Home Assistant Smart Lock: Keyless Entry That Actually Works Locally

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.

Check Your Devices Security System Guide

Which Protocol for Your Smart Lock?

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.

Z-Wave (Recommended)

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

Zigbee

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

Wi-Fi

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

Matter (Thread)

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

Best Smart Locks for Home Assistant in 2026

Every lock here has been tested with Home Assistant. We focus on local control, battery life, and build quality.

Yale Assure Lock 2

Z-Wave / Zigbee / Matter (swappable modules) • ~$180-250

Top Pick

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

Nuki Smart Lock 3.0 Pro

Wi-Fi + Bluetooth • ~€250-280

Best for Europe

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

Schlage Encode Plus

Wi-Fi + Apple Home Key • ~$300

Apple + HA

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

Aqara U200

Matter (Thread) + Bluetooth • ~$190

Matter Pioneer

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

Tedee GO / Tedee Pro

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

August Wi-Fi Smart Lock (4th Gen)

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

Quick Decision Guide

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

Setting Up Your Smart Lock in Home Assistant

The setup process depends on your protocol. Here's what to expect for each.

Z-Wave Lock Setup

  1. Make sure Z-Wave JS is running (Settings → Add-ons → Z-Wave JS if using HAOS)
  2. Put the lock in pairing mode (usually by pressing a button on the lock interior)
  3. In Z-Wave JS UI, click "Add Node" and select S2 Authenticated when prompted
  4. Enter the DSK PIN from the lock's documentation (5-digit number, usually on a card or sticker)
  5. Wait for the interview to complete. This can take 2 to 5 minutes for locks
  6. The lock appears in Home Assistant as a lock entity with optional sensors (battery, door state)

Important: Always pair locks with S2 security. S0 works but generates 3x more network traffic and is less secure.

Zigbee Lock Setup

  1. Open ZHA or Zigbee2MQTT and start pairing
  2. Put the lock in pairing mode (check your lock's manual for the specific button sequence)
  3. The lock should appear within 60 seconds
  4. For Zigbee2MQTT: check the device page for supported features like PIN code management

Tip: Place a Zigbee router (smart plug or bulb) near your front door. Locks are battery-powered end devices and need a strong signal.

Nuki Setup

  1. Install the Nuki lock on your door cylinder (no drilling, takes about 5 minutes)
  2. Set up via the Nuki app first (calibrate the lock turning distance)
  3. For the Pro: enable the local HTTP API in Nuki app settings
  4. In Home Assistant: Settings → Integrations → Add → search "Nuki" → enter your lock's IP
  5. The lock, battery sensor, and door sensor appear automatically

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.

5 Smart Lock Automations That Make Life Easier

A smart lock without automations is just an expensive lock. Here are the ones worth setting up on day one.

1. Auto-Lock After 5 Minutes

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_door

2. Lock Everything When Everyone Leaves

Uses 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."

3. Unlock When You Arrive Home

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_door

4. Goodnight Routine: Lock All Doors

Trigger 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: all

5. Guest Access with Temporary PIN

Airbnb 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: 5

Managing PIN Codes Through Home Assistant

One 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 PIN Management

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 PIN
  • zwave_js.clear_lock_usercode to remove a PIN
  • Check the lock's event log for which code was used

Keypad Lock Manager

The "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.

Audit Trail

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.

Security Best Practices

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.

Getting Started This Weekend

Here's a realistic timeline for going from "no smart lock" to "fully automated front door."

1

Saturday Morning: Buy and Install (1 to 2 hours)

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.

2

Saturday Afternoon: Pair with Home Assistant (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.

3

Sunday Morning: Build Automations (1 hour)

Start with auto-lock (automation #1 above). Then add the goodnight routine. If you have presence detection set up, add the departure lock automation.

4

Sunday Afternoon: PIN Codes and Dashboard (30 minutes)

Set up family PIN codes. Add a lock card to your dashboard. Optionally install the Keypad Lock Manager blueprint for advanced scheduling.

Not Sure Which Lock Works With Your Door?

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