python-miio python-miio

3/5 🧩 软硬件结合 已发布
rytilahti 2388 Stars 未知 BOM 完整度: 0/5 教程完整度: 0/5

项目简介

Python library & console tool for controlling Xiaomi smart appliances


python-miio 是一个开源的 Python 库,旨在通过 miIO 和 MIoT 协议控制小米(及生态链)旗下的智能设备。该项目由社区志愿者维护,与小米公司无直接关联,但已成为控制小米智能家居设备最流行的第三方工具之一。

标签

项目特点

**双协议支持**:同时兼容旧版 miIO 协议和现代 MIoT 协议,覆盖广泛的小米设备。
**通用 MIoT 集成**:通过 `genericmiot` 模块自动适配所有 MIoT 设备,无需为每款设备单独编写代码。
**命令行工具**:提供 `miiocli` 命令行工具,支持设备发现、状态查询、参数设置和动作调用。
**云 Token 获取**:内置 `miiocli cloud` 命令,可从小米云账户自动获取设备 IP 和 Token。
**设备模拟器**:内置 miIO 和 MIoT 协议模拟器,方便开发者调试和测试。
**Python API**:提供简洁的 Python 接口,支持 `DeviceFactory` 自动识别设备型号并实例化对应的控制类。
**活跃的社区支持**:拥有 Matrix 聊天室和 GitHub Issues/Discussions,持续维护和更新。

技术规格

编程语言 Python 3
协议支持 miIO, MIoT
安装方式 pip install python-miio
依赖库 micloud (可选,用于云 Token 获取)
文档地址 [python-miio.readthedocs.io](https://python-miio.readthedocs.io/en/latest/)
许可证 MIT
主要维护者 rytilahti

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
Python 3 1 运行环境
python-miio 库 1 pip 安装
小米智能设备 1 任意支持的设备
局域网连接 1 设备与电脑在同一网络

能力画像

⚪ 记忆与知识检索: 1/5
🔵 逻辑推演: 2/5
⚪ 表达与交流: 1/5
⚪ 感知与观察: 1/5
🔵 数理与计算: 2/5
🔵 动手与操作: 2/5
⚪ 狂热与坚持: 1/5
⚪ 创造与创新: 2/5

所需技能

🔧 **动手能力**:需要能够将电脑与智能设备连接到同一局域网,并获取设备 IP 和 Token(可通过云账户自动获取)。 💻 **编程能力**:需要基础的 Python 编程知识,能够使用 pip 安装库、运行命令行工具,以及编写简单的 Python 脚本调用 API。 ⚡ **电子电路**:不需要硬件电路知识。

适用场景

智能家居自动化:通过脚本或 Home Assistant 集成,实现设备定时开关、联动控制等。
设备调试与测试:使用 CLI 工具快速查询设备状态、测试新功能或排查问题。
开发第三方应用:基于 python-miio 的 API 构建自己的智能家居控制面板或移动应用。
协议研究与学习:学习 miIO/MIoT 协议的实现方式,或为未支持的设备贡献代码。