Skip to main content

Python interface for Kwikset Smart Locks

Project description

aiokwikset - Python interface for the Kwikset API

Python library for communicating with the Kwikset Smart Locks via the Kwikset cloud API.

WARNING

  • This library only works if you have signed up for and created a home/had a home shared with you from the Kwikset Application.
  • IOS
  • Android

NOTE:

  • This library is community supported, please submit changes and improvements.
  • This is a very basic interface, not well thought out at this point, but works for the use cases that initially prompted spitting this out from.

Supports

  • locking/unlocking
  • retrieving basic information

Installation

pip install aiokwikset

Examples

import asyncio

from aiokwikset import API


async def main() -> None:
    """Run!"""
    #initialize the API
    api = API("<EMAIL>")

    #start auth
    #<CODE_TYPE> = [phone, email]
    pre_auth = await api.authenticate('<PASSWORD>','<CODE_TYPE>')

    #MFA verification
    await api.verify_user(pre_auth, input("Code:"))

    # Get user account information:
    user_info = await api.user.get_info()

    # Get the homes
    homes = await api.user.get_homes()

    # Get the devices for the first home
    devices = await api.device.get_devices(homes[0]['homeid'])

    # Get information for a specific device
    device_info = await api.device.get_device_info(devices[0]['deviceid'])

    # Lock the specific device
    lock = await api.device.lock_device(device_info, user_info)

    # Set led status
    led = await api.device.set_ledstatus(device_info, "false")

    # Set audio status
    audio = await api.device.set_audiostatus(device_info, "false")

    # Set secure screen status
    screen = await api.device.set_securescreenstatus(device_info, "false")


asyncio.run(main())

Known Issues

  • not all APIs supported

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiokwikset-0.3.0a1.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

aiokwikset-0.3.0a1-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file aiokwikset-0.3.0a1.tar.gz.

File metadata

  • Download URL: aiokwikset-0.3.0a1.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for aiokwikset-0.3.0a1.tar.gz
Algorithm Hash digest
SHA256 ff57e4349155d8071e970cf080b80060130932a4d0d74264067d245c27f52763
MD5 1136524c6b81f88f30655ce3d501c96e
BLAKE2b-256 7c288ca300f72892a4dedabb9b9838fc83738b5356e3990b46e1d50062806053

See more details on using hashes here.

File details

Details for the file aiokwikset-0.3.0a1-py3-none-any.whl.

File metadata

  • Download URL: aiokwikset-0.3.0a1-py3-none-any.whl
  • Upload date:
  • Size: 11.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for aiokwikset-0.3.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 7a0846043533d26221c603da5c75292a59f7d6a187867c39dfa7a9fb9a95350d
MD5 340aad2f8f1444d448eb093d1ed796aa
BLAKE2b-256 dd9c8521ed65d83b840ac52a7de7a22bda09a8767c5ea35cf991408bd7cbe863

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page