ZHA Lock Manager: A Custom Integration for Zigbee Lock Code Management

I recently put together a new custom integration that some of you working with Zigbee locks through ZHA might find useful: ZHA Lock Manager.

The goal was to simplify managing keypad codes across multiple locks without having to dig into service calls or keep external spreadsheets of codes. If you already use ZHA for your locks, this integration adds a Zigbee Locks sidebar panel where you can see everything in one place and handle tasks like setting, enabling, disabling, or clearing codes slot by slot. Each lock can have its own name, maximum slots, and even a slot offset to account for models that report slightly off numbering.

One extra feature is optional integration with Alarmo. When enabled, the integration listens for ZHA keypad unlock events, looks up the matching stored code, and disarms your alarm panel with it. That way, a valid code on the door automatically takes care of the alarm too.

A few things to know if you try it:

  • Codes are stored locally in Home Assistant, encrypted for security.
  • The panel doesn’t import existing codes from your lock, so you’ll want to manage them from the panel going forward.
  • Some locks enforce timing on code changes, so if a service call fails, give it a few seconds and retry.

You can install it via HACS (preferred)
Open the ZHA Lock Manager integration in HACS

or manually copy it into custom_components.

Setup is just like any other integration: add it through Devices & Services and pick your locks. Once running, the panel gives you a clear view of all slots and their status (enabled, disabled, empty).


Screenshot Preview

Here’s what the side panel looks like in Home Assistant:


I’d love to hear how it works with different Zigbee lock models. Feedback, bug reports, or contributions are all welcome on GitHub.

Repo link: dmoralesdev/zha_lock_manager

5 Likes

Works great with a Kwikset 914 lock, thanks! Very simple. Don’t have any alarm system to test.

1 Like

Amazing project, thank you so much. Very painless install!

It would be great if it also recorded when one of the slots/codes was used to open a lock. Having that history to see when a code was used would be really helpful and allow for automation play sound when X code is used.

I’m on HA 2025.12.5. Only problem I’m having is that it will only show one of my locks in lock manager even though I have both added under services.