[ISSUE] A homeowner's user named with a slot number is treated as Lock Code Manager's
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
Research direction
Start with parse_tag, which reads a bare-number user name as Lock Code Manager's slot tag, then read the change from #1722 that limits this for the Z-Wave JS release. The same guard is still missing on the Z-Wave JS set path, where slot 3 can adopt a homeowner's user named 3, and in the Matter release, which also falls back to a bare number when the firmware rejects the name's characters. Done means a bare-number user is adopted or deleted only when LCM would have written that exact name on that lock, with tests for both cases.
Written by the indexing model from the issue text.
Description
What happened?
Found while reviewing #1722.
Background: parse_tag reads a user named just a number, e.g. 3, as Lock Code Manager's tag for slot 3. LCM really does write that bare form when the lock's name limit can't fit lcm:<slot>:. A homeowner can also name their own user 3 in the vendor app, and LCM can't tell the two apart.
#1722 fixed this for Z-Wave JS release: a bare-number name only counts as LCM's when lcm:<slot>: doesn't fit. Two other places still have the gap:
- Z-Wave JS set path: writing slot 3 can adopt a homeowner's user named
3. LCM renames it tolcm:3:…and writes its PIN onto it. A later release then deletes that user, along with any other codes the homeowner put on it. - Matter release: the same digit gap. The length check from #1722 isn't enough here, because Matter also falls back to a bare
Nwhen the lock's firmware rejects the name's characters, not only when the name is too long.
Expected: LCM only treats a bare-number user as its own when it would have written that name itself on that lock. It never adopts or deletes a homeowner's user because the user's name happens to be a slot number.
Steps to reproduce the issue
- On a Z-Wave User Credential lock whose name limit fits
lcm:3:, create user 7 named3in the vendor app, with PIN 5555. - Configure LCM slot 3 and turn it on.
- LCM adopts user 7, renames it, and replaces PIN 5555.
Home Assistant Version
dev (found in code review)
What version of Lock Code Manager are you running?
feature/clean-room-core
Lock make and model
Z-Wave User Credential CC locks; Matter
🤖 Generated with Claude Code
- Dominant language
- Python
- Stars
- 108
- Forks
- 18
- Avg merge
- 2h 7m
- Merged PRs (30d)
- 130
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
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
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 22/100
raman325/lock_code_manager#1697 ·
Maintainers usually reply within 1 day
-
[ISSUE] A homeowner's Matter code at a turned-off slot's index suspends the slotPossibly taken @raman325 claimed this 1 day ago. Openbug
Difficulty 4/5 3-5 days Newbie friendliness 22/100
raman325/lock_code_manager#1695 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 24/100
raman325/lock_code_manager#1691 ·
Maintainers usually reply within 1 day
-
[ISSUE] Adding a lock in the options flow overwrites codes already on itPossibly taken @raman325 claimed this 1 day ago. Openbug
Difficulty 4/5 3-5 days Newbie friendliness 35/100
raman325/lock_code_manager#1684 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 45/100
raman325/lock_code_manager#1581 · 3 comments ·
Maintainers usually reply within 1 day
All issues in raman325/lock_code_manager
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
ok-oldking/ok-wuthering-waves#1785 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
healthchecks/healthchecks#1349 ·
-
deployment release-lag
Difficulty 1/5 Under an hour Newbie friendliness 68/100
nolte/kamerplanter#2374 ·
Maintainers usually reply within 1 day
-
bug v1 v2
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
modelcontextprotocol/python-sdk#3725 ·
Maintainers usually reply within 1 day
-
batchterms() drops queries without a similar() clause, misaligning results with inputsPossibly taken @MohammadHijjawi97 claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
Maintainers usually reply within 1 day