Tuya 智能家居本地控制服务器
项目简介
'tuyactl' 项目提供了一个本地服务器 'tuyad' 和命令行客户端 'tuyactl',用于控制 Tuya 智能家居设备。'tuyad' 服务器负责与 Tuya 设备进行本地通信,'tuyactl' 命令行工具则作为客户端,通过 HTTP 接口向 'tuyad' 服务器发送控制指令。
主要功能点
- 设备管理: 'tuyad' 服务器加载和管理本地 Tuya 设备信息(从 'snapshot.json' 文件中读取),作为可操作的资源。
- 设备控制: 提供多种设备控制功能,包括:
- 开关控制: 远程开启和关闭 Tuya 设备。
- 颜色调节: 调整支持彩光功能的 Tuya 灯的颜色。
- 亮度调节: 调整 Tuya 灯的亮度。
- 色温调节: 调整 Tuya 灯的色温。
- 模式设置: 设置 Tuya 灯的工作模式(如白色、彩色、场景、音乐模式)。
- 音乐模式: 使 Tuya 灯光根据本地音频输入进行律动,创造氛围灯光效果。
- 命令行客户端: 'tuyactl' 提供了友好的命令行界面,方便用户发送控制指令到 'tuyad' 服务器。
安装步骤
- 安装 'uv': 按照 uv 文档 的指引安装 'uv',这是一个快速的 Python 包管理器和运行器。
- 获取 Tuya Local Keys: 按照 tinytuya setup wizard 步骤,获取你的 Tuya 设备的本地密钥。将生成的 'snapshot.json' 文件放置在用户 home 目录下 ('~')。
- 运行服务器: 在终端中执行以下命令启动 'tuyad' 服务器,它将在后台运行:
服务器默认监听 'http://localhost:5000'。nohup tuyad > tuyad.log 2>&1 &
服务器配置 (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 livingroom_light'tuyactl on <设备名称> - 关闭所有设备:
tuyactl off --all - 设置设备颜色为红色:
例如: 'tuyactl color red bedroom_light'tuyactl color red <设备名称> - 设置设备亮度为 50%:
例如: 'tuyactl brightness 50 bedroom_light'tuyactl brightness 50 <设备名称> - 启动设备的音乐模式:
例如: 'tuyactl music livingroom_light'tuyactl music <设备名称>
你可以使用 'tuyactl <命令> --help' 查看每个命令的详细选项和用法。
信息
分类
桌面与硬件