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.2a5.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

aiokwikset-0.2.2a5-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

File details

Details for the file aiokwikset-0.2.2a5.tar.gz.

File metadata

  • Download URL: aiokwikset-0.2.2a5.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for aiokwikset-0.2.2a5.tar.gz
Algorithm Hash digest
SHA256 3664d8f04535db76c3d4643952fdab08f313160a9ba63dc6952962ebbbf2b065
MD5 2760af1c8b4fc3d6da7bab64be85df4b
BLAKE2b-256 04b5af551d5cdf26f13cd983fb830b9400720b0aa2604b8e790b86f55178ec0a

See more details on using hashes here.

File details

Details for the file aiokwikset-0.2.2a5-py3-none-any.whl.

File metadata

  • Download URL: aiokwikset-0.2.2a5-py3-none-any.whl
  • Upload date:
  • Size: 21.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for aiokwikset-0.2.2a5-py3-none-any.whl
Algorithm Hash digest
SHA256 47e13711e22d7e877ba2e671ed528c8c1b7729682521d062a4fa9b1aadbcab24
MD5 78dc777842dd736ee28e491fb5dfae7e
BLAKE2b-256 709887dfb9f5faf54a736fd32cf3f136f4a75b72f458f30a421832c333bb9e10

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