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")
#
# # 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

This version

0.0.6

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.6.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

wyzeapy-0.0.6-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file wyzeapy-0.0.6.tar.gz.

File metadata

  • Download URL: wyzeapy-0.0.6.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.9.2

File hashes

Hashes for wyzeapy-0.0.6.tar.gz
Algorithm Hash digest
SHA256 5a31a3ea449db63079fb39b8790ae12b0088274a295db54553242d5f8d91d716
MD5 7c5bc1e97b91a10b8d944d47e5177f5e
BLAKE2b-256 f9ca4d7ffe90c22c3f222f5a48e7ec910f4d4673d3f262335d1beb51056f681e

See more details on using hashes here.

File details

Details for the file wyzeapy-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: wyzeapy-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.9.2

File hashes

Hashes for wyzeapy-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 6e00af8d14467b86bd28ec42e639e6d267ebccd9fb8f5b3d092653855a836d8d
MD5 f05bc2b96282929576433c145c274c01
BLAKE2b-256 59b2f6c743027ae48a3126920294af27ab86721122ff749bcf2d06bd9af0d4de

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