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.2.1.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

aiokwikset-0.2.1-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

File details

Details for the file aiokwikset-0.2.1.tar.gz.

File metadata

  • Download URL: aiokwikset-0.2.1.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for aiokwikset-0.2.1.tar.gz
Algorithm Hash digest
SHA256 78edb83718a42f5c31b9d8462982176f726b3a141114bdf087b70732a5d938e0
MD5 4330bf7b94aeb7f81b4c4507274d38cf
BLAKE2b-256 ad095b0caafd8b2c8b7d771982167d639390c588266fd6bc3836f84c4ebef44f

See more details on using hashes here.

File details

Details for the file aiokwikset-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: aiokwikset-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 20.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for aiokwikset-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6305a4e90e98d523e222a34526c2f0ae1f049c7b6608a2948ae9fc5d1acf2996
MD5 b6c47430e348a6ce1f7a1c7984821a18
BLAKE2b-256 78566c917d1d935de3e1c98b262a3ef13371e7c357b02f99536526caeeb75e4c

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