Skip to main content

Interface to Tuya devices over LAN.

Project description

local-tuya

tests version python

Interface to Tuya devices over LAN.

Features

  • asynchronous methods and transport
  • persistent and robust communication to the device
  • automatic remote device state updates (remotes can still be used)
  • configurable buffering for subsequent updates
  • constraints between device commands
  • Domoticz plugin using a dedicated thread

💡 For now, only v3.3 is supported as I only own devices using this version.

Examples

Requirements

To control a device you will need these 3 things:

  • the device ID
  • the device local IP address
  • the device local key (encryption key generated upon pairing)

⚠️ This library does not provide support for getting these. See how to do that using any of those projects:

Generous thanks to the maintainers of those tools for details on interfacing with Tuya devices.

⚠️ Keep in mind that:

  • After pairing the devices, it's recommended to assign static IPs in your router.
  • If you reset or re-pair devices the local key will change.
  • You can delete your tuya IOT account but not the SmartLife one and devices should be kept there.
  • For state updates to be received properly, the device needs to be able to access the Tuya backend.

Architecture

This library is composed of two main components:

  • the Tuya protocol
  • the device

Protocol

The protocol is responsible for handling communication details with the Tuya device. Its interface consists of an asynchronous method to update the device and accepts a callback to subscribe to state changes.

See protocol module.

Device

The device handles higher level functional logic such as buffering, constraints and specific device commands.

See device module.

Domoticz plugin tools

See Domoticz tools package.

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

local_tuya-3.0.0.tar.gz (16.0 kB view hashes)

Uploaded Source

Built Distribution

local_tuya-3.0.0-py3-none-any.whl (24.7 kB view hashes)

Uploaded Python 3

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