mijiaAPI
米家 API,可以使用代码、CLI、MCP 直接控制米家设备。
⚠️ v5.0.0 兼容性说明:设备规格数据源迁移至 miot-spec.org(小米官方数据源),有以下破坏性变更:
get_device_info()参数由device_model改为spec_type(设备规格类型 URN,可从get_devices_list()返回的设备信息中获取)- CLI
--get_device_info由接收 model 改为接收spec_type(可从-l输出的spec_type字段获取)- MCP 工具
get_device_spec参数由device_model改为spec_type除上述改动外,其余用法与 v4 保持兼容。
📖 完整文档请见 mijia-api.do1e.com
安装
要求 Python >= 3.10
pip install mijiaAPI
# uv 用户可使用 `uv add mijiaAPI`
其他安装方式(源码安装、AUR)请参考文档。
快速开始
from mijiaAPI import mijiaAPI, mijiaDevice
# 初始化并扫码登录(认证文件默认保存在 ~/.config/mijia-api/auth.json)
api = mijiaAPI()
api.login()
# 通过设备名称控制设备(推荐)
device = mijiaDevice(api, dev_name="我的台灯")
device.on = True # 打开设备
device.brightness = 60 # 设置亮度为 60%
# 查看设备支持的所有属性和动作
print(device)
CLI 用法:
mijiaAPI login # 扫码登录
mijiaAPI -l # 列出所有设备
mijiaAPI set --dev_name "台灯" --prop_name "brightness" --value 60
MCP 用法:
执行 uvx mijiaAPI login -p /path/to/auth.json 登录后,在 MCP 客户端配置中添加以下内容即可接入米家:
{
"mcpServers": {
"mijia-api": {
"command": "uvx",
"args": ["mijiaAPI[mcp]", "mcp", "-p", "/path/to/auth.json"]
}
}
}
更多用法(API 基础调用、MCP Server、CLI 完整参数、最佳实践等)请查阅完整文档。
致谢
开源许可
本项目采用 GPL-3.0 开源许可证。
请注意:GPL-3.0 是具有“强传染性”的开源许可证。
如果您在您的项目中使用、修改或分发本项目的代码(包括作为库依赖),您的整个项目也必须以 GPL-3.0 或兼容许可证开源发布。
免责声明
- 本项目仅供学习交流使用,不得用于商业用途,如有侵权请联系删除
- 用户使用本项目所产生的任何后果,需自行承担风险
- 开发者不对使用本项目产生的任何直接或间接损失负责
Metadata
Release files for mijiaAPI 5.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mijiaapi-5.0.0.tar.gz | 145.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mijiaapi-5.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 187.5 kB
Release files / mijiaapi-5.0.0.tar.gz
| Download URL | mijiaapi-5.0.0.tar.gz |
|---|---|
| Size | 145.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ee938a938cb3b43b6ea23cc8e629707d98ed35a1d98a40b8b62ddb25c70bb9bb
|
|
BLAKE2b-256 checksum How to use checksums |
50007be2da54f504f035788c84839874b8f8e525ef1df01fc4db77795936ef11
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.24 {"installer":{"name":"uv","version":"0.12.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / mijiaapi-5.0.0-py3-none-any.whl
| Download URL | mijiaapi-5.0.0-py3-none-any.whl |
|---|---|
| Size | 41.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
31792ead21e8d641cbe3126ed197aa00252eb8f1b680f3873029646bf6c7c8b3
|
|
BLAKE2b-256 checksum How to use checksums |
1d1a4019e9fbdf501cbce1931fb3869f12e98880e0a38586f4b03228c329d121
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.24 {"installer":{"name":"uv","version":"0.12.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|