I just got one of these locks and not sure if anything has changed since you wrote this guide but I followed your process for combination 3 and my lock is connected via Thread according to the Eve app.
I confirm. Still on Thread using method 3.
Adding one more datapoint here to confirm thread works with homekey and home assistant on this lock. Wanted to post here in case someone else stumbles on this thread in the future!
I originally had a Gen 1 version of the appletv 4k. On that, the Eve app showed it was connected via Bluetooth. Battery life was ok for almost a year (replacing every 3 months or so), then Schlage pushed an update and suddenly batteries died every 2 weeks, even after a factory reset.
Turns out only the gen 2 and 3 appletv 4k models can be used as a thread router in HomeKit. As soon as I set up my new gen 3 model, both of my locks moved over to thread according to the Eve app. Fingers crossed the battery life improvement is as good as people claim!
I chose a slightly different route. I don’t need things like battery life in home assistant, I just wanted the ability to see the lock status in HA plus the ability to lock and unlock.
To do this I first paired the lock with HK directly. Then I created a template lock in HA:
- Create 3 helper toggles
a. The first one is called “X Door is Locked”. This will represent the actual state.
b. The second one is called “Lock X Door”. When enabled, will lock.
c. The third one is called “Unlock X Door”. When enabled, will unlock. - Create an automation in HA
- This automation will reset the second and third toggles
- I added the second and third toggle as trigger (when it turns on) with a 1s delay.
- As an action I turn them both off.
- Expose the 3 switches to HK.
- Setup 4 automations in HK:
a. When lock is locked, enable “X Door is Locked”.
b. When lock is unlocked, enable “Y door is Locked”.
c. When “Lock X Door” is enabled, lock the lock.
d. When “Unlock X Door” is enabled, unlock the lock. - Lastly, create a template lock in HA. In your
configuration.yaml
add:
lock:
- platform: template
name: X Door
unique_id: x_door
value_template: "{{ is_state('input_boolean.x_door_is_locked', 'on') }}"
lock:
service: input_boolean.turn_on
target:
entity_id: input_boolean.lock_x_door
unlock:
service: input_boolean.turn_on
target:
entity_id: input_boolean.unlock_x_door
This is not ideal but it does enable you to control the lock and see its status from HA.
I’m eagerly awaiting the reports on the battery life when using option 3 however
Apparently when you add the lock to HomeKit via thread after first setting it up in the Schlage app (over WiFi), the lock is both connected to wifi and thread. My batteries drained 3-4% PER DAY when connected via method #3.
Once I figured that out, I reset the lock and only connected with HomeKit. Battery hasn’t dropped at all in the last 12hours or so, which is promising, but it’s still a little early to say for certain if the issue is resolved for me.
Looks like the only option for me is to control the locks via HomeKit or try to integrate the hacky workaround posted above (thank you for the detailed instructions btw - I don’t have much free time these days to tinker with this stuff but will definitely try it out as soon as I can).
It’s a shame the Aqara u100 or Aqara u50 didn’t exist at the time, but I needed new locks and at least the Schlage ones work well enough and might finally have good enough battery life to not be a constant concern!
Is this what happened? My batteries were previously going strong when connected to both WiFi and Thread. I got the notification to change them last month and am being told to change them again after only three weeks. I wonder if the polling in HA is now causing Schlage to poll the lock every time. I really don’t want to give up having the lock in HA via the Schlage app and in Home app via HomeKit.
It does feel like that’s what happened to me. I didn’t even have thread set up on my locks before, so my thinking is something changed on Schlage’s end that is killing batteries much faster.
I’m trying to figure out the hacks way to sync the lock between HA and HomeKit via bridge, but haven’t had much luck yet. I’ve come to terms with leaving the locks on HomeKit since it lets my family control them from the iPhones control panel, but hopefully someone figures out a better way
I followed your seupt to get my Schlage Encode Plus lock status & trigger capability into HA. I’m far from an expert, but it seemed simpler to me to just make a single entity (Toggle Helper) in HA named “X Door Lock”, import it into HK, and then make 4 automation to have them control each other.
• When HK Lock locks, turn on HA Toggle Helper
• When HK Lock unlocks, turn off HA Toggle Helper
• When HA Toggle Helper turns on, lock HK Lock
• When HA Toggle Helper turns off, unlock HK Lock
I’m not super aware of the Templates within HA, but this is working great for me.
I primarily wanted to be able to monitor status of the locks in HA (logging purposes), but I now have more control over the auto-locking (I can turn it off in the Schlage app) based on other automation or entities.
So I think I found out the cause for my battery drain issue for me. I had an automation setup that was triggered based off the status of the lock. The battery drain started around the time I set up that automation and seems to have stopped now that I have disabled the automation. Not sure why this would be the case though as I don’t believe Home Assistant should be polling for the status on every automation check. I will have to keep a closer eye on the battery indicator, but it has only dropped about 3% since I disabled the automation four or so days ago.
Ever since the last firmware update that happened back in June, I noticed my battery usage took a dive. The batteries barely last a month.
I’ve been using method #3 since I installed it in March.
The screenshot of my battery usage shows it starts to go down right around the update rollout.
So looks like my issue was definitely not resolved. Has anybody tried to get comment from Schlage on the issue? I’ve really liked the locks up until this point and just cannot justify buying more if I have to replace the batteries every ~3 weeks.
This might not be an acceptable solution for you, but buying a newer Appletv capable of being a thread router and using the hacky workaround to sync the locks between HomeKit and HA continues to work great for me.
After 45 days using my two locks multiple times per day, battery life dropped 5% on one door and 8% on the other. Using rechargeable envelop batteries though, so %readout isn’t exactly accurate but I would have had to replace batteries twice in the same timeframe back when they were connected to Schlage’s wifi cloud.
Still - seems unacceptable that a manufacturer nerfed the performance of a product with no communication or ability to roll back the update. I wonder if they even know this is an issue yet - I did not reach out to them personally
I’m not sure if it was intentional or not though. I did some digging, and it looks like the Allegion servers communicate with the lock every time a request to update its status is received. I’m not sure if this behavior changed in the June/July update. Home Assistant tries to poll the lock’s info every 5 minutes. If this is new behavior, then the integration (using pyschlage) is likely preventing the lock from going into a deeper sleep to save power.
Fortunately, though, there is a way to subscribe to the lock’s status (seemingly using MQTT) instead of polling every 5 minutes. It seems like the developer of pyschlage has been experimenting with this, but this will require significant changes in the pyschlage library as well as the Schlage integration for Home Assistant.
Hi sboerup, this solution seems pretty great, how fast does the status update? Is it pretty instant?
With this native Schlage integration the lock state takes 10-15 seconds or more in some cases to update the lock status. It’s driving me nuts!
I’ve had the integration removed for a while now and can say that HA, nor the integration, has anything to do with the extreme battery drain on the locks now. Its quite frustrating as I had the lock setup using wifi since february and the first set of batteries didnt go flat until sometime in July. I was fine with that battery life, but batteries are only lasting about 3 weeks now… I dont yet have a thread border router, so even setting up the above workaround wont really help me.
For what it’s worth, Schlage seems willing to replace locks that rapidly drain batteries.
I installed 3 of the locks in February. They were set up in HomeKit only. In June 2 of the 3 started eating batteries. It seemed like it was happening faster and faster. Ultimately the batteries didn’t last a day. The third lock was completely fine. I even tried swapping the batteries from the good lock to one of the other locks to see if it was a problem with the batteries, but no. I tried Eneloops, PowerOwl Lithium rechargeables and Duracell alkalines. None lasted longer than a day.
I opened a support case with Schlage, describing the battery drain and they didn’t ask any questions. They just sent me an RMA and replaced the locks. The new locks are not eating batteries.
Interestingly, the two locks that had problems were Matte Black, and the one that never had a problem was Satin Nickel. So maybe I got two locks from a bad batch?
I started a support case recently as well. They are asking for basic info, so I’ll see where it goes. My lock is a satin nickel though.
That’s good to know that they’re willing to replace locks. I just contacted them regarding the battery drain, so let’s hope they’ll send me a replacement. Mines is a matte black.
On another issue, looks like HA’s recent update to 2024.10.1 the logbook isn’t showing any activity anymore and when I tried either reloading oe deleting then re-adding, it now only shows that the entities are unavailable. My automations have also been not firing.
So is there still no way to connect over Thread with HomeKey + Home Assistant (local or Schlage Cloud) integration?
Edit: checked in the Eve app and it looks like it made it to the Thread network automatically. I’ll leave it alone for now and see how the battery life is considering that wifi is connected.
To give some more data points, I have two locations, one each with an Encode Plus.
Lock one is a matte black (I saw this mentioned earlier, so for reference), Century version, that is connected via Thread to a Home Pod Mini. Never connected to HA, never to WiFi. Smooth actuation (this can greatly affect battery life by itself).
This lock lasted 1-1.5 years on the original batteries, I cannot remember precisely because it was so long, and is frequently used.
Lock two is a satin nickel Camelot lock. Originally connected via Thread to an Apple TV, and was integrated into HA via WiFi and the Schlage integration. Smooth actuation.
Initially, this lock barely lasted anywhere between 1-3 months, with infrequent use… I got fedup, factory reset the lock, added it to Homekit via Thread to the Apple TV again, but NOT to Home Assistant, or WiFi.
Those batteries were over 6 months ago, and it’s still showing 100%.
WiFi just isn’t cut out for this.