Skip to content

salanki/kevo-mqtt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Kevo Plus MQTT Binding

Remote lock/unlock and get status of your Kwikset Kevo locks via MQTT. Simply publish a message like:

{
  "type": "lock",
  "lock_id": "a95a788a-e774-4561-8fc8-2225b3dccc21"
}

lock and unlock types are supported.

A simpler message format is also supported:

UNLOCK a95a788a-e774-4561-8fc8-2225b3dccc21

The Lock status will be polled at a user-defined interval and published to the topic as well as printed to the console.

{
  "lock_id": "a95a788a-e774-4561-8fc8-2225b3dccc21",
  "type": "lockState",
  "state": "Locked"
}

A Kevo Plus bridge is required. You can get the lock IDs manually by logging into mykevo.com, click Details for the lock, click Settings, the lock ID is on the right.

Thanks to Carl Seelye for pynello.

Run as Docker container

docker run --name kevoplus -d --restart=always -e [email protected] -e KEVO_PASSWORD=password -e KEVO_REFRESH_INTERVAL=180 -e KEVO_LOCK_ID=a95a788a-e774-4561-8fc8-2225b3dccc21 -e MQTT_TOPIC=home/kevo -e MQTT_BROKER=localhost salanki/kevo-mqtt:latest

Usage with OpenHAB

Simply use the MQTT Binding. A custom transform/kevostate.js is required.

(function(i) {
  var json = JSON.parse(i);
  if (json.type == 'Locked') {
    return 'ON';
  } else {
    return 'OFF';
  }
})(input)
Switch DoorLock { mqtt=">[mybroker:home/kevo:command:ON:LOCK a95a788a-e774-4561-8fc8-2225b3dccc21],>[mybroker:home/kevo:command:OFF:UNLOCK a95a788a-e774-4561-8fc8-2225b3dccc21],<[mybroker:home/kevo:state:JS(kevostate.js):.*lockState.*" }

About

MQTT Binding for Kwikset Kevo Smart Locks

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published