Homekit Controller Missing Locks

I’ve got two Kwikset Premis locks which are HomeKit only compatible (a limitation I now regret). The locks are both added to my HomeKit system (they show up in my Home App on iOS) but I cannot get them to show up on Home Assistant. Apparently, it’s no longer necessary to add HomeKit to the discovery section of the configuration.yaml file because the log tells me it’s on by default now. But when I go to the notifications screen, I see three other HomeKit devices (that are not in my Home App) waiting to be configured but not the locks.

I’ve tried deleting one of the locks from the Home App and then restarting HA but it still didn’t show up. Is there a secret decoder ring necessary to make these locks appear in HA through HomeKit controller?

For clarity, this is for the pathway from HomeKit --> Home Assistant, not the other way around. The only use I’m hoping to get out of HomeKit right now is to pass these locks status/control over to HA.

Any help appreciated!

Here’s what I’ve done to make some progress although I’ve discovered some interesting behavior. I created two input booleans, one called “front_lock” and one called “theater_lock”. I’ve created the pathway from HA —> HomeKit instead of what I was trying the other direction, and shared just those two input_booleans to HomeKit. Then I created automations in the Home app that watch for the locks to unlock, which then switch the booleans off and vice versa. I also created automations that watch for the booleans to change and then lock or unlock the locks accordingly.

It’s working… sort of. The unusual thing is that if I trigger the boolean change from HA, it requires me to toggle it twice before HomeKit “sees” the status change of the Input_Boolean. If I toggle it on the home app, it’s instant each time.

Recapping: If I go into the States Developer tool or use a Call Service to change the value of the boolean, say, to off (lock), I need to do “off”, “on”, “off”. Then it locks. Same to on (unlock): “on”, “off”, “on” before HomeKit picks up the change.

Is this a bug?