How to add Schlage Connect to Home Assistant

by Danny
8 comments

READING TIME: 6 MINUTES

After many hours, and reading through tons of forums posts – I was finally able to add my Schlage Camelot BE469 to Home Assistant. For reference, here’s what the lock looks like:

SCHLAGE Z-Wave Connect Camelot Touchscreen Deadbolt with Built-In Alarm, Works with Amazon Alexa via Wink, Aged Bronze, FE469NX ACC 716 CAM LH
  • Works with Alexa for voice control (hub required, Alexa device and hub sold separately). Exterior Dimensions: 3 x 5 x 1 inches,Interior Dimensions: 3 x 8 x 2 inches
  • Z wave technology connects to your home automation system and lets you lock or unlock your door remotely via the web or smartphone
  • 3 Alert modes (activity, tamper and forced entry) let you know when someone is coming or going and communicate potential security threats

To save you the hassle of reading through everything like I had to, I’ve consolidated everything into one how-to guide.

My Schlage lock was initially paired to SmartThings. Since I migrated from SmartThings to Home Assistant, I first had to exclude the lock from SmartThings.

If you’re Schlage Z-wave lock wasn’t added to SmartThings, you can skip Step 1.

Also, if you’re a fan of setting up security devices in Home Assistant, I recommend checking my Home Assistant Alarmo guide, which will walk you through setting up a home alarm system in Home Assistant without needing to touch a single line of yaml.

You might also find my Home Assistant Keymaster guide useful, where you can create and manage pin codes directly from Home Assistant after you set up this guide.


Step 1: Exclude Lock From SmartThings

To exclude your lock, you will need to first remove it from SmartThings. You will also need your 6-digit pairing code.

The default pairing code is located in your Schlage instruction manual, but you can also find it on a sticker inside located on the “inside” section of your lock.

  1. Move your SmartThings hub as close as possible to your Schlage Z-Wave lock. (Mine was about 6 feet away.)
  2. Open your door. Put your lock into the “locked” position, with the lock fully extended.
  3. Press the SCHLAGE button on the outside of your door.
  4. Enter your 6-digit Programming Code, then press 0.
  5. From the SmartThings app, select your hub > 3 dots > Z-Wave Utilities > Z-Wave exclusion. After a few seconds, you should see a “1 device has been excluded” message.

If it doesn’t exclude it right away, you may have to try excluding it a few times.


How to Factory Reset Schlage Camelot BE469 Lock

For my scenario, I had to factory reset my Schlage lock before I could pair it to Home Assistant.

To factory reset your lock:

  1. Unplug the battery.
  2. Hold the Schlage outside button down, plug the battery back in, and then enter the programming code.
  3. Then, follow the steps above to exclude it.

Step 2: Create a Network Key

To generate a network key, download the Home Sssistant integration called ‘Terminal & SSH“. (Supervisor > Add-on store > Terminal & SSH).

Add this to your Sidebar afterwards.

Open the Terminal and paste this code to generate a network key in hex:

cat /dev/urandom | tr -dc '0-9A-F' | fold -w 32 | head -n 1 | sed -e 's/\(..\)/0x\1, /g' -e 's/, $//'

This will create a random string of numbers like 0x9a, 0x57, etc

Unfortunately you aren’t able to simply copy & paste this from a terminal, so open Notepad and manually type it out. Then, copy to clipboard.

ZWAVE JS NOTE: If you are using Zwave JS, not OpenZWave or the old deprecated z-wave integration, remove all 0x’s, spaces, and comma’s.

It would look something like ’87DF515BAD31DB54972cAE1c11BAA1′


Step 3: Add Network Key to Configuration.yaml

This section is only for openwave or the old zwave integration.

ZWaveJS users do not need to add anything to the configuration.yaml file.

Next, open File Editor. If you don’t have the File Editor integration installed yet, you’ll need to install that too. (Supervisor > Add-on store > File Editor).

Click the folder icon in the top left corner and then choose configuration.yaml.

Under your zwave configuration, add your network key like I’ve done and then Save.

Reboot Home Assistant. (Supervisor > System > Host System > Reboot)


Step 4: Secure Join node to Home Assistant

Schlage locks must be added as “secure join” devices. If you accidentally added it as a regular node, see step 5 to remove it.

Click Configuration > Integrations > Z-Wave (or JWave JS) > Configure. Then click Add Node Secure. After a few moments, you’ll see a new Schlage lock node show up.


Optional Step 5: Remove Regular Schlage node

IMPORTANT: You only need to follow this step if you clicked “Add Node” instead of “Add Node Secure”.

From the same page, click Remove Node and then select your Schlage lock. Enter the programming code. I believe you’ll see a red checkmark on the outside of your lock if this done correctly.

Then, reboot Home Assistant and run through Step 4 one more time, this time choosing Add Node Secure.


Step 6: Test Your Lock

To test, go to Configuration > Integrations > Z-Wave > select the devices:

Then select your lock.

Under Entities, you should see a Lock or Unlock status. Go ahead and toggle it a few times.

For some reason, the status wasn’t reporting correctly initially for me. But after toggling it a couple times, the status seemed to report correctly.


Step 7: Adding New Lock Code

At this stage, you should be able to lock and unlock your door with the default lock codes (located in your instructions or on the inside of your lock where you found the programming code).

From here, you have two options: Add a Lock Code Manually, or using the Keymaster integration. The Keymaster integration, which gets installed through HACS, will allow to create pin codes from within Home Assistant. You can follow this guide for step by step instructions: https://smarthomepursuits.com/how-to-install-keymaster-to-manage-z-wave-lock-pins-in-home-assistant/

To add a new code, follow the steps in the instruction manual:

Enter 6-digit programming code > number 1 > enter 4-digit pin > Enter 4 digit pin again. You’ll then see two checkmarks. Hit the Schlage button on the outside of the door and test the code.

Now you should be able to open your door with a brand new User Code!


My Favorite Home Assistant Devices

Below are some of the Home Assistant-compatible devices I personally use in my home. I highly recommend each of them.

The full list of all Home Assistant compatible & recommended devices I use can be found on my Equipment List page.

8 comments

You may also like

8 comments

Christopher T Pham May 19, 2021 - 4:34 am

Thanks for posting this. I found a website long time ago that showed me how to pair my deadlock but it was difficult to find and follow. At that time… I did not know I had to unpair it from my hub and use a network key.

I’m in the process of moving my home assistant from my rpi to my unraid server so I have to do all the unpairing and paring for all my zwave devices. This page is a nice guide to review.

This site

Reply
Danny May 19, 2021 - 5:08 am

That’s great, I’m glad my guide is useful to you!

Reply
LB June 28, 2021 - 3:43 am

Hoping you are still seeing comments for this page. I followed the instructions and was able to get my Schlage Be469 into Home Assistant. I can lock/unlock in HA. However, I want to be able to control them in HomeKit. I have HomeKit integration with Home Assistant, but I can only see sensors related to the lock. There is nowhere I can simply lock/unlock in HomeKit. Is this normal? If so, should I use a virtual switch in HomeKit to control the lock/unlock functionality?

Reply
Danny June 28, 2021 - 3:52 am

Hi there,

Yes, I’m still responding to comments! First, I’m glad you got it working by following my guide.

Unfortunately, I don’t have any Apple products and haven’t tested or used Homekit, so I’m really not sure the best approach to unlock via the Homekit integration. I wish I could be of more help!

Reply
Josh September 23, 2021 - 6:20 am

Thanks for the guide. Do you know of a way to set up multiple codes for multiple users? That’s the one reason why I have my Schlage lock still connected to SmartThings despite migrating the rest of my Zwave devices over to HA.

Thanks.

Reply
Danny September 23, 2021 - 5:20 pm

Hey Josh,

You can use the Keymaster integration and set as many codes as you would like. For each PIN, you give it a name. In the logfile/notifications, it will show the name of the user who unlocked it. This guide will walk you though setting up Keymaster: https://smarthomepursuits.com/how-to-install-keymaster-to-manage-z-wave-lock-pins-in-home-assistant/

Reply
jds October 6, 2021 - 3:22 am

Thanks for the guide. it is now possible to add a z-wave lock using S2 authentication, which has both security and communication advantages. Make sure you have all the keys generated in the Zwave JS addon configuration tab. Then use the zwavejs2mqtt web UI to add the device. You can run both arsons, but just turn off the MQTT reporting on the latter. When you add the lock in secure mode, it gives you some options, so pick the one that tries S2. After you start the pairing, you have a limited time before the lock times out, so you need to be quick adding the DSK code when it asks.If you are fast enough, it will continue. The pairing dialog will end, but it is still polling the lock for several minutes, so be patient. The device table in the web UI will show you if it paired using S2 and when it is done polling.Apparently, this prevents your security key from ever being transmitted in the clear, unlike S0. They also claim that it uses less bandwidth on the network, which should increase stability.

Reply
Danny October 8, 2021 - 2:01 pm

Thanks Jay – I haven’t updated my z-wave JS to allow for S2 authentication yet, so thanks for the info! I’m sure there are others looking for steps on how to do so with S2 auth – I appreciate you documenting the process for us.

Reply

Leave a Comment