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

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

Changelog

v1.1.5

  • fix #24
  • additional condition on #20
  • use const in _generate_json_data

v1.1.4

  • _select_reply use filter correction

v1.1.3

  • _select_reply use filter (fix #20?)
  • added check for empty string replies
  • corrected setup.py

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

Uploaded Source

Built Distribution

tuyaface-1.1.5-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tuyaface-1.1.5.tar.gz
  • Upload date:
  • Size: 6.0 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.5.tar.gz
Algorithm Hash digest
SHA256 16c75bc56760571f7a5baef9a201bc695621f22809e1d90a138e35dc695d3c72
MD5 c3e4c705633a79bde457bf745c08f925
BLAKE2b-256 926ded27b585ac2c9ba5f7960e041f67049c54008d44aca88f0546ac7935d521

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tuyaface-1.1.5-py3-none-any.whl
  • Upload date:
  • Size: 7.4 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d8683e99d3f86ca93d1ca6b32482f18b14ce683c8c3f92109490c8476d041c72
MD5 53c6aac74d05e8b239540e75ea8ce58d
BLAKE2b-256 a4279c0f17277c57b7e677fd0cbc68870b9c2deed0f6bab5654b085f1a68a8bc

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