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

6 小时 28 分钟前
 handsomejustin80

大家好,分享一个我折腾了挺久的开源项目: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 测试。

适合谁用

项目地址

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

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

487 次点击
所在节点    分享创造
2 条回复
kkchan1999
3 小时 24 分钟前
回家试试
handsomejustin80
2 小时 33 分钟前
@kkchan1999 有啥问题,欢迎 issues

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1210284

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX