Repolode
rytilahti

rytilahti/python-miio

用于通过 miIO 和 MIoT 协议控制小米智能家居设备的 Python 库及命令行工具。

可替代:Mi Home

Star
4,331
Fork
601
未关闭 Issue
317
最近提交
3个月前

这是什么?

python-miio 是一个 Python 库,并附带命令行工具 miiocli,用于控制小米智能家居设备。它支持小米的 miIO 和 MIoT 协议,只要知道设备的 IP 地址和 token,就能通过局域网查询和控制设备。

对于较新的 MIoT 设备,通用的 genericmiot 模块会读取设备的 spec 文件,列出传感器、可设置项和动作,并可通过命令行或 Python 代码修改设置、执行动作。较早的 miIO 设备,如扫地机器人、空气净化器、风扇、加湿器和灯具,则由各自的专用模块支持,DeviceFactory 可自动识别设备型号。token 可通过内置的 cloud 命令从小米云账号获取。

项目还提供 miIO 和 MIoT 的简易模拟器,方便开发者在没有实体设备的情况下测试代码。这是一个与小米无隶属关系的社区项目,Home Assistant 中的部分小米集成也基于它实现。

核心功能

  • 01通过 IP 地址和 token 在局域网内控制 miIO 与 MIoT 设备。
  • 02通用 MIoT 模块可根据设备 spec 文件展示状态、设置项和动作。
  • 03专用模块覆盖扫地机器人、空气净化器、风扇、加湿器、灯具和插座等多种小米设备。
  • 04miiocli 命令行工具支持查询信息、查看状态、修改设置和执行动作。
  • 05可通过 cloud 命令从小米云账号获取设备 token。
  • 06提供 miIO 和 MIoT 模拟器,便于无硬件时测试代码。

适用场景

  • 在 Python 程序中编写脚本,自动化控制小米设备。
  • 为小米家电开发自定义智能家居集成或控制面板。
  • 在没有实体设备的情况下测试 miIO 或 MIoT 客户端代码。
  • 在终端中查询设备状态并修改设置。

快速上手

  1. 1

    从 PyPI 安装该库

    pip install python-miio
  2. 2

    获取设备的 IP 地址和令牌(例如通过云命令)

    miiocli cloud
  3. 3

    查询设备以查看型号及控制命令

    miiocli device --ip <ip> --token <token> info

使用前须知

  • 现代 MIoT 设备的支持需要使用 git 版本或预发布版本,直到 0.6.0 版本发布。
  • 控制设备需要知道每台设备的 IP 地址和令牌。
  • 这是一个社区自愿维护的项目,与设备制造商无关联。
  • 采用 GPL-3.0 许可证,属于 Copyleft 许可证。

标签

常见问题

python-miio 是什么?
用于通过 miIO 和 MIoT 协议控制小米智能家居设备的 Python 库及命令行工具。 python-miio 是一个 Python 库,并附带命令行工具 miiocli,用于控制小米智能家居设备。它支持小米的 miIO 和 MIoT 协议,只要知道设备的 IP 地址和 token,就能通过局域网查询和控制设备。
python-miio 可以免费使用吗?用的什么许可证?
python-miio 以 GPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
python-miio 还在维护吗?
半年内有更新。python-miio 最近一次提交是在 2026年7月25日。
python-miio 适合用来做什么?
在 Python 程序中编写脚本,自动化控制小米设备。 为小米家电开发自定义智能家居集成或控制面板。 在没有实体设备的情况下测试 miIO 或 MIoT 客户端代码。 在终端中查询设备状态并修改设置。
python-miio 怎么安装和运行?
从 PyPI 安装该库: pip install python-miio 获取设备的 IP 地址和令牌(例如通过云命令): miiocli cloud 查询设备以查看型号及控制命令: miiocli device --ip <ip> --token <token> info
在哪里获取 python-miio?
源代码和安装说明在 GitHub 上:https://github.com/rytilahti/python-miio

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目