Schlage Z-Wave + Home Assistant
Complete setup guide for smart lock control
Quick Summary
- ✓ Compatibility: Full local control via Z-Wave
- ✓ Cloud required: No (100% local)
- ✓ Subscription: None required
- ! Important: Requires Z-Wave USB controller + secure inclusion
1. Prerequisites
Before starting, ensure you have:
- Home Assistant installed and running
- Z-Wave USB controller (800-series recommended, 500/700-series also work)
- Schlage Z-Wave lock: BE469, BE469ZP, BE489, or Connect series
- 6-digit programming code for your lock (came with the lock)
Supported Models
- BE469 / BE469ZP: Schlage Connect Camelot touchscreen deadbolt
- BE489: Schlage Encode (note: WiFi version doesn't use Z-Wave)
- FE599: Schlage Connect lever lock
Z-Wave vs WiFi: This guide covers Z-Wave models. If you have a Schlage Encode WiFi lock, it uses a different integration.
2. Z-Wave Controller Setup
If you don't already have Z-Wave set up in Home Assistant:
Step 1: Connect Your Controller
Plug your Z-Wave USB stick into your Home Assistant device. Popular options include:
- Zooz ZST39 (800-series, recommended)
- Aeotec Z-Stick 7
- HUSBZB-1 (combo Zigbee/Z-Wave)
Step 2: Install Z-Wave JS Add-on
- Go to Settings → Add-ons → Add-on Store
- Search for Z-Wave JS (or Z-Wave JS UI for advanced features)
- Install and start the add-on
- The Z-Wave integration should auto-configure
Step 3: Generate Security Keys
During setup, Home Assistant will generate security keys for S0 and S2 encryption. These are stored automatically. Schlage locks require secure inclusion, so these keys are essential.
3. Factory Reset the Lock
For a clean pairing, factory reset your Schlage lock. This clears any previous Z-Wave network associations.
Reset Procedure
- Remove the battery pack from the lock
- Press and hold the Schlage button on the outside
- While holding, reconnect the battery pack
- Continue holding until the lock beeps and the Schlage button flashes green
- Enter your 6-digit programming code
- The lock is now reset to factory defaults
Note: Factory reset clears all user codes. You'll need to re-program them after setup.
4. Pairing with Home Assistant
Schlage Z-Wave locks must be paired with secure inclusion. The pairing must complete within 15 seconds.
Step 1: Position for Pairing
Move your Home Assistant device (or Z-Wave controller) within 6 feet of the lock. Strong signal is required for secure pairing.
Step 2: Start Inclusion in Home Assistant
- Go to Settings → Devices & Services → Z-Wave
- Click the menu (three dots) → Add Device
- Home Assistant will enter inclusion mode
Step 3: Put Lock in Pairing Mode
- Open the door (don't do this with the door closed)
- Press the Schlage button on the outside
- Enter your 6-digit programming code
- Press 0
- The lock should beep and flash indicating pairing mode
Step 4: Complete Pairing
Within seconds, Home Assistant should detect the lock. If it shows as "Unknown Node", go to the device and run Re-interview to populate all entities.
5. Managing User Codes
One of the best features of Z-Wave locks is managing PIN codes directly from Home Assistant.
Setting a User Code
Use Developer Tools → Services:
service: lock.set_usercode
target:
entity_id: lock.front_door
data:
code_slot: 1
usercode: "1234" Clearing a User Code
service: lock.clear_usercode
target:
entity_id: lock.front_door
data:
code_slot: 1 Keymaster Add-on
For advanced code management (schedules, notifications, guest codes), consider installing the Keymaster integration. It provides a UI for managing codes without YAML.
6. Automation Ideas
Auto-Lock After 5 Minutes
automation:
- alias: "Auto-lock front door"
trigger:
- platform: state
entity_id: lock.front_door
to: "unlocked"
for: "00:05:00"
action:
- service: lock.lock
target:
entity_id: lock.front_door Notify When Unlocked
automation:
- alias: "Notify on unlock"
trigger:
- platform: state
entity_id: lock.front_door
to: "unlocked"
action:
- service: notify.mobile_app
data:
message: "Front door was unlocked" Unlock on Arrival
automation:
- alias: "Unlock when I arrive home"
trigger:
- platform: zone
entity_id: person.yuvi
zone: zone.home
event: enter
condition:
- condition: state
entity_id: lock.front_door
state: "locked"
action:
- service: lock.unlock
target:
entity_id: lock.front_door 7. Troubleshooting
Lock Blinks Red During Pairing
- Move Z-Wave controller closer to the lock
- Factory reset the lock and try again
- Ensure you're using secure inclusion (not standard)
Lock Shows as "Unknown Node"
- Go to the device in Z-Wave integration
- Click Re-interview device
- Wait for interview to complete (may take a few minutes)
Lock Status Not Updating
- Toggle the lock a few times manually
- Check if the lock is within Z-Wave range
- Consider adding a Z-Wave repeater (any mains-powered Z-Wave device)
User Codes Not Working
- Codes must be at least 4 digits
- Code slots range from 1-254
- Wait a few seconds after setting before testing
8. Frequently Asked Questions
Does Schlage work offline with Home Assistant?
Yes, Schlage Z-Wave locks work 100% locally with Home Assistant. Once paired via Z-Wave JS, the lock communicates directly with your Z-Wave controller without any cloud or internet connection required. You can lock, unlock, and manage PIN codes even if your internet is down.
Which Schlage lock model is best for Home Assistant?
The Schlage BE469ZP (Connect Camelot) is the most popular choice for Home Assistant. It uses Z-Wave Plus for better range and battery life, supports up to 30 user codes, and has a touchscreen keypad. The BE489 (Encode) WiFi version does not use Z-Wave and requires a different integration with cloud dependency.
Is Z-Wave better than WiFi for smart locks?
For Home Assistant, Z-Wave is generally better for smart locks. Z-Wave offers true local control (no cloud required), lower power consumption (longer battery life), mesh networking for extended range, and encrypted communication. WiFi locks typically require cloud services and drain batteries faster.
What happens if the lock battery dies?
Schlage Z-Wave locks have a low battery warning that appears in Home Assistant when batteries reach about 20%. If batteries die completely, the lock still works with physical keys and the keypad (using the 9V battery backup terminal on the outside). Replace batteries to restore Z-Wave functionality.
Can I use Schlage with guest codes in Home Assistant?
Yes, you can manage temporary and guest PIN codes directly from Home Assistant using the lock.set_usercode and lock.clear_usercode services. For advanced features like scheduled codes, time-limited access, and automatic notifications when codes are used, install the Keymaster integration via HACS.
9. Sources
This guide was compiled from official documentation:
- Home Assistant Z-Wave JS Integration (official docs)
- Schlage BE469 Community Thread
- SmartHomePursuits Schlage Guide
Last verified: 2026-01-31 against Home Assistant 2026.1. If you find outdated information, let us know.
Need help with your lock setup?
We configure Home Assistant systems throughout Oklahoma. Get professional installation with ongoing support.