[ISSUE] Conflig flow hangs when performing getUsers on Matter lock (Ultraloq Bolt SE)
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
Research direction
Start at the config flow's slot-occupancy read and trace how Matter getUser responses determine the next slot. Compare that behavior with the native matter.get_lock_users result and inspect the timeout budgets discussed in #1528 and #1536. Done means the flow completes for this lock, creates the config entry and entities, and cannot spin indefinitely.
Written by the indexing model from the issue text.
Description
What happened?
Config flow hangs forever on a Matter lock: slot occupancy read stops after slot 1
Summary
On a Matter lock, the config flow's slot-occupancy read issues exactly one
getUser (userIndex 1), then stalls indefinitely. The flow never advances, no
config entry or entities are created, and nothing is logged — not even with
custom_components.lock_code_manager at debug. There appears to be no deadline
on the operation: it has been spinning for 25+ minutes.
Environment
- Home Assistant Core 2026.9.2 (HAOS 18.2, frontend 20260826.7)
- Lock Code Manager 6.0.0 (HACS)
- Matter Server add-on 1.4.0 (matter.js 0.17.9)
- Lock: ULTRALOQ Bolt SE, firmware 01.54.0043 (Matter software version 50),
Matter over Thread via the OpenThread Border Router add-on + SMLIGHT SLZB-06U - Lock is healthy: reachable, ~1s event latency, 2-3s command round trips
Steps to reproduce
- Fresh install of LCM 6.0.0, no prior config entry.
- Add integration -> name + select the Matter lock entity -> Choose Path: YAML.
- Paste a block of four users (name + quoted pin + enabled: true).
- Flow moves to "Configure users" with the "reading which slots your locks
already hold" message and a spinner.
Expected
The slot walk reads the lock's occupancy (all slots are free) and the entry is
created with four users.
Actual
One read, then silence. From the Matter Server add-on log:
15:47:36.162 Invoke >> 1.doorLock.getUser with userIndex: 1
15:47:38.036 Invoke << 1.doorLock.getUser userIndex: 1 userName: null
userStatus: null userType: null credentialRule: null
credentials: null nextUserIndex: null
No further getUser, setUser or setCredential calls were issued in the
following 25 minutes. config_entries has no lock_code_manager entry and the
entity registry has no lock_code_manager entities.
The lock's user table is empty and readable through HA's own action --
matter.get_lock_users returns {"max_users": 10, "users": []} in about two
seconds, and HA's native Matter "Manage Users" dialog reads and writes the same
table without trouble.
Suspected cause
This lock returns nextUserIndex: null on every getUser response, including
reads issued by HA's native Matter dialog. If the slot walk follows
nextUserIndex to find the next slot to read, it receives null and waits rather
than continuing. Iterating 1..NumberOfTotalUsersSupported (10 on this lock)
would avoid the dependency on an optional field.
Note also that no operation deadline appears to fire -- 25+ minutes with the
flow still open -- despite the budgets described in #1528/#1536.
Secondary notes
-
Taking the UI path instead of YAML, the flow reaches step
code_slot
server-side (HA returns a valid form: name, pin, enabled, condition, titled
"User 1 of 2") but the dialog renders only a spinner in one browser profile.
The YAML path rendered fine in the same session, so this may be a separate
frontend issue, or may be environmental -- reported here only for context. -
Documentation conflict: the
num_usersstep says LCM will read which slots
the locks already hold, while other guidance says to clear all slots before
setup. On a write-only provider like Matter it is unclear which applies.
Steps to reproduce the issue
...
Home Assistant Version
2026.9.2
What version of Lock Code Manager are you running?
6.0.0
Lock make and model
Ultraloq Bolt SE
Debug logs (paste)
Debug logs (upload)
No response
Lock Code Manager diagnostics (upload)
No response
Lock integration diagnostics (upload)
No response
Diagnostics (paste)
Browser console logs (paste)
Browser console logs (upload)
No response
Screenshots
No response
Anything else?
No response
- Dominant language
- Python
- Stars
- 105
- Forks
- 18
- Avg merge
- 8h 53m
- Merged PRs (30d)
- 81
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from raman325/lock_code_manager
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 45/100
raman325/lock_code_manager#1581 ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 35/100
raman325/lock_code_manager#1307 · 30 comments ·
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 25/100
raman325/lock_code_manager#858 ·
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 20/100
raman325/lock_code_manager#830 · 1 comment ·
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 42/100
raman325/lock_code_manager#114 · 2 comments ·
All issues in raman325/lock_code_manager
Similar issues
-
area/auth bug comp/agent P3 platform/discord type/security
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
NousResearch/hermes-agent#117848 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
bancolombia/sentinel#23 ·
-
test md OpenCI
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
bug client
Difficulty 2/5 1-3 hours Newbie friendliness 88/100