Skip to main content

Python interface to Tuya WiFi smart devices.

Project description

TuyaFace

Tuya client that allows you to locally communicate with tuya devices without the tuya-cloud.

Installation

pip install tuyaface

or

pip install tuyaface==1.1.0

Public Interface

Request device status

status(device: dict)
Returns json string

Change device state

set_state(device: dict, value: bool, idx: int = 1)
Returns json string

Change device status

set_status(device: dict, dps: dict)
Returns json string

Device dict

device = {
    'protocol': '3.3', # 3.1 | 3.3
    'deviceid': '34280100600194d17c96',
    'localkey': 'e7e9339aa82abe61',
    'ip': '192.168.1.101',            
}

DPS dict

dps = {
    '1': 0,
    '103' 255,
    ...etc...
}

Todo

  • use const in _generate_json_data
  • _select_reply use filter

Changelog

v1.1.2

  • moved constants to separate file
  • _stitch_payload type casting

v1.1.1

  • better description pub interface
  • replaced pycrypto with pycryptodome

v1.1.0 Breaking

  • function set_status was added
  • functionname set_status was changed to set_state

v1.0.5

  • setup fixed
  • split _generate_payload function to a readable format
  • add support for older devices back in (untested, please report back)
  • solved recursion problem in send_request
  • moved functions back to init
  • removed TuyaConnection class, use send_request in try/except
  • declassified aescipher
  • moved to a more functional programming style
  • yield and list comprehensions
  • setup.py
  • removed code for older devices < 3.3

Implementations

Acknowledgements

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

tuyaface-1.1.3.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

tuyaface-1.1.3-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file tuyaface-1.1.3.tar.gz.

File metadata

  • Download URL: tuyaface-1.1.3.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/46.1.3 requests-toolbelt/0.8.0 tqdm/4.45.0 CPython/3.6.9

File hashes

Hashes for tuyaface-1.1.3.tar.gz
Algorithm Hash digest
SHA256 77112c505f34158cb5baf3a38b5568f1bc851fa378f4b5798f3401bfb6e0d49f
MD5 a88a99ca465408f96b9d92a7d9edba5f
BLAKE2b-256 9e01bce9af96841a21f9393e6e9510b82ee9b2b0a167be2a1a1c1bd11e89a3af

See more details on using hashes here.

File details

Details for the file tuyaface-1.1.3-py3-none-any.whl.

File metadata

  • Download URL: tuyaface-1.1.3-py3-none-any.whl
  • Upload date:
  • Size: 7.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/46.1.3 requests-toolbelt/0.8.0 tqdm/4.45.0 CPython/3.6.9

File hashes

Hashes for tuyaface-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a8f755fdde54c287fa27b5a37c367df19c49a93f7af027dbee11a270e524cff5
MD5 8a46905eea0a0fb377b5b09811f5d4a9
BLAKE2b-256 4799174eaf6ff181c988073aa72bee157ab29e2125debd8da8377a5bb5266932

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