V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
handsomejustin80

让 AI Agent 控制你家所有米家设备 — mijia-control

  •  
  •   handsomejustin80 ·
    handsomejustin · 5h 29m ago · 439 views

    大家好,分享一个我折腾了挺久的开源项目:mijia-control

    一句话介绍

    把米家设备全面 CLI 化 + API 化 + MCP 化,让 Hermes Agent 、Claude Code 、OpenClaw 等各种 AI Agent 能直接控制你家智能家居。顺便还兼容了 Apple HomeKit 。

    为什么做这个

    用 AI Agent 做自动化工作流的时候,发现智能家居这块是盲区 —— 米家 App 没有 CLI ,没有 API ,Agent 想控制设备只能走 GUI 模拟点击,体验很差。

    思路很简单:所有设备操作都变成命令行和 API 调用,Agent 跑在终端里天然就能用。自己接语音识别的话,也能实现语音控制。

    核心功能

    1. MCP Server ( AI Agent 集成)

    内置 MCP 协议支持,任何兼容 MCP 的 AI Agent 都能直接调用。目前 11 个工具:

    list_devices    — 列出所有设备
    get_device      — 查看设备详情与规格
    get_property    — 读取设备属性
    set_property    — 设置设备属性(控制设备)
    run_action      — 执行设备动作
    list_scenes     — 列出场景
    run_scene       — 执行场景
    list_homes      — 列出家庭
    get_home        — 查看家庭详情
    list_ble_devices / get_ble_sensor / get_ble_readings — BLE 传感器
    

    在 Claude Code 里配置:

    claude mcp add mijia -- python -m mcp_server
    

    然后对话里直接说"把客厅灯关掉"、"执行回家场景"就行。Hermes Agent 、OpenClaw 同理。

    2. CLI 工具

    mijia-control 命令行,不依赖 Flask 上下文也能独立运行:

    mijia-control device list                          # 列出设备
    mijia-control device set <did> power on            # 开设备
    mijia-control device get <did> temperature         # 读温度
    mijia-control scene run <scene_id>                 # 执行场景
    mijia-control ble scan                             # 扫描 BLE 传感器
    

    有了 CLI ,配合任何自动化脚本、cron 定时任务、甚至 Shell 别名都能用。

    3. RESTful API

    完整的 REST API ,JWT 认证,Swagger 文档在 /api/docs/。覆盖设备管理、场景执行、自动化规则、能耗统计、BLE 传感器等所有功能。第三方系统( Home Assistant 、n8n 等)集成很方便。

    4. HomeKit 桥接

    通过 HAP-Python 实现 HomeKit Bridge ,iPhone 家庭 App 和 Siri 能直接控制米家设备。支持灯光、插座、温控器、传感器等类型,还能自定义设备映射规则。

    架构:

    Apple 家庭 / Siri → HomeKit Bridge (51826) → Flask API (5000) → 米家设备
    

    5. BLE 蓝牙传感器

    PC 蓝牙直连小米 BLE 温湿度计,无需额外网关硬件。支持历史数据查询和自动化联动(比如温度超过 30°C 自动开空调)。

    技术栈

    Flask 3.0 + SQLAlchemy + MySQL ,MCP 用 FastMCP ,HomeKit 用 HAP-Python ,BLE 用 bleak 。代码质量用 Ruff lint + format ,pytest 测试。

    适合谁用

    • AI Agent 用户:想让 Hermes 、Claude Code 等 Agent 控制智能家居
    • CLI 爱好者:习惯命令行操作,不想打开 App
    • HomeKit 用户:想让米家设备出现在 Apple 家庭 App 里
    • 自动化玩家:需要 API 对接 Home Assistant 、n8n 等系统

    项目地址

    https://github.com/handsomejustin/mijia-control

    GPL-3.0 开源,欢迎 Star 和 PR 。底层通信用的 Do1e/mijia-api SDK ,感谢原作者的开源贡献。

    2 replies    2026-05-05 16:35:44 +08:00
    kkchan1999
        1
    kkchan1999  
       2h 26m ago
    回家试试
    handsomejustin80
        2
    handsomejustin80  
    OP
       1h 34m ago
    @kkchan1999 有啥问题,欢迎 issues
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2704 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 10:10 · PVG 18:10 · LAX 03:10 · JFK 06:10
    ♥ Do have faith in what you're doing.