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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: aiokwikset-0.3.0a6.tar.gz
  • Upload date:
  • Size: 10.2 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.0a6.tar.gz
Algorithm Hash digest
SHA256 95742e36deea106c5263ba8dcd3391f2d703c291b47a12ff6ae7beae505b9644
MD5 ab3380c49a6b04955864e2305a4fb2ce
BLAKE2b-256 cf5c050b23b344d83220aea545540447c51b5c4d797d589724ad5e81be56365b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aiokwikset-0.3.0a6-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.0a6-py3-none-any.whl
Algorithm Hash digest
SHA256 185c46a8d83fa72f91d5bbee21bdb3f5de0485a6af900489479c319f542b512d
MD5 51f326f163f493730ca82c501293e8cd
BLAKE2b-256 042b05e4e2b1fa236bf157837da602b69c804b13311a582478e7a1d7b53d86ef

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