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.0a4.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: aiokwikset-0.3.0a4.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.0a4.tar.gz
Algorithm Hash digest
SHA256 f16a18fd64f17922ed478fdf1b881dad06dffc86c5c312e0ccbb72372c482eee
MD5 588a6188b4e339f83d1a921df06aacef
BLAKE2b-256 80a15c5ea4c447fcfaec246bc9800a6b670781a23e5256dfa0933b65fc7fe2f3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aiokwikset-0.3.0a4-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.0a4-py3-none-any.whl
Algorithm Hash digest
SHA256 4e63d0f54c8513e0ee5a1f9bd0c485158753ebec9d3d1c1fbd16dec9e15162ad
MD5 f56448ee0a93b207333d38951d5e5385
BLAKE2b-256 54e2ed8ae25c8798f31e2b9ac1d251352d42a8b2b4c711a7d832f71d1e45b19e

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