Back to System Ops

Tuya Smart Home

Integrates with Tuya smart home devices using tinytuya, enabling control and monitoring for home automation scenarios like voice commands and energy optimization.

Last updated: 1/27/2026

README

# 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](https://docs.astral.sh/uv/installation/).
*   **Tuya Local Keys:** You will need the local keys for your Tuya devices. Follow the [tinytuya setup wizard](https://github.com/jasonacox/tinytuya#setup-wizard---getting-local-keys) to obtain these.

## Quick Start

1.  **Install `uv`:**

    Follow the official installation instructions on the [uv documentation site](https://docs.astral.sh/uv/installation/). The recommended method is to use the standalone installer, which you can download and run with the following command:

    ```bash
    curl -LsSf https://astral.sh/uv/install.sh | sh
    ```

2.  **Obtain Tuya Local Keys:**

    Follow the [tinytuya setup wizard](https://github.com/jasonacox/tinytuya#setup-wizard---getting-local-keys) to get the local keys for your Tuya devices.  Place the resulting `snapshot.json` file in your home directory (`~`). You can customize the location of this file using environment variables (see below).

3.  **Run the server:**

    ```
    nohup tuyad > tuyad.log 2>&1 &
    ```

3.  **Run `tuyactl`:**

    To see the available commands and options, run:

    ```bash
    tuyactl --help
    ```

    To execute a specific command, use the following syntax:

    ```bash
    tuyactl <command> [options]
    ```

    Replace `<command>` with one of the available commands: `list`, `on`, `off`, `color`, `brightness`, `temperature`, `mode`, `music`.  Use the `--
help` option to see the available options for each command.

    For example, to list all your Tuya devices, run:

    ```bash
    tuyactl list
    ```

## Configuration

*   **`snapshot.json` Location:** You can customize the location of the `snapshot.json` file (containing your Tuya device keys) using environment va
riables. (Details on this to be added later).

Installation

Add this MCP to your configuration:

{
  "mcpServers": {
    "tuya-smart-home": {
      // See GitHub repository for configuration
    }
  }
}

See the GitHub repository for full installation instructions.