dorkhub

keymaster

Home Assistant integration for managing Z-Wave enabled locks

FutureTense
Python34256 forksMITupdated 1 day ago
git clone https://github.com/FutureTense/keymaster.gitFutureTense/keymaster

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.

For more information, please see the topic for this package at the Home Assistant Community Forum.

Lovelace Dashboard

Keymaster includes Lovelace strategies that automatically generate dashboards for managing your locks. You can create a complete Keymaster dashboard with a single line of YAML, or add individual lock views to existing dashboards. See the Lovelace Configuration wiki page for setup instructions and configuration options.

Supported Lock Providers

Keymaster supports multiple lock integrations and communication protocols via a provider abstraction model. Below is the support matrix of features for each provider:

Integration / Platform Domain Protocol Push Updates Connection Status Description / Notes
Z-Wave JS zwave_js Z-Wave Direct node-based lock control with full pin/metadata querying.
Zigbee2MQTT mqtt Zigbee MQTT-based control (requires expose_pin: true in Z2M config).
ZHA zha Zigbee Native HA Zigbee Home Automation integration.
Schlage WiFi schlage Wi-Fi Virtual slot mapping by prefixing tags to code names.
Local Akuvox local_akuvox LAN Virtual slot mapping by tagging door controller user names.
Matter matter Matter Standardized Matter Lock Cluster PIN credential management.
Nuki nuki Local API 🚫 🚫 Nuki Keypad PIN management (Not planned due to lack of hardware for testing).
Tedee tedee Cloud/Local 🚫 🚫 Tedee Keypad PIN management (Not planned due to lack of hardware for testing).

Key:

  • ✅ Fully Supported
  • ❌ Not Supported
  • ⏳ Planned / Work in Progress
  • 🚫 Not Planned (due to lack of hardware for testing)

Installation

Please visit this project's Wiki for the latest installation and update procedure.

Zigbee2MQTT Support

Keymaster supports Zigbee locks integrated via Zigbee2MQTT. Because Keymaster needs to read and write PIN codes directly from the lock, you must enable PIN code exposure in Zigbee2MQTT.

To do this, ensure expose_pin is set to true in your Zigbee2MQTT settings for the lock. For example, in your configuration.yaml for Zigbee2MQTT:

devices:
  '0x000d6f000d6f000d':
    friendly_name: front_door_lock
    expose_pin: true

Without this setting, Keymaster will not be able to retrieve or set user codes on the lock.

more like this

esphome_modbus_bridge

ESPHome Modbus TCP↔RTU Bridge – Transparent bridge for ESP8266/ESP32 that lets multiple Modbus TCP clients communicate…

C++53

ESPGeiger

☢️ ESP8266 / ESP32 Firmware for collecting and reporting statistics from Geiger counters

C++53

search

search projects, people, and tags