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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: aiokwikset-0.3.0a2.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.0a2.tar.gz
Algorithm Hash digest
SHA256 1f36fab4b68110ffb6250897b48f9a82938f0218f0d1bdad329e9983c7a7b503
MD5 882fcf641515d09b0e47d3f6a5872648
BLAKE2b-256 622484578cadca8c168fc270466976249642f4647a4bc998422c30bdfe8f780f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aiokwikset-0.3.0a2-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.0a2-py3-none-any.whl
Algorithm Hash digest
SHA256 9d24d052edf5d4e4689c06188d865a7d16a8f4122fc6b7adbfcbdf06ec9be3b5
MD5 413c95b8d32bde99938ca03608d4fa57
BLAKE2b-256 24ff71583d51bd7338470f090ca326c5b3f45bc2670f2a9e26c974d5f673d0a5

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