Level Door Lock Pairing Guide

I ran into a few issues trying to set up my Level Lock in Home Assistant and thought it would be useful to share this quick guide, which pulls together information from a number of resources I found in this forum and in other places online.

Quick Notes

Initial pairing must be done directly with the device running Home Assistant and not through a Bluetooth proxy.

After the initial install you can use an active proxy. Shelly devices do not currently work for this purpose.

Full Guide

The Level lock connects to Home Assistant using Bluetooth and the HomeKit integration. Before getting started make sure that you have the HomeKit pairing code, which can be found on the body of the lock itself or on the box/manual.

The device running your Home Assistant must have Bluetooth enabled and be located within Bluetooth range of your lock. For me, this required temporarily moving the mini PC running Home Assistant from my server room to be next to my door.

The lock will work using a Bluetooth proxy after it is paired but I could not get it to pair with Home Assistant through a proxy. From my research it seems like a number of other people had the same issue.

Turn off any Bluetooth proxies that you have running. With your Home Assistant properly positioned, open the door, lock the bolt, and remove the battery from the deadbolt. Then reinsert the battery and listen for the chime. This wakes up the lock so it’s ready to be paired. Now that the lock is awake it should appear as a new device ready to be added in Home Assistant. Follow the steps and add the lock.

Now that you have the lock paired you can move the machine running Home Assistant back where you want it and use a proxy.

Note that Shelly devices do not currently (August 2024) work as Bluetooth proxies for the Level lock because they do not support active connections. This is confusing because there is an option in Home Assistant to use Shelly devices with Bluetooth as Active proxies. See this link for more information. I found that generic ESP32 Bluetooth proxies work well and have reasonably quick response times.

One final note about the Connect module from Level. I could not get that to work at the same time as the Home Assistant integration. Not sure if that issue was unique to me but my lock only works with Home Assistant when I unpair the Connect module.

Nothing groundbreaking in here but hope that this helps some others.

Just a note from my experience. I had been putting off integrating my 2 Level locks (bolt and touch) to HA because of all the reported problems. Your post got me fired up to finally get some ESP32 dev boards and dive in. It was a piece of cake!

I don’t have BT on my HAOS so I set up a bluetooth proxy in Esphome and placed it near the lock.

I was paired to the Level app and HomeKit on both locks. So I just removed it from HomeKit. It didn’t pop up as available in notifications but in HomeKit Devices in HA I just hit “Add device” and there it was listed by it’s serial number.

I got an error message but entered pairing code anyway and it worked. The device in HA was reporting unavailable for a while but soon enough the connection stabilized and now it’s fine.

I put another proxy by the other lock and same workflow except I didn’t get the error code this time and the lock was immediately available.

I can confidently report successful pairing with ESP32 bluetooth proxy boards.

I have now imported back into HomeKit (note: accessory mode only) and I have access from HA, HomeKit and Level app.

Thanks for giving me the push I needed to move my last items out of HomeKit!

I’m happy I helped even if my experience (and warning) about the initial pairing was not correct for you!

I think the part that most people struggle with is the initial error code when you try to pair first time - it is a BT error code (gatt_bluetooth_something error) but just keep trying to pair and it will work.

Also, my BT proxy boards were literal 2 feet away from the lock as I tried to pair.

I find that the latency is lower from lock/unlock commands now than when I was using HomeKit and HomePod BT connections. It is almost instantaneous now.

That’s interesting. For what it’s worth, I got the errors multiple times and pairing failed even when I entered the HomeKit code. I must have tried this at least 10 times before giving up on the proxy for the initial pairing.

Oh wow, I’ve been looking for a solution to the poor range my two Level Lock+ seem to have. I’ve only used them in Apple Home and they constantly go unresponsive, even with an AppleTV on the other side of a door. I’m curious what your guys did with the ESP devices after you got them to work. Do you have them just plugged into an outlet near the locks? How far away?

I have a proxy within a foot of each lock. Much better performance than I had when paired under Apple HomeKit. You’re going to lose Apple HomeKey though.

I was also able to pair initially using a Bluetooth proxy with no issue. Just had to remove the lock in HomeKit, then it showed up in my discovered devices in Home Assistant right away.

The only thing I’m kind of missing now is battery level. It doesn’t seem to show up in Home Assistant and thus HomeKit either. The batteries have lasted about 8 months when connected natively in HomeKit, so I just hope they last as long in Home Assistant. The Level app never sends me push notifications for low battery warnings for some reason.

Yeah, the Level experience surrounding batteries is poor whether in HA or not. I normally find out the battery is dead when my son has to come in through the garage because the front door stopped working.

Thank you for the guide. I will try this over the weekend. Were you trying a Shelly Gen3 device by any chance?

I used a Gen 2 device. Very curious if Gen 3 will work. The Shelly integration page on HA only has information about Gen 2 devices.

1 Like