SmartThings Community

Kevo Plus Device Type (DTH Link in post 18)

I recently got a Kevo Plus that allows me to unlock the Kevo using their app from anywhere. Is there anyone that has a solution to work with it?

1 Like

@bass_rock, these are Bluetooth devices, and ST hasn’t enabled that feature yet on our v2 hubs. If you haven’t searched the ST community yet, here are some other discussions on the Kevo:

@johnconstantelo The Kevo Plus is an Internet enabled hub to connect the Bluetooth Kevo to the Internet.

There are no discussions regarding the Plus add on that could be used to integrate with smart things.

Ah yes, my bad sorry about that. Looks interesting. I suppose if an API is made available, then someone could write a SmartApp to integrate ST and Kevo.

Looks like there is a decent JSON api that the site uses. Just need a good way to get the locks and login and could probably create something.

Interesting concept could probably take some of this and turn it into a device type

That would be awesome bass_rock I was hoping someone with the know how could get it working!

Yep unfortunately got stuck as to login we need to parse standard HTML before we can get the JSON, but the groovy language in Smartthings seems to not allow that.

Anything New on this front?
This would be a major integration opportunity to get this working.
Thank you :slight_smile:

Looking forward to the integration!
Would be a very nice feature for the security, for example, auto lock the doc when every one is out.

What type of authentication does their API use? Is it oauth2? If so could you just supply the access token as a config option in your device handler? You mention parsing HTML. I’m assuming this is because of the login popup to grant permission to the access token?

I have two kevo locks and I’m interested in smartthings integration. But I don’t want to pay the rip-off of a price ($179 canadian) for the kevo plus hub unless I know it will work.

I’m a developer, I’ve made a couple smartthings device handlers. I could help. Do do have any code (no matter in what incomplete state) that I could look at?

Any update on this?

1 Like

Shame this didn’t really take off, would be nice to have lock integration. Wonder when/if ST will ever enable BT connectivity.

How about a hack using Tasker to use the Kevo smartphone app to lock/unlock the door. Maybe integrate it with IFTTT so that ST can trigger it? Or SharpTools?

Hmm, I got a reply from Kevo about integrating with Smart Home technology. Short answer is never.


Ugh, well that’s super encouraging! lol

Kwikset annouced a Kevo Home Connect Bridge to allow Z-Wave and Zigbee usage with Kevo - I wonder when (or it) they will be releasing it?™_home_connect™_bridge.aspx

1 Like

Hey Guys,

I reversed engineered the mykevo website to allow for the control from a python script:

you can run it as a library or as a stand alone script.

also I have recently rewritten it in nodejs:

module.exports = function(email,password){
var request = require('request');

var _signin     = 'signin';
var _login      = 'login';
var _locks      = 'user/locks';

var _unlock     = 'user/remote_locks/command/remote_unlock.json?arguments=';
var _lock       = 'user/remote_locks/command/remote_lock.json?arguments=';
var _info       = 'user/remote_locks/command/lock.json?arguments=';

var _site       = '';

var token_regex = /input name="authenticity_token".*?value="(.*?)"/;
var lock_regex  = /<div class=\'lock_unlock_container\' data-bolt-state=\'.*?\' data-lock-id=\'(.*?)\'/;

var cookieJar = request.jar();

request.get(_site + _login,{'jar':cookieJar},function (error, response, body) {
    var token = body.match(token_regex);
    var data = {
        "user[username]"       : email,
        "user[password]"       : password,
        "authenticity_token"   : token[1],
        "commit"               : "Sign In",
        "utf8"                 : "✓"
        headers: {'content-type':'application/json'},
        url: _site + _signin,
        form: data   
    },function(error, response, body){
            request.get(_site + _locks,{'jar':cookieJar},function (error, response, body) {
            var lock_id = body.match(lock_regex);
            request.get(_site + _unlock + lock_id[1],{'jar':cookieJar},function (error, response, body) {});

just save that as a file in your project and use it like so:

var door = require('./kevo_door_open');

1 Like

Wonder what happened to this, would have been a nice addition. At this point, the new August lock looks interesting, and should support Z-Wave out of the box.

Recently Kevo published Alexa skill to control the Kevo locks via Amazon Echo.