这个项目能做什么
python-miio 是一个社区驱动的 Python 库及配套命令行工具 miiocli,用于控制使用 miIO 和 MIoT 协议的小米智能家电。它与小米及其所支持设备的任何厂商均无关联。
安装可通过 pip(python-miio)进行,或从 GitHub 仓库获取开发版本。README 指出正在进行重构工作,并建议在 0.6.0 版本发布前,使用 git 版本或预发布版本来控制现代 MIoT 设备。
快速上手:miiocli 可在提供 IP 地址和令牌的情况下控制受支持的设备。令牌可通过 miiocli cloud 命令从小米云账户获取(使用 micloud 库),或通过其他文档记录的方法获得。通用 info 命令会报告型号、硬件和固件版本、支持的集成类,以及用于控制的确切命令。
现代 MIoT 设备由 genericmiot 集成处理,该集成会下载并缓存设备型号规格文件,以发现传感器、设置和操作。常用命令包括 status(显示状态及读写设置的可接受值)、set(按名称更改设置)、actions(列出可用操作)和 call(执行操作)。
较旧的 miIO 设备通过按设备划分的模块(如 roborockvacuum 或 fan)提供支持,每个模块暴露各自的子命令。型号检测是自动的,但在无法连接云时可使用 --model 标志覆盖。
故障排除支持包括可重复使用的 --debug/-d 标志以提高日志详细程度、故障排除文档章节、GitHub issues 和 discussions,以及一个 Matrix 聊天室。
API 用法:miio 模块暴露所有功能。DeviceFactory.create(ip, token) 执行 info 查询以检测型号并构造匹配的设备类。设备类可通过 sensors()、settings() 和 actions() 进行内省,这些方法返回描述可用功能的描述符对象;并非所有集成都已定义描述符。
欢迎贡献错误修复、功能和文档,并提供了简短的贡献指南。对于没有硬件的开发者,项目附带简单的 miIO 和 MIoT 模拟器用于测试代码。
README 列出了广泛支持的设备,包括小米扫地机器人(Mi Robot Vacuum V1、S4、S4 MAX、S5、S5 MAX、S6 Pure、M1S、S7,以及各种 Dreame 和 Viomi 型号)、空气净化器、加湿器、空调、摄像头、网关、插座、插线板、台灯和灯泡、红外遥控器、落地扇、净水器、空气质量监测仪、音箱、Wi-Fi 中继器、电饭煲、新风系统、Yeelight 灯具、取暖器、窗帘控制器、洗碗机、咖啡机、宠物饮水机等。所有 MIoT 设备据称均可通过 genericmiot 支持。
Home Assistant 官方在多个平台(vacuum、light、fan、switch、remote、sensor、alarm control panel、device tracker)使用此库,各种自定义 Home Assistant 组件也基于它构建。提到的相关项目包括 dustcloud、Valetudo、micloud、micloudfaker 和 Xiaomi Cloud Tokens Extractor。
评论
0 人表达喜爱 · 满10人后显示 Deer Point
登录后参与讨论。