V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
ruxuan1306
V2EX  ›  分享创造

Claude Code 想出了办法控制我的灯

  •  
  •   ruxuan1306 · 18 小时 3 分钟前 · 879 次点击

    我让 Claude Code 关闭我的米家吸顶灯,Claude Code 一番摸索找到了 mijia-api,成功执行了关灯。

    感谢 mijia-api 作者🙏,我也让 Claude Code 记录成了简单的 SKILL.md ,分享给有需要的朋友。

    ---
    name: mijia-control
    description: 控制米家智能设备。当用户想要开关灯、调节亮度、控制扫地机器人、空气净化器、空调等智能家居设备时使用。
    permissions:
      - Bash(uvx mijiaAPI:*)
    ---
    
    # 米家智能设备控制指南
    
    使用 `uvx mijiaAPI` 命令控制米家智能设备。
    
    ## 1. 安装与登录
    
    首次使用扫码登录:
    
    ```bash
    uvx mijiaAPI -l
    ```
    
    认证信息保存在 `~/.config/mijia-api/auth.json`。
    
    ## 2. 查看家庭列表
    
    ```bash
    uvx mijiaAPI --list_homes
    ```
    
    ## 3. 查看设备列表
    
    ```bash
    uvx mijiaAPI -l
    ```
    
    显示设备名称、did (设备 ID )和 model (型号)。
    
    ## 4. 查看设备属性
    
    ```bash
    uvx mijiaAPI --get_device_info <model>
    ```
    
    ## 5. 常用命令
    
    ### 控制设备属性
    
    ```bash
    # 基本格式
    uvx mijiaAPI set --did <设备 ID> --prop_name "<属性名>" --value <值>
    
    # 示例:开关灯
    uvx mijiaAPI set --did 123456789 --prop_name "on" --value True
    uvx mijiaAPI set --did 123456789 --prop_name "on" --value False
    
    # 示例:调节亮度 (1-100)
    uvx mijiaAPI set --did 123456789 --prop_name "brightness" --value 50
    
    # 示例:调节色温 (具体范围取决于设备)
    uvx mijiaAPI set --did 123456789 --prop_name "color-temperature" --value 2700
    ```
    
    ### 获取设备状态
    
    ```bash
    uvx mijiaAPI get --did <设备 ID> --prop_name "<属性名>"
    
    # 示例
    uvx mijiaAPI get --did 123456789 --prop_name "on"
    uvx mijiaAPI get --did 123456789 --prop_name "brightness"
    ```
    
    ### 使用小爱音箱(可选)
    
    有小爱音箱时,可用自然语言控制:
    
    ```bash
    uvx mijiaAPI --run "<语音命令>" --wifispeaker_name "<音箱名称>"
    
    # 示例
    uvx mijiaAPI --run "关闭所有灯" --wifispeaker_name "小爱音箱 Pro"
    uvx mijiaAPI --run "把台灯调到 50%亮度" --wifispeaker_name "小爱音箱 Pro"
    ```
    
    适用场景:批量控制、房间控制、属性调节(亮度、色温等)。
    
    ## 6. 常见设备属性
    
    灯光:`on`(开关)、`brightness`(亮度 1-100 )、`color-temperature`(色温)
    
    空气净化器:`on`(开关)、`mode`(模式)、`fan-level`(风速)
    
    ## 7. 批量操作
    
    使用 `&&` 连接多个命令:
    
    ```bash
    uvx mijiaAPI set --did 111 --prop_name "on" --value True && \
    uvx mijiaAPI set --did 222 --prop_name "on" --value True
    ```
    
    ## 8. 参考资料
    
    - GitHub 项目: https://github.com/Do1e/mijia-api
    - 更多命令选项:`uvx mijiaAPI --help`
    
    ## 9. 设备笔记(重要)
    
    优先查看 `~/.config/mijia-api/my-devices.yaml`(如存在)。
    
    包含:家庭列表、设备信息、小爱音箱名称。
    
    工作流程:
    1. 查看笔记文件,获取小爱音箱名称
    2. 直接执行:`uvx mijiaAPI --run "关闭所有灯" --wifispeaker_name "小爱音箱 Pro"`
    
    笔记不存在:查询家庭和设备信息,自动创建笔记文件。
    
    快捷调用失败:自动重新查询信息(`--list_homes` 和 `-l`),更新笔记文件,然后重新执行用户请求。
    
    笔记示例:
    
    ```yaml
    # 米家设备笔记
    
    homes:
      我的家:
        id: 123456789
        wifispeaker: 小爱音箱 Pro
        devices:
          - 台灯 (did: 111111111, model: yeelink.light.lamp4)
          - 吸顶灯 (did: 222222222, model: xiaomi.light.ceil04)
    
      办公室:
        id: 987654321
        wifispeaker: 小爱音箱
    ```
    
    
    6 条回复    2026-01-11 11:12:58 +08:00
    Tink
        1
    Tink  
    PRO
       18 小时 1 分钟前
    可以在家里部署一个 Home Assistant ,然后使用 miot 集成把米家设备集成进去,这个提供了各种 api 可供使用
    est
        2
    est  
       17 小时 59 分钟前
    想知道背后原理,找到库,https://github.com/Do1e/mijia-api ,它 FAQ 说


    如何抓包?小米官方给了一个抓包教程

    https://iot.mi.com/new/doc/accesses/direct-access/extension-development/troubleshooting/packet_capture

    原来 mijia 内部人员自己也靠抓包去逆向。。。抽象。。。。
    Dreax
        3
    Dreax  
       17 小时 36 分钟前
    @est 太抽象了
    hanguofu
        4
    hanguofu  
       14 小时 46 分钟前 via Android
    谢谢分享~~请问对于开关灯这样的需求,是不是仅用这套 mijia-api 就足够了?
    livib
        5
    livib  
       6 小时 3 分钟前
    @est 对开发者算是比较友好了
    est
        6
    est  
       5 小时 44 分钟前
    @livib 更友好的东西是一套 well defined 操原子,本地 test suite ,这样你可以在一台机器本机完成整个链路的模拟。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2755 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 08:57 · PVG 16:57 · LAX 00:57 · JFK 03:57
    ♥ Do have faith in what you're doing.