Repository navigation
Repair Issues
Lock Code Manager reports problems it can't fix on its own as repairs, under Settings → System → Repairs. This page lists every one: what it means, and what to do.
Some repairs have a Submit button. For the ones about a slot LCM has stopped trying, Submit means try again. For the others it only acknowledges the repair. Repairs without a Submit button go away on their own once the cause is fixed.
| Repair | Submit does |
|---|---|
| Sync suspended for slot | Try again |
| Code not removed from slot | Try again |
| Slot disabled | Acknowledge |
| PIN required | Acknowledge |
| Lock unreachable | — (clears itself) |
| Lock setup failed | — (clears itself) |
| Lock dropped | — (clears itself) |
| Check slots on re-paired lock | Acknowledge |
| Reload Lock Code Manager to use re-paired lock | — (clears itself) |
| Unmanaged code | Choose Clear or Keep |
| Number of Uses has been removed | Acknowledge |
Title: Lock Code Manager: Sync suspended for slot N on Lock
What it means: LCM tried to put a user's PIN on this lock three times and the lock never took it — or the lock kept changing the code back, for example from its keypad — so LCM has stopped trying for that slot. It waits 30 seconds after the first failed try and 2 minutes after the second, so this usually appears a few minutes after the change. The repair quotes the reason when the lock or its integration gave one, and anything the integration can measure about its connection to the lock.
The user's code is not on that lock until this is resolved. Other locks and other users are not affected.
What to do: Fix the cause given in the reason — for example a weak radio link, a lock that needs re-interviewing, or a PIN the lock doesn't accept — then click Submit to try again. Changing the user's PIN, or turning them off, also starts the slot over.
LCM keeps reading the slot without writing to it. If a fresh read shows the lock already holds the PIN — say the radio link recovered — the repair clears itself. On Z-Wave JS locks, which LCM doesn't poll, run hard_refresh_usercodes to check. A slot that was stopped because the lock kept changing the code back doesn't clear itself; it waits for Submit or a change to the user. After a Home Assistant restart LCM tries the slot again from the start, and the repair goes away once the slot is in sync.
Title: Lock Code Manager: Code not removed from slot N on Lock
What it means: LCM tried twice to clear a code from this slot — because the user was removed, turned off, lost their condition, or the lock was removed from the entry — and the lock didn't clear it. The code may still be on the lock and may still open the door.
What to do: Delete the code at the lock itself, from its keypad or the lock maker's app. Then click Submit: LCM tries the clear again and confirms the slot is empty. If what the slot should hold changes — the user is turned back on or given a new PIN — LCM starts over and the repair goes away. LCM keeps reading the slot without writing to it: if a fresh read shows it empty after LCM's clear reached the lock — for example because you deleted the code at the keypad — the repair clears itself (on Z-Wave JS locks, run hard_refresh_usercodes to check). After a Home Assistant restart LCM tries the clear again from the start.
Title: Lock Code Manager: Slot N disabled
What it means: A lock refused the user's PIN, so LCM turned the user off. The reason names the lock, and when known, why — for example that the same PIN is already in another slot on that lock. LCM checks for that itself before writing: on a lock that can read its codes, a PIN already on the lock in another slot is refused without being sent.
What to do: Fix the cause — give the user a different PIN, or remove the duplicate code from the lock — and turn the user back on. The repair goes away once the user's code is on the lock. Submit only acknowledges it.
Title: Lock Code Manager: PIN required for slot N
What it means: Something tried to turn on a user who has no PIN. A user with nothing to present can't be enabled, so the request was refused.
What to do: Set a PIN for the user, then turn them on. The repair goes away when they are enabled. Submit only acknowledges it.
Title: Lock unreachable: lock.example
What it means: LCM hasn't been able to get an answer from this lock for 12 tries in a row. Syncing codes to it is paused; LCM keeps checking at a slower pace (between 1 and 30 minutes apart).
What to do: Check the lock: battery, radio or network link, and whether its own integration shows it as available. Nothing needs to be done in LCM. The repair goes away once the lock answers, and syncing resumes. hard_refresh_usercodes makes LCM try the lock right away.
Title: Lock setup failed: lock.example
What it means: LCM couldn't set the lock up — for example the lock doesn't advertise PIN support, or (Z-Wave) its interview is stale or came from a driver too old to report it correctly. The repair quotes the error. The lock's LCM entities exist but are unavailable, and no codes are synced to it.
What to do: Fix the cause named in the error (often: re-interview the lock in its integration), then reload the lock's integration or Lock Code Manager. The repair goes away once setup succeeds.
Title: Lock dropped: lock.example
What it means: No LCM provider could take this lock, so it was dropped from the config entry. No entities were created for it and nothing is written to it; the entry's other locks are not affected. This usually means the lock comes from a bridge LCM doesn't support (for example an MQTT lock that isn't from Zigbee2MQTT or Z-Wave JS UI), or its integration changed what it publishes about the device.
What to do: Remove the lock from the entry (Configure on the entry; see Adding and Removing Locks), or fix the underlying cause and reload Lock Code Manager. The repair goes away when the lock is removed or sets up.
Title: Lock Code Manager: check slots N on re-paired lock.example
What it means: The lock was re-paired under the same entity ID, so Home Assistant sees a new device, and LCM moved to it on its own. At that moment LCM was still clearing a code from, or writing a one-off code to, the listed slots on the old device. That work was dropped. If this is the same physical lock, a removed user's code may still be in those slots and may still open the door. LCM doesn't clear them on its own, because on a genuinely new device those slots may hold codes set at its keypad.
What to do: Check the listed slots on the lock, and clear any code that shouldn't be there — from the lock codes card or the lock itself. Then click Submit to acknowledge. See Adding and Removing Locks.
Title: Reload Lock Code Manager to use re-paired lock.example
What it means: The lock was re-paired under the same entity ID, but a read of it was still running when LCM tried to move to the new device. LCM is still using the old device, so codes are not synced to the lock.
What to do: Reload Lock Code Manager (Settings → Devices & Services → Lock Code Manager → ⋮ → Reload). The repair goes away once it is using the new device.
Title: Unmanaged code on lock.example in slot N
What it means: The lock holds a code in a slot no Lock Code Manager entry accounts for. This check runs once, when an entry from before 5.0 is upgraded. Older versions didn't clear a deleted user's code from the lock, so the code may have been stranded by LCM — or somebody may have set it at the keypad. LCM can't tell which. Until you decide, LCM won't give that slot to a new user.
Codes added later are not reported here; the lock codes card shows them.
What to do: Choose one:
- Clear the code removes it from the lock. It stops working at once and can't be recovered — choose this only if nobody relies on it. If the lock isn't answering, LCM clears it when the lock is back; choose Clear again afterwards to close the repair. If the lock doesn't clear it, the repair stays open.
- Keep the code leaves it as it is. LCM stops asking about that slot, and won't assign a user to it.
Title: Number of Uses has been removed
What it means: An old configuration used the built-in Number of Uses feature, which no longer exists. The field was removed from the listed slots when the entry was upgraded.
What to do: Use the Slot Usage Limiter blueprint instead, then click Submit to acknowledge.
Getting Started
- Upgrading to 7.0
- Upgrading to 6.0
- Upgrading to 5.0
- Configuration Structure
- Adding and Removing Locks
- Migrating from keymaster
UI
Features
- Managing Guests and Rentals
- Services and Actions
- Blueprints
- Tracking lock state change events
- Using Condition Entities
- Unsupported Condition Entities
Advanced
Development
Troubleshooting
FAQ
Supported Integrations