Kevo Plus door locks now working in Home Assistant

Huge bummer here too. I feel pretty silly for investing in expensive Baldwin Evolved locks that are now pretty useless because Kevo doesn’t play nicely with others and the touch/bluetooth functionality barely even works. Kevo has been around for years, what a disappointment they don’t allow others to integrate.

I use the homebridge script to control kevo. That’s also broken because of the captcha.

I encourage everyone to call and post on their help page asking for a work around. Maybe if enough people complain they will remove the captcha (I doubt they will remove it) or actually provide a real api.

I submitted a question on their site about API access.

@pmeisel123, When you say homebridge script, is that tied into HA? How are you doing that - via homekit_controller or something else?

Thanks,
Benjamin

Via homebridge. Though it has the same captcha problem now.

Spent a little time packet sniffing, to try and figure out how the app connects. It uses a combination of apple authentication and a third party site. Didn’t try actually logging in, though I suspect it isn’t much clearer.

Been wondering if there’s a way to directly connect via Bluetooth (though I lack knowledge of Bluetooth programming), or replicate how the kevo plus logs in. Also wondering if I could fool the plus to connect to a local machine instead of mykevo.com, but that seems like a major security hole if I could.

I’ve just submitted a support request asking for a local API. I don’t know that they’ll actually do it but I agree that they need to know there’s a demand for it.

The dependency package this component utilizes appears to have been updated two weeks ago to address this very issue.

Alterego, have you tried this. I am still having an issue using the latest pykevoplus.

There have been two changes recently on mykevo.com:

  1. The URL changed, and this is what was fixed in the latest change.
  2. They added a captcha login check, and there is no fix for this.
1 Like

Somehow, the alexa_media_player people are able to do this… when you first connect, an alert pops up in the notification area of the HA gui, you get shown the captcha, then submit.

Looks like homebridge can now log in to kevo without a captcha. The change was on Kevo’s end (someone randomly reported it started working for them again). Not sure how they detect homebridge, It uses node js. Might be they are matching on user agent string, but I don’t know.

Hopefully this good news will help you

I can confirm this. Was hoping to patch the encapsulated module but the Captcha prevents this.

Are you still successfully interfacing with homebridge to Kevo?

I’m studying the homebridge code and don’t see how the remote mykevo service would know the difference betweem the homebridge and the pykevoplus encapsulated in ( [gaggle331 / home-assistant-kevo] , and unless I’m missing something I don’t see any more logic for the captcha in the former.

Yes, though it works though a bug, and it’s a bit glitchy.

Login to mykevo dot com (apparently I’m too new to put links to websites) with your browser first (I think it needs to be on the same network as the app running the code).
Then if a second device/browser/app tries to login without the captcha, it will get a login error, and will be sent back to the login page, but it will get the cookies login it in. If you log out from the first browser you will be kicked out from your app.

In short: Login with your phone, then have the app login, with the same username (ignore the failed login message).

What I have been doing is once a week, I’ve been logging in via an incognito browser on my phone and then just closing incognito without logging out.

Note: if multiple “browser” are logged in with the same user, and 2 or more make a request to mykevo com at the same time, it sometimes logs them both out. Homebridge has 1 virtual browser per lock, and if you ask for the status of all the locks, they all get fired at the same time. To fix this I have a different login for each lock, so they can make requests at the same time without issue.

To anyone that works on the mykevo.com site. Please don’t fix this bug, instead make it a feature. Make the captcha not required if there is already a device logged in from that network with that username/password. Or build us an API (which is much more complicated, but will make out lives easier)

Hey there, I’m new to HA. I’m curious what the current status of this project is before I spend the time to figure out how to get it working. Can someone tell me if this module is currently working with Kevo Plus?

I think Kevo is dead to Home Assistant until/unless they do a different login system. I eventually gave up an changed my lock to a z-wave lock

@ha_steve I didn’t know about HA untill I got the Kevo and decided to see what I could do to automate things (now when I come home the door unlocks, TV turns on YouTube and security system is disabled :slight_smile: ) but thats another story! I’d like to think we should keep plugging away at this and I expect more people may try HA by following the same path I did. Even if all that means is pointing people to complain to Kevo to raise awareness, it’s better than “it’s dead”.

I did a full write-up of my setup doing both “integration” method and “manual” command_line method. I just switching to command_line method w/ scan_interval of 600 (5m). Let’s see if that fixes things, I too was getting error 500 and randomly it would still work etc. I originally had scripting things w/ bash and ping and it was working 100% but I never polled status, just manually set via a “flag”, so I am almost 100% this is due to over-hitting the API and higher scan intervals will fix this. Perhaps we should just ask Kevo what is acceptable/preferred, but as @Bahnburner mentioned he needed higher refresh rates, some peoples use case have more strict requirements.

One Q: I never did test “scan_interval” on the “integration” method, would that have worked or to specify interval do I need to go the “manual” route? (If so, can we update the “integration” to accept scan_interval as it’s paramount to it working apparently!)

https://www.freesoftwareservers.com/display/FREES/Control+Kevo+via+Home-Assistant+with+Toggle+Switch

https://www.freesoftwareservers.com/display/FREES/Scripting+Kevo+Unlock+-+Lock+-+via+Python+and+Bash

Also, why does the integration have “lock.lock” “lock.unlock” and “lock.open”, what is the point of “lock.open”?

I was getting errors regarding the manual method straight away, not sure, perhaps because I sourced the vars, but I just switched back to integration method (which is preferred IMO) and tried adding “scan_internval: 600”, so we will see!

@FreeSoftwareServers

I have tried setting scan_interval to 600, it has been working pretty well for me for the pas couple days. Also, I have submitted a pull request to the integration with some changes (mainly support for multiple locks), you can try it out if you want:

https://github.com/gauvingingras/kevo_plus

2 Likes

Hello !

I just tried the kevo_plus custom_component integration with HACS, and I get the following error even with the scan_interval: 600…

pykevoplus.KevoError: Error getting lock info: {"status":"500","error":"Internal Server Error"}

When I start my HA server, the locks is added, and I can unlock the door. However, I get the 500 error immediately after the door has unlocked, when the status tries to refresh…

1 Like

@Pascal_Richer

Here is something you could try:

  • In your configuration.yaml file, comment out the kevo_plus integration
  • Restart Home Assistant and wait a couple minutes
  • Using the official Kevo webapp (mykevo.com), make sure you can login and that your locks are working there
  • Uncomment the kevo_plus integration ans restart Home Assistant
  • Your locks should work (at least, the above steps did it for me), you should be able to close Kevo’s web app now