Expose Homekit Devices in Home Assistant: Schlage Sense Locks. HomeKit Controller integration users, please step inside

I’m looking to poll status of my schlage sense locks (locked or unlocked) from HASS. The goal is to check the door locks at bedtime and when we leave the house. I might also want to be able to control them, eventually. I can expose HASS entities into Homekit, but am now trying to do the opposite.

When attempting to install the HomeKit Controller Integration, I get a “No unpaired devices could be found” dead end error. Locks are currently paired into the schlage sense app, that automatically populates them into my homekit “home” interface. (They, and the ecobee thermostat are the only devices in homekit.) If I unpair the locks from homekit, I get the same message AND the locks are now rendered unusable as it deletes all key codes from them. I’m using the locks, paired via BLE to an apple tv registered to my homekit account. Is this a no-go? Do I need to use the schlage gateway instead? (Or convert to the spendy Schlage Connect zwave locks instead?)

I can expose HASS entities into Homekit, but am now looking to do the opposite. What am I missing? Do devices need to setup in Homekit in order to be available to HASS?

I found the following thread, but no followup or direction contained:

Using HASS Core 2022.6.6, HASS OS 8.2. Intend to install updates soon, but got gunshy after my last update session killed a bunch of NodeRed functions and required a rebuild after restore.

This integration works by pairing a HomeKit device directly to HA, from there you can hand it back into HomeKit.

I’ve tried this with these locks, the issue with them is once you unpair them from HomeKit to add to HA they erase your door codes. Once they are in HA the schlage app no longer sees them so you can’t reprogram the codes.

Thanks. If I could pair the locks into HA, I wouldn’t have to hand them back to homekit…if I could program codes locally from the phone app over bluetooth.

I did find a workaround though. In HA, I created a binary helper for each lock (on/off.) I used the HASS Homekit integration to expose those helper entities into Homekit. From there, each lock has four automation rules programmed in Homekit. Two change the lock (lock/unlock) anytime the helper changes. The other two change the helper anytime the lock changes. This gives HASS the ability to control and monitor the status of my door locks. If I only wanted to monitor status, I would just break the two automations in HK that change the lock to match the helper.

This is how I solved this:

  1. Configure schlage sense with HomeKit. This way you retain the ability to create and mange access codes.
  2. Create a helper input_boolean and expose it to HomeKit via HomeKit Bridge
  3. Create 4 automations in HomeKit as follows
  1. When [boolean/switch] is off, Lock Schlage Sense
    2 When [boolean/switch] is on, Unlock Schlage Sense
  2. When Schlage Sense is locked, turn off [boolean/switch]
  3. When Schlage Sense is unlocked, turn on [boolean/switch]

This accomplishes pretty much all of the unlock/lock use cases and monitoring via home assistant. You’ll monitor the state of the lock via the boolean, and you can unlock/lock the lock by setting the boolean.

1 Like

I just wanted to confirm that this does work nicely! Also, use the HACS button-card to display it. Here is my code snippet

type: custom:button-card
name: Garage Man Door
entity: input_boolean.lock_garage
icon: mdi:lock
color: auto
color_type: card
action: toggle
show_state: true
state:
  - value: 'on'
    color: rgb(24,31,45)
  - value: 'off'
    color: rgb(26,137,245)
    icon: mdi:lock-open-variant