Skip to content
Andrew Grimberg edited this page Jun 26, 2026 · 9 revisions

keymaster

Home Assistant keymaster integration for Z-Wave enabled locks. This integration allows you to control one (or more) Z-Wave enabled locks that have been added to your Z-Wave network. Besides being able to control your lock with lock/unlock commands, you can also control who may lock/unlock the device using the lock's front facing keypad. With the integration you may create multiple users or slots and each slot (the number depends upon the lock model) has its own PIN code.

Setting up a lock for the entire family can be accomplished in a matter of seconds. Did you just leave town and forgot to turn the stove off? Through the Home Assistant interface you can create a new PIN instantly and give it to a neighbor and delete it later. Do you have house cleaners that come at specific times? With the advanced PIN settings you can create a slot that only unlocks on specific date and time ranges. You may also create slots that allow a number of entries, after which the lock won't respond to the PIN.

Lovelace Dashboard

Keymaster can automatically generate dashboards for managing your locks using Lovelace strategies. Create a complete Keymaster dashboard with a single line of YAML, or add individual lock views to existing dashboards, you have complete flexibility over how much of the UI you want to adopt. To learn more, review the docs on Lovelace Configuration (Automatic).

Supported Lock Providers

Keymaster supports multiple lock integrations and communication protocols via a provider abstraction model:

  • Z-Wave JS (zwave_js) - Direct node-based lock control with full pin/metadata querying.
  • Zigbee2MQTT (mqtt) - MQTT-based control (requires expose_pin: true in Z2M configuration).
  • ZHA (zha) - Native HA Zigbee Home Automation integration (Note: Many Zigbee locks do not support querying/reading PIN codes directly, meaning ZHA must rely on Keymaster's state cache).
  • Schlage WiFi (schlage) - Virtual slot mapping by prefixing tags to code names.
  • Local Akuvox (local_akuvox) - Virtual slot mapping by tagging door controller user names.

Make sure your lock is already included and working in your respective integration before configuring Keymaster.

Also note: as of keymaster v0.1.0, the packages directory structure is no longer used and can be deleted.