Uses Python packages for interacting with Tuya smart devices, allowing control of device states, color settings, brightness, temperature, and modes through a command-line interface.
tuyactl
This project provides a command-line interface (tuyactl) for controlling Tuya devices. It interacts with a separate Tuya Server (I'm still thinking a better way of doing that).
Requirements
uv: A fast and modern Python package installer and runner. Install it by following the instructions on the uv documentation site.
Tuya Local Keys: You will need the local keys for your Tuya devices. Follow the tinytuya setup wizard to obtain these.
Related MCP server: browser-use MCP server
Quick Start
Install
Follow the official installation instructions on the uv documentation site. The recommended method is to use the standalone installer, which you can download and run with the following command:
curl -LsSf https://astral.sh/uv/install.sh | shObtain Tuya Local Keys:
Follow the tinytuya setup wizard to get the local keys for your Tuya devices. Place the resulting
snapshot.jsonfile in your home directory (~). You can customize the location of this file using environment variables (see below).Run the server:
nohup tuyad > tuyad.log 2>&1 &Run
To see the available commands and options, run:
tuyactl --helpTo execute a specific command, use the following syntax:
tuyactl <command> [options]Replace
<command>with one of the available commands:list,on,off,color,brightness,temperature,mode,music. Use the-- helpoption to see the available options for each command.For example, to list all your Tuya devices, run:
tuyactl list
Configuration
snapshot.jsonYou can customize the location of thesnapshot.jsonfile (containing your Tuya device keys) using environment va riables. (Details on this to be added later).