米家空调接入 Claude

接入前设备准备

  • 一台支持接入米家的空调
  • 一台持续运行的 Windows 电脑(负责与空调进行局域网通信)
  • 一台拥有公网 IP 的 VPS(用于部署中继服务)

环境准备

  • Python 3.8+
  • FastAPI(部署于 VPS )
  • Nginx(用于反向代理 FastAPI,提供公网 HTTP/HTTPS Endpoint)
  • (可选)域名及 HTTPS 证书

架构

           本地电脑
┌────────────────────────────┐
│ ac_bridge.py               │
│                            │
│ 通过 miio 控制空调          │
│ 每 2 秒轮询 GET /ac-next    │
└──────────────┬─────────────┘
               │ HTTP
               ▼
              VPS
┌────────────────────────────┐
│ FastAPI                    │
│                            │
│ GET  /ac-next              │
│ POST /internal/send        │
│ GET  /internal/status      │
└────────────────────────────┘

本地电脑负责通过局域网控制空调,同时定时向 VPS 查询是否有新的控制指令。Claude 只需要调用 VPS 提供的接口,无需直接访问本地电脑。

接入步骤

由于需要本地电脑进行局域网通信,请勿使用 WSL 运行。建议直接在 Windows 环境下执行。

1. 获取空调 Token

由于小米近期增加了登录验证码,目前 python-miio 自带的获取工具无法正常登录,因此需要使用第三方 Token 提取工具。

下载:

相关 Issue:

运行 token_extractor.exe 后:

  1. 输入小米账号密码登录。
  2. 登录成功后,会列出账号下所有设备。
  3. 找到对应空调,记录:

    • Device IP
    • Token

风险提示: 此方式属于非官方接口,小米账号如检测到异常登录,可能触发风控,请自行评估风险。

2. 安装 python-miio

安装依赖:

pip install python-miio

3. 测试局域网连接

执行:

miiocli miotdevice --ip <空调IP> --token <Token> info

如果能够正常返回设备信息,而不是报错,则说明本地电脑已经可以直接控制空调。

4. 准备部署信息

将以下信息整理好:

  • 空调 IP
  • Token
  • VPS 地址(或域名)
  • 是否需要 HTTPS
  • 控制需求(例如开关机、温度、模式、风速等)

提供给 Claude 后,即可生成完整的项目代码,包括:

  • FastAPI 中继服务
  • Nginx 反向代理配置
  • 本地 ac_bridge.py 客户端
  • API 接口定义
  • 自动启动配置(可选)

5. 部署

部署完成后:

  1. 在 VPS 启动 FastAPI 服务。
  2. 配置 Nginx,将公网请求转发至 FastAPI。
  3. 在本地电脑启动 ac_bridge.py
  4. 确认客户端能够正常轮询 /ac-next 接口。
  5. 调用 /internal/send 接口发送控制指令,验证空调是否能够正常响应。

部署成功后,Claude 仅需调用 VPS 提供的 HTTP API 即可远程控制空调。

已知问题

miiocli 本身有个click库版本兼容性bug(TypeError: argument of type 'bool' is not iterable),可通过 pip install "click<8.2" 解决

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!