Lock user code manager (users and PIN-codes credential management) cross-platform/protocols with unified UI and centalized tracking/history which users locked/unlocked your locks #2555
Replies: 5 comments
-
|
Like to add that I initially intented this request as a major enhancemnt and extension of the existing lock management by only requesting the adding of a user interface of PIN-codes for locks part of Home Assistant user accounts management/configuration, butafter researching smart locks solutions with local API control for Home Assistant I was surprised to find out that Home Assistant’s lock integration currently has no built-in default user code management interface what so ever for smart locks (UI for managing users PIN/PINS and locking Tags), nor users event tracking for logging user code lock events for tracking which users locked/unlocked a lock when. I believe enhanced generic lock user management is something that is also wanted for many other integrations that in turn make use of the Home Assistant's lock integration as "lock" integration as a Building block integration (i.e. integration that used and provided by other integrations). Especially now that both Aqara Smart Lock U200 is "Works with Home Assistant" certified, and also Ultraloq (who speciaize in ZWave smart locks) is a Works with Home Assistant partner as well. But perhaps more importantly, there are a lot of other integrations that make use of that lock integration as building block, see: Perhaps could extend the Lock Entiy and Template Lock use it as proof-of-concept if do not want to create a new type of entiry platform? See example the MQTT Lock integration and perhaps aslso Template Lock in ESPHome as well for reference: For example, I have at least seen that August, Yale, and Yale Smart Living (a.k.a. Yale Smart Alarm), and Schlage integrations all seem to be very popular options for smart locks that are featured often by bloggers/vloggers in the Home Assistant Creator Network. PS: I have previously used a Yale Doorman smartlock myself with a radio-module for Verisure, and while their official app and webinterface have a great interface that includes user management for smartlocks as well as some very nice default features for history tracking + notifications with data on users locked/unlocked events, those management features and events are only available via Verisure's proprietary app and cloud-webinterface with a subscription. Still, would be awesome if would replicate the user experince from Verisure's proprietary app and cloud-webinterface for smart-lock user management for PIN/PINS and Tags + user events for notifications/history/tracking for inspiration. (By the way, other than their high subscription fees a major downe with the Verisure integration for Home Assistant is that it does not work locally and instead depends on a cloud service API and uses Cloud Pulling so state reporting lock/unlock events is very slow). |
Beta Was this translation helpful? Give feedback.
-
|
FYI, for reference, Home Assistant 2026.4 release (currently in Beta) adds an initial Matter lock user and credential management services feature which allows you to manage your lock users and PIN codes directly from the Home Assistant UI if you have have a Matter-compatible smart lock. This change adds the ability to manage Matter lock codes from within Home Assistant via the new "Manage Lock" menu added to Home Assistant's frontend (UI):
This awesome contribution to Home Assistant's Matter inteation was initiated by @Ahbrown41 See related frontend and backend pull reqeusts:
This concept initially started as a discussion about PIN management for Matter Door Locks under the feature requests discussion section here:
PS: I understand that that initial Matter lock manager "only" adds some parts of underlying work that is needed to enable other enhanced lock management features s to build on top of this to allow usercode management of doorlocks (i.e. managing user permissions for locks and PIN-usercodes). However I still think that implementing this bacis functionality for Z-Wave and Zigbee lock credentials and lock PIN-codes for devices via the Z-Wave JS integration and the ZHA integrations for Home Assistant could direcctly determine or have indirect influence on future architecture that at least the extended and more advanced cross-platform concepts and principles discussed in this related architecture discussion (started by @raman325): Note! Again, please also see related roadmap discussion which raised by @mkerstner which discusses longterm benefits of having a unified code management system(s) and a shared credential UI for all integrations (i.e. a cross-platform and protocol-agnostic global foundation that suits a range of protocols) that includes codes for both locks and alarm control panels: and the related epic tracker for protocol-agnostic credential management: By the way, when implementated globally for locks then perhaps same or similar solution could also be done for alarm control panel? |
Beta Was this translation helpful? Give feedback.
-
FYI, apparently a pm from Open Home Foundation noted this is wanted and added credential management for Z-Wave locks to a roadmap: (Note that just because they added it to their roadmap does not mean that someone is actually working on it or planning to work on it yet). |
Beta Was this translation helpful? Give feedback.
-
|
FYI, for reference, @mkerstner mentioned in OpenHomeFoundation/roadmap#70 that he has written down some notes on a first scope for the way forward for credential management (which includes locks and alarm control panels) which he outlined in this initial document:
Note that the section on "Access Tracking & History" there focus on event logging and actions on events. |
Beta Was this translation helpful? Give feedback.
-
|
FYI; mkerstner has created a new issue to track a new WIP (work-in-progress) roadmap item to expand on credential management for locks: For reference, in it he also links to an updated document with his own notes on way forward for credential management in Home Assistant: As I understand it, he is now looking for first feedback after the initial release of the Matter lock credentials management in Home Assistant release 2026.3 so do not potentially miss feedback before moving forward with expanding the scope of credential management for locks. |
Beta Was this translation helpful? Give feedback.



Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Describe your core improvement
This is a feature request asking for Home Assistant backend to have a built-in lock user codes and a matching frontend UI manager interface that is cross-platform and integration/protocol-agnostic to unify all user-codes / lock-code / PIN-code and user credential management for locks that fully integrates with the existing lock integration platform/entiry (and make use of logging event entities related to locks).
This is also directly related to specifically requesting integrated UI centalized and standarized event tracking for last known set or changed users codes, also keeping a history of which users locked/unlocked a lock and when + how was locking done (manual from inside, outside keypad, integration service, or Home Assistant Companion, etc.. track user code events and history (last locked/unlocked). That would also imply significantly extending the lock platform/entiry as a building block integration as well.
This feature request is as such asking for holistic approach to a new universal built-in user code manager to handle users PIN-codes for "codelocks" (code locks), preferably user under Home Assistant's user management UI + for "smart locks" user events nativly to Home Assistant's "lock" integration as a Building block integration (i.e. integration that can be used and exposed by other lock integrations) to make the default user experience for handling user code of smart locks and users event/history data equivalent to most smart-lock manufacturer's own proprietary apps.
The point is that PIN-code handling for code-locks should be unified and centralized in the UI for better UX, regardless of the IoT protocol used by the lock manufacturer. Perhaps as default part of the lock integration as a building-block integration (so handled in one location for Z-Wave, Zigbee/ZHA, Matter, HomeKit, MQTT, etc.) instead of different solutions under each and every integration that makes use of the lock integration as a building-block integration.
centralized user codes for locks with handling of users PINs under user management (for all PIN-codes). Please add a single way of handling numeric PIN-codes for all users and allow those to be assigned to one specific lock or multiple locks.
Current limitations
Problem is that HA itself has no definition of user codes or lock management at, so developers would have to add a complete solution for it.
To developers; as background see this directly related architecture/ discussion about a new entity platform for native lock code functionality:
Back-story summery is that Home Assistant's
lockplatform allows users to control the state of a lock, it is currently not nativelyto manage codes for locks. While not all locks have this functionality, many protocols and APIs could support this (including Z-Wave JS, Zigbee/ZHA, Matter, HomeKit, MQTT, and even some proprietary WiFi/BLE locks), but today all integrations are forced to handle lock code management on their own.
Technical benefits
Other than the fact that having standardized user code management would be user-friendly, it might also be worth nothing that to be able to get Z-Wave Alliance certification for Home Assistant as a Z-Wave Controller it must have UI support for allowing the end-users to see the following related Z-Wave CC (Command Classes) properties inside the UI:
Having history tracking events and history would allow enable things a notification like “lock was unlocked by keypad operation user1” (Danalock does it) which can also be used for automation. Making it easy to enable notifications when a specific user locks/unlocks a lock (which as a parent I have previously used to notify when out kids lock and unlock the door lock).
Note that ZWave JS UI (external user interface for the Z-Wave driver) does provide a way to directly access the user code assignments via UI.
Additional context
FYI; @raman325 has a "Lock Code Manager" integration as a custom component available via HACS that allows you to manage user codes for locks but that is so far only for Z-Wave and not either natively integrated into Home Assistant's settings. See:
Lock Code Manager - an integration to manage lock usercodes (Z-Wave only, for now!)
That custom lock code manager component was in turn careated as alternative for another custom component called "KeyMaster" (Lock-Manager for ZWave) by @FutureTense with major contributions from @firstof9 and @raman325 that is also still an active project:
https://community.home-assistant.io/t/keymaster-z-wave-lock-manager-and-scheduler/166419
Here are some key features from raman325's "Lock Code Manager" integration:
lock_code_manager_lock_state_changedeventWhere the most important feature is "Extensible to support other integrations that support usercodes":
These 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 specifc 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.
Beta Was this translation helpful? Give feedback.
All reactions