Skip to main content

Python client for private Wyze API

Project description

How to use

Example code:

from src.wyzeapy import Client, ActionNotSupported, PropertyIDs
from src.wyzeapy import AccessTokenError

# Testing what happens when not logged in
# try:
#     wyze_client.get_object_list()
# except ParameterError as e:
#     print(e)
#
# wyze_client.login("jocoder6@gmail.com", "7PRgKbiVUa.ZYk4tw@b@ij") # Don't worry it is an old password
#
# # Testing what happens when access token is bad
# try:
#     wyze_client.access_token = "BAD"
#     wyze_client.get_object_list()
# except AccessTokenError as e:
#     print(e)
#
# wyze_client.login("jocoder6@gmail.com", "7PRgKbiVUa.ZYk4tw@b@ij")
#
# for device in wyze_client.get_object_list():
#     try:
#         wyze_client.run_action_list(device, [
#             {"pid": PropertyIDs.ON.value, "pvalue": "0"},
#             {"pid": PropertyIDs.COLOR.value, "pvalue": "FF0000"}
#         ])
#     except ActionNotSupported as e:
#         print(e)
#
#     try:
#         wyze_client.set_property_list(device, [
#             {"pid": PropertyIDs.ON.value, "pvalue": "0"},
#             {"pid": PropertyIDs.BRIGHTNESS.value, "pvalue": "100"}
#         ])
#     except ActionNotSupported as e:
#         print(e)
#
#     try:
#         wyze_client.set_property(device, PropertyIDs.ON.value, "0")
#     except ActionNotSupported as e:
#         print(e)

if __name__ == '__main__':
    """Documentation on how to use the code"""
    wyze_client = Client("USERNAME", "PASSWORD")
    devices = wyze_client.get_devices()
    for device in devices:
        wyze_client.get_info(device)
        try:
            wyze_client.turn_on(device, [
                wyze_client.create_pid_pair(PropertyIDs.COLOR_TEMP, str(6500))
            ])
        except ActionNotSupported:
            pass
        # print("{} {} {}".format(device.product_type, device.mac, wyze_client.get_info(device)))
    # for device in devices:
    #     try:
    #         # wyze_client.turn_on(device, [
    #         #     wyze_client.create_pid_pair(PropertyIDs.COLOR, "FF0000"),
    #         #     wyze_client.create_pid_pair(PropertyIDs.BRIGHTNESS, str(25))
    #         # ])
    #         wyze_client.turn_off(device)
    #     except ActionNotSupported as e:
    #         print("{} {}".format(type(e), e))
    #     except AccessTokenError as e:
    #         wyze_client.reauthenticate()
    #         wyze_client.turn_off(device)

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wyzeapy-0.0.23b5.tar.gz (21.6 kB view details)

Uploaded Source

Built Distribution

wyzeapy-0.0.23b5-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

Details for the file wyzeapy-0.0.23b5.tar.gz.

File metadata

  • Download URL: wyzeapy-0.0.23b5.tar.gz
  • Upload date:
  • Size: 21.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for wyzeapy-0.0.23b5.tar.gz
Algorithm Hash digest
SHA256 930a74ce96698e23c47515c7757b2f708ce06ad3ec65eb90157a00914ad06489
MD5 977003b8908c7dd88300c87342efc05b
BLAKE2b-256 93ad682155c953e616ca6e68e23bf491fc881fdc8021fb1229c32017873891b3

See more details on using hashes here.

File details

Details for the file wyzeapy-0.0.23b5-py3-none-any.whl.

File metadata

  • Download URL: wyzeapy-0.0.23b5-py3-none-any.whl
  • Upload date:
  • Size: 23.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for wyzeapy-0.0.23b5-py3-none-any.whl
Algorithm Hash digest
SHA256 a55a23c87d0cd2fb946cf2fbd5892b22d9391debb639636626b517db68af65c4
MD5 c0f42cd00af70f4c4d0a8e726073dc6e
BLAKE2b-256 22b1c840f77d66c6e60eaece75e04777b6e3cc584986ea5bd79e0b70f142bea0

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