Skip to main content

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 保持兼容。

GitHub PyPI License: GPL-3.0

📖 完整文档请见 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)

Source distribution for mijiaAPI 5.0.0
File Size Uploaded
mijiaapi-5.0.0.tar.gz 145.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mijiaAPI 5.0.0
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

5.0.0 This release

2 release files

4.4.0

2 release files

4.3.0

2 release files

4.2.1

2 release files

4.2.0

2 release files

4.1.3

2 release files

4.1.2

2 release files

4.1.1

2 release files

4.1.0

2 release files

4.0.0

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.5

2 release files

3.0.4

2 release files

3.0.3

2 release files

3.0.2

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.5.0

2 release files

1.4.5

2 release files

1.4.4

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.14

2 release files

1.3.13

2 release files

1.3.12

2 release files

1.3.11

2 release files

1.3.10

2 release files

1.3.9

2 release files

1.3.8

2 release files

1.3.7

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page