We have a Kwikset Halo Select that works fine on WiFi. I now have it successfully converted to Matter over Thread and added to HA using OpenThread and Sonoff Zigbee 3.0 USB Dongle plus (flashed as ONLY Thread) as the BR on the HA. The questions is the only entities available are state (I can un/lock it via HA fine), Identify (the lock will audibly chirp fine), Firmware, Battery, and Battery Type. On the Lock entity in HA, I can enter a “Default Code”, but that does nothing on the actual lock touchpad. The touchpad is utterly useless on the lock at the moment. Even the lock icon won’t lock the door. Is this a limitation of Kwikset, the TBR, or HA and if TBR/HA would changing it to say a Google Home TBR open it up? I’m waiting to hear back from Kwikset so thought I’d ask here in hopes others have some ideas. I’m not dependent on Apple, Google, Amazon, SmartThings so would prefer to keep it all on HA. Really all I need in HA is un/lock functionality (and status) but kinda need the touchpad to also work ![]()
I’m having the exact same issue. Pressing the “lock” icon on the keypad seems to flash an error (red icon in top left), and the password I entered as the default code seems to do nothing.
I found that I could share the device with a HomeKit installation and use that to set access codes.
The lock now works as expected in HA and via the keypad!
Interesting. I reverted back to the Kwikset app and it’s the only thing not on HA at the moment. We’re an Apple free zone so no HomeKit here. The only border router I have is the HA so I guess I may need to look into a different one. Annoying Kwikset would add matter support but “haha j/k not really”
Did you ever hear back from Kwikset about this? I’m having the same problems with a Weiser-badged version of the same model.
Ouch! I just spent hours installing a new Kwikset Halo, since the hole through the door had to be larger than my previous two locks, a “dumb” deadbolt and a Schlage Z-Wave lock.
While selecting and purchasing a lock I read that the ability to generated guest codes was limited or missing. I did NOT expect that there would be no codes at all! We strongly prefer using the keypad to open the door. The “smart” features would be used mainly in automations or while traveling.
Is this really true?
I don’t use any other “ecosystem” than Home Assistant. My first dozen or so Matter-over-Thread devices are working nicely, except this one.
Setting codes works fine in other ecosystems I tested, Google Home and Apple Home, and lock is Matter certified… has to be a Home Assistant issue not Kwikset
Has any of the problems with the keypad been resolved?
Can i do the following under HA under matter?
Lock and Unlock door
Get Battery Status
Get Firmware Status
Looking to purchase this lock. Did you install using the HomeKit device integration within Home Assistant or did you add to HomeKit directly and use the HomeKit bridge integration?
Also, whichever way was used, were you able to generate the Apple home key for all your users and were you able to control the device in Home Assistant and get a real time status of lock unlock?
The new Home Assistant 2026.4 update has, thankfully, fixed this for my Weiser Halo Select. The flow to add codes described in the release post worked perfectly for me, and once there was a code set for one user the keypad option to lock the door from the outside started working as expected. I haven’t given 1-time codes a try yet but for my purposes this is now working how I had hoped when I got the lock in the first place.
I couldn't be more disappointed with my kwikset locks because of this issue. They advertise matter over thread and hundreds of passcodes. Turns out if you want matter over thread, you get one user and one passcode. total crap.
What's worse, if I want to change that one passcode I have to convert locks to wifi, change the passcode. (did I mention remove all devices from HA?). Then convert them back to matter and re-pair.
Can someone say more about how to use homebridge with success here : trying to change passcodes on kwikset halo locks using home assistant?
UPDATE:
I'm happy to report that the issue was resolved by :
- completely removing all locks from Home Assistant and in my case, also from Apple Home.
- verifying all my locks had the most recent firmware updates
- Of course making sure my HA was up to date (to ensure the added HA capability to deal with these locks was included.
- factory reset of the lock.
- pair the lock via bluetooth to the kwikset app and then set up wifi using the same app.
- I don't know if this was required but when kwikset gave me the option to set a code, I took it and created a door code.
- going to the card for the lock in the kwikset app and selecting Matter.
- pair the device to apple home using the qr code on the lock.
- sharing the lock from apple home to HA.
The ability to set users and locks is now available in HA.
The number of entities displayed in HA went from 3 to 11.
Well, I take it all back. Apple Home and HA give you the illusion of success but right now I have 6 DUMB kwikset smart locks that I cannot even add a passcode to either via the app or on the keypad.
Google AI is telling me I have no option but to open up HA to the cloud if I expect to be able to change passcodes. Otherwise all I will now be able to do is use the app to open or close the lock. Never change a passcode. OBTW, the keypad is now useless.
I feel like KwikSet was absolutely dishonest about saying this is a matter over thread device. Even tho they stated "limited" guest code capability, they failed to mention that you would have NO option to change the master code. This is total BS.
A way forward
And me to this list of frustrated Wieser customers. This is crazy stupid that we have to add to HomeKit to get codes added. Obviously, there is a protocol there that enables this over matter, or Apple could not add codes.
So I did some digging... In Developer Tools -> Actions
action: matter.get_lock_users
target:
device_id: d9c98a7b47430bce9165fe3111111111
data: {}
returned
lock.front_door_front_lock:
max_users: 10
users:
- user_index: 1
user_name: ""
user_unique_id: null
user_status: occupied_enabled
user_type: unrestricted_user
credential_rule: single
credentials:
- type: pin
index: 1
creator_fabric_index: 3
last_modified_fabric_index: 3
next_user_index: null
Additionally
action: matter.get_lock_info
data: {}
target:
device_id: d9c98a7b47430bce9165fe3111111111
returns
lock.front_door_front_lock:
supports_user_management: true
supported_credential_types:
- pin
- rfid
- fingerprint
max_users: 10
max_pin_users: 34
max_rfid_users: 34
max_credentials_per_user: 34
min_pin_length: 4
max_pin_length: 8
min_rfid_length: 10
max_rfid_length: 80
action: matter.get_lock_credential_status
target:
entity_id: lock.front_door_front_lock
data:
credential_type: pin
credential_index: 1
then
action: matter.set_lock_credential
target:
device_id: d9c98a7b47430bce9165fe3111111111
data:
credential_type: pin
credential_index: 2
user_type: unrestricted_user
user_status: occupied_enabled
credential_data: "99887766"
gave me a positive result
action: matter.set_lock_credential
target:
device_id: d9c98a7b47430bce9165fe32df996bb1
data:
credential_type: pin
credential_index: 2
user_type: unrestricted_user
user_status: occupied_enabled
credential_data: "6208182"
And the PIN WORKED.
Okay, let's unhook it from HomeKit, that results in removing the first pin code. But the 2nd still worked.
There are a few experiments with PIN management. I would not recommend any but you can check out raman325/lock_code_manager: Lock code manager for locks integrated with Home Assistant or add in HACS "Lock Code Manager"
bottom-line
You can manual set PIN codes using the Developer Tool and Action without connecting to HomeKit.
I will definitely give that a try. Thanks
I am happy to report that thanks to you, I no longer have a DUMB kwikset smart lock!
for others, I’m am only trying to amplify what D-Jeffrey has discovered:
- Remove the lock from any other apps. My first lock (to use this process) still showed up in Apple Home even though it wasn’t a matter over thread lock anymore. i tried to remove the lock several times and each time it appeared to be successful but it was still there in Apple Home. I then deleted the room the lock was located in. Waited a couple of minutes, closed, opened Apple Home and it was gone.
- Remove the lock from kwikset app.. (This forces factory reset of the lock)
- Pair the lock using the kwikset app all the way to selecting Matter.
- Pair directly to HA using matter integration (AI suggested that I pair directly to HA instead of pairing first to Apple Home, which is what I typically do)
- Use Developer Tools ACTIONS to set credentials. Minor changes/tweaks I had to make to D-Jeffrey’s code images above: Setting the Passcode via matter.set_lock_credential
A. Execute the action In Developer Tools > Actions, select matter.set_lock_credential.
B. Switch to UI Mode (if it defaults to YAML) and configure the following fields:
C. Target: Select your Kwikset Halo Select lock entity.
D. Credential Type: Select PIN.
E. Credential Data: Type the numeric passcode you want to set (e.g., 56789).
F. Credential Index (Optional): Type 2 (This maps specifically to your second code slot index, preserving your master calibration pin).
G. User Status (Optional): Select occupied_enabled to ensure the slot goes live instantly.User
H. Type (Optional): Select unrestricted_user so the passcode grants full access at any time of day.
I. Click the green Perform Action button - Physically test the new code on the lock’s keypad.
This is all great information from both D-Jeffrey & gobees81! This answers pretty much all of my questions.
The only thing I can’t find any mention of is if you can enable/disable the auto lock feature from Matter/HA or if I would need to use the Kwikset App? I’m looking to add one on my back patio and maybe even replace my Eufy front door lock as I can’t rekey it to match all my other locks. But when I have friends over I like to turn off the auto lock so people aren’t getting locked out every few minutes.
Sorry to ask another question in this thread but since the title is more generic about these locks I figured I would ask here instead of starting a new thread.

