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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: aiokwikset-0.3.0a5.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.0a5.tar.gz
Algorithm Hash digest
SHA256 edcd091d9cdc5d82d9a1a1f37121ef8ec390a384e033eccc334fde0e7d25bbea
MD5 334153469137883e75e8aa928bccbf0f
BLAKE2b-256 4207e4dc944164c9420e944c0774db24a67908b9fffd4d1955ea76fcf9710249

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aiokwikset-0.3.0a5-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.0a5-py3-none-any.whl
Algorithm Hash digest
SHA256 3de07dfaa97face4b76e5ec1bdf9739a45963d0e3798936b7d9d955c8f829595
MD5 e129e14f6402b7f6e35e5aead43f70b4
BLAKE2b-256 f4a191109814d39a39a19c62fed04c9dc7c581773e4f5dbf7da0c51e55ee2935

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