Tuya 智能家居本地控制服务器

项目简介

'tuyactl' 项目提供了一个本地服务器 'tuyad' 和命令行客户端 'tuyactl',用于控制 Tuya 智能家居设备。'tuyad' 服务器负责与 Tuya 设备进行本地通信,'tuyactl' 命令行工具则作为客户端,通过 HTTP 接口向 'tuyad' 服务器发送控制指令。

主要功能点

  • 设备管理: 'tuyad' 服务器加载和管理本地 Tuya 设备信息(从 'snapshot.json' 文件中读取),作为可操作的资源。
  • 设备控制: 提供多种设备控制功能,包括:
    • 开关控制: 远程开启和关闭 Tuya 设备。
    • 颜色调节: 调整支持彩光功能的 Tuya 灯的颜色。
    • 亮度调节: 调整 Tuya 灯的亮度。
    • 色温调节: 调整 Tuya 灯的色温。
    • 模式设置: 设置 Tuya 灯的工作模式(如白色、彩色、场景、音乐模式)。
    • 音乐模式: 使 Tuya 灯光根据本地音频输入进行律动,创造氛围灯光效果。
  • 命令行客户端: 'tuyactl' 提供了友好的命令行界面,方便用户发送控制指令到 'tuyad' 服务器。

安装步骤

  1. 安装 'uv': 按照 uv 文档 的指引安装 'uv',这是一个快速的 Python 包管理器和运行器。
  2. 获取 Tuya Local Keys: 按照 tinytuya setup wizard 步骤,获取你的 Tuya 设备的本地密钥。将生成的 'snapshot.json' 文件放置在用户 home 目录下 ('~')。
  3. 运行服务器: 在终端中执行以下命令启动 'tuyad' 服务器,它将在后台运行:
    nohup tuyad > tuyad.log 2>&1 &
    服务器默认监听 'http://localhost:5000'。

服务器配置 (MCP 客户端配置)

如果你的 MCP 客户端需要配置连接到 'tuyad' 服务器,你需要提供服务器的启动命令。以下是一个示例配置(JSON 格式):

{
  "serverName": "TuyaSmartHomeServer",
  "command": "python",
  "args": ["-m", "tuyad.__main__"]
}

配置参数说明:

  • '"serverName"': 服务器的名称,可以自定义。
  • '"command"': 启动服务器的命令,这里使用 'python' 解释器。
  • '"args"': 传递给 'python' 命令的参数,'"-m tuyad.main"' 表示运行 'tuyad' 包的 'main.py' 模块,即启动 'tuyad' 服务器程序。

注意: MCP 客户端需要在 'tuyad' 项目的根目录下或 Python 环境能够找到 'tuyad' 包的情况下执行上述命令。通常,你需要在安装 'tuyactl' 项目后,在项目的根目录或安装路径下配置并运行 MCP 客户端。

基本使用方法

使用 'tuyactl' 命令行工具发送指令来控制 Tuya 设备。以下是一些基本命令示例:

  • 列出所有设备:
    tuyactl list
  • 打开指定设备:
    tuyactl on <设备名称>
    例如: 'tuyactl on livingroom_light'
  • 关闭所有设备:
    tuyactl off --all
  • 设置设备颜色为红色:
    tuyactl color red <设备名称>
    例如: 'tuyactl color red bedroom_light'
  • 设置设备亮度为 50%:
    tuyactl brightness 50 <设备名称>
    例如: 'tuyactl brightness 50 bedroom_light'
  • 启动设备的音乐模式:
    tuyactl music <设备名称>
    例如: 'tuyactl music livingroom_light'

你可以使用 'tuyactl <命令> --help' 查看每个命令的详细选项和用法。

信息

分类

桌面与硬件