In this guide, I’m going to show you how to add a Kwikset 888 smart door lock to Home Assistant. Once added, you will be able to lock or unlock the door, view the door status, view battery level, and determine whether or not the door lock is open or closed – all from within Home Assistant.

No more needing to manually create door pin codes on the door itself!

Let’s get started.

Kwikset 98880-005 SmartCode 888 Smart Lock Touchpad Electronic Deadbolt Door Lock with Z-Wave Plus Featuring SmartKey Security in Venetian Bronze
  • Lock or unlock your door from anywhere with a supporting smart home system using your phone.Note: Measure your door's backset, cross bore and thickness to ensure you find the right fit.
  • Expand your security system solution with home connect technology, your keyless entry door lock will now communicate wirelessly to security and home automation systems via z wave
We earn a commission if you make a purchase, at no additional cost to you.

Step 1: Install the lock

First, install the lock with the included instructions. The instructions for this lock are very well written and easy to follow.

Do not install the batteries until the interior portion is mounted on the door.

If you insert the batteries early, the lock will automatically orient itself to the current angle you’re holding it. The lock mechanism will starting turning and “learn” it’s current direction, which means when you go to mount it – the holes won’t line up.

The instructions do warn you of this multiple times, but I just started installing it without reading (all) of them. I ended up having to take the entire lock apart and manually move the gears into the correct place.

Step 2: Test your lock by manually adding a PIN code

Before adding to Home Assistant, you should make sure the door locks and unlocks successfully. Insert the key from the outside and lock/unlock it. If it locks and unlocks fully without it catching on anything, you can proceed.

You should also manually add a pairing code to ensure to opens and closes correctly. To do this:

  1. Open the door.
  2. Press the Program button once (located under the battery cover on the interior portion)
  3. Enter a usercode. (i.e – 1234)
  4. Press the Lock button on the outside.

If the lock button flashes green once, the new code was added successfully. If it flashes 3 times with 3 beeps, it was unsuccessful and you should try again.

Step 3: Create and add Network Key to configuration.yaml

Follow Step 2 and 3 of this guide to create a network key and add it to your configuration file. This is required to securely add the device to Home Assistant.

If you already have a network key, you don’t need to add another.

Step 4: Add Kwikset 888 to Home Assistant

I am using Z-Wave JS and already have a network key generated and added to my config.yaml.

Go to Configuration > Integrations > Z-Wave JS. Then click Configure.

Click Add Node, and then toggle on Use Secure Inclusion.

Then, click Start Secure Inclusion.

Press the A button on the interior portion of your lock and wait it to complete the interview process.

Note: My Kwiket 888 seemed to get stuck on the “initializing” screen for at least 15 minutes. However, when I rebooted Home Assistant, I confirmed that it added all of the entities correctly and I was able to lock, unlock, and view door status and battery level just fine.

Step 5: Enable Disabled Entities

Go to Configuration > Devices > and search for your new lock. In the list of Entities, make sure to enable the disabled sensors.

Click each, and enable.

Step 6: Test it out!

Now that you’ve confirmed all the entities have been added, go ahead and click the LOCK or UNLOCK function. If it works, you are all set!

Wrapping Up

Overall, this lock was super easy to install and add to Home Assistant. In comparison to my Schlage BE469, this one was much simpler to add (The Schlage had to be added a few feet away from my Nortek GoControl zigbee/zwave dongle, but the Kwikset 888 was located on the other side of the house and it still paired super easily. )

For your next steps, I highly recommend installing Keymaster in Home Assistant so you can create and manage lock pin codes directly within Home Assistant.

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.

Similar Posts


  1. Having trouble figuring out where the the network key goes. I am using z-wave js. The guide you linked to has you make a network key ,comments that you remove all “0x” from the network key, an image of an “options” popup, but then says if you have z-wave js you don’t need to add the network key?

    1. Nevermind, I looked into the docs for z-wave.js and realized it generates a network key when the add-on is installed.

  2. John Tejada says:

    Also having issues getting this SmartCode 888 fully setup in Home Assistant. I use Zwave JS which has been setup correctly with all the appropriate network keys, s0_legacy_key and all the s2 variants.
    When I add the node securely it adds it to the list in HA but only shows a status sensor of the device. No entity is created to lock/unlock the device or any other kind of sensor.
    I have made sure that I am adding the device securely and while it does finish interview, I am unable to get any useful entities or sensors. Not sure what else to try.
    Any ideas?

Leave a Reply

Your email address will not be published. Required fields are marked *