大家好,分享一个我折腾了挺久的开源项目: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 ,感谢原作者的开源贡献。