Python-miio:一个强大的Python库,通过小米的miIO和MIoT协议来控制各种小米智能家居设备

Python-miio是一个强大的Python库,它允许你通过小米的miIO和MIoT协议来控制各种小米智能家居设备。无需再依赖小米的官方App,你就可以轻松地用Python脚本自动化你的智能家居生活。本文将详细介绍Python-miio库的功能、使用方法以及它能为你带来的便利。

什么是Python-miio?

Python-miio是一个开源的、社区驱动的项目,它并非小米官方出品,而是由热心的开发者们共同维护和完善。该库提供了一个命令行工具miiocli和Python API,让你能够方便地与支持miIO和MIoT协议的小米设备进行交互。它支持多种设备,涵盖了吸尘器、空气净化器、空调、灯具、插座等等。

Python-miio能做什么?

Python-miio主要有以下功能:

  • • 控制小米设备: 这是Python-miio的核心功能。你可以通过Python脚本或miiocli来控制各种小米设备,例如开关空调、调节风扇速度、设置空气净化器的风量、控制扫地机器人的清扫等等。

  • • 获取设备状态: 你可以随时获取设备的运行状态,例如空气净化器的PM2.5值、空调的温度设置、扫地机器人的电池电量等等,这些信息可以用于构建更高级的自动化场景。

  • • 支持多种协议: Python-miio支持小米的miIO和MIoT协议,覆盖了大部分的小米智能家居设备。

  • • 命令行工具miiocli: miiocli是一个方便易用的命令行工具,无需编写任何代码,你就可以通过简单的命令来控制设备。

如何使用Python-miio?

首先,你需要安装Python-miio库:

pip install python-miio

对于MIoT设备,建议安装最新的开发版本:

pip install git+https://github.com/rytilahti/python-miio.git

获取设备Token:

要控制设备,你需要获取设备的IP地址和Token。可以使用miiocli cloud命令从小米云服务器获取:

miiocli cloud

输入你的小米账号和密码后,程序会列出你所有已连接的设备及其Token。

使用miiocli控制设备:

一旦你获得了Token,就可以使用miiocli来控制设备了。例如,获取设备信息:

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

控制MIoT设备:

# 获取状态
miiocli genericmiot --ip <ip> --token <token> status

# 设置参数,例如设置亮度为50
miiocli genericmiot --ip <ip> --token <token> set light:brightness 50

# 执行动作,例如开关灯
miiocli genericmiot --ip <ip> --token <token> call light:toggle

控制旧版miIO设备:

需要使用对应模块的命令,例如roborockvacuum控制扫地机器人。你可以使用--help参数查看可用命令。

使用Python API控制设备:

你可以使用Python API编写更复杂的脚本:

from miio import DeviceFactory

# 创建设备实例
dev = DeviceFactory.create("<ip address>", "<token>")

# 获取设备状态
status = dev.status()
print(status)

# 设置参数,例如设置温度
dev.set_property("temperature", 25)

支持的设备及更多功能:

Python-miio支持众多小米设备,包括但不限于:扫地机器人、空气净化器、空调、灯具、插座、摄像头等等。此外,它还提供了设备模拟器,方便开发者测试和开发。 该库还在持续更新中,支持的设备和功能也在不断增加。

总结:

Python-miio是一个功能强大、易于使用的Python库,它能够帮助你轻松地控制各种小米智能家居设备,实现自动化控制和管理。无论是简单的命令行操作还是复杂的Python脚本,Python-miio都能满足你的需求,让你更好地享受智能家居的便捷。

项目地址:https://github.com/rytilahti/python-miio


发表评论