跳转到主要内容

用于与小米智能家电交互的Python库

项目描述

Chat PyPI version PyPI downloads Build Status Coverage Status Documentation status Black

这个库(及其附带的cli工具)可用于与使用小米的miIO和MIoT协议的设备交互。

入门

如果您已经拥有设备的令牌和设备类型,您可以直接开始使用miiocli工具。如果您没有设备的令牌,请参考入门部分中的手册,了解如何获取它。

《miiocli》是用于从命令行执行命令的主要方式。您始终可以使用–help来获取有关可用命令的更多信息。例如,在不添加任何额外参数的情况下执行它将打印出选项和可用命令

$ miiocli --help
Usage: miiocli [OPTIONS] COMMAND [ARGS]...

Options:
  -d, --debug
  -o, --output [default|json|json_pretty]
  --help                          Show this message and exit.

Commands:
  airconditioningcompanion
  ..

您可以使用info命令从任何miIO/MIoT设备获取一些信息,包括其设备型号

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

Model: some.device.model1
Hardware version: esp8285
Firmware version: 1.0.1_0012
Network: {'localIp': '<ip>', 'mask': '255.255.255.0', 'gw': '<ip>'}
AP: {'rssi': -73, 'ssid': '<nnetwork>', 'primary': 11, 'bssid': '<bssid>'}

不同设备由相应的模块支持(例如,roborockvacuumfan)。您可以通过向其传递–help参数来获取任何给定模块的可用命令列表

$ miiocli roborockvacuum --help

Usage: miiocli roborockvacuum [OPTIONS] COMMAND [ARGS]...

Options:
  --ip TEXT       [required]
  --token TEXT    [required]
  --id-file FILE
  --help          Show this message and exit.

Commands:
  add_timer                Add a timer.
  ..

每次命令调用都会自动通过查询设备来检测执行某些操作所需的设备型号。您可以通过手动指定型号来避免这种情况

miiocli roborockvacuum --model roborock.vacuum.s5 --ip <ip> --token <token> start

API使用

所有功能都可通过miio模块访问

from miio import RoborockVacuum

vac = RoborockVacuum("<ip address>", "<token>")
vac.start()

每种单独的设备类型都继承自miio.Device(在MIoT设备的情况下为miio.MiotDevice),它提供了一组通用API。

每次命令调用都会自动检测(并缓存)执行某些操作所需的设备型号。您可以通过手动指定型号来避免这种情况

from miio import RoborockVacuum

vac = RoborockVacuum("<ip address>", "<token>", model="roborock.vacuum.s5")

有关更多信息,请参阅API文档

故障排除

您可以在故障排除部分找到一些常见问题的解决方案。

如果您有任何问题,或只是想加入聊天,请查看我们的Matrix房间

贡献

我们欢迎各种形式的贡献,从添加改进或修复错误到改进文档。为了简化开发环境的设置过程,我们准备了一份简短指南,以帮助您开始。

支持设备

  • 小米米家扫地机器人V1,S4,S4 MAX,S5,S5 MAX,S6纯,M1S,S7

  • 小米米家空调伴侣

  • 小米米家智能空调A(xiaomi.aircondition.mc1,mc2,mc4,mc5)

  • 小米米家空气净化器2,3H,3C,4,Pro,Pro H,4 Pro(zhimi.airpurifier.m2,mb3,mb4,mb5,v7,vb2,va2),4 Lite

  • 小米米家空气净化器狗X3,X5,X7SM(airdog.airpurifier.x3,airdog.airpurifier.x5,airdog.airpurifier.x7sm)

  • 小米米家加湿器

  • Smartmi空气净化器

  • 小米Aqara摄像头

  • 小米Aqara网关(基本实现,警报,灯光)

  • 小米米家360 1080p

  • 小米米家STYJ02YM(Viomi)

  • 小米米家1C STYTJ01ZHM(Dreame)

  • Dreame F9,D9,Z10 Pro

  • 小米米家(米家)G1扫地机器人拖地机MJSTG1

  • 小米罗德米Eve

  • 小米智能WiFi插座

  • 小米创维插排V1(1个插座,1个USB接口)

  • 小米创维插排V3(1个插座,2个USB接口)

  • 小米智能插线板V1和V2(WiFi,6个接口)

  • 小米飞利浦护眼智能台灯2

  • 小米飞利浦RW读灯(philips.light.rwread)

  • 小米飞利浦LED吸顶灯

  • 小米飞利浦LED球泡灯(philips.light.bulb)

  • 小米飞利浦LED球泡灯白色(philips.light.hbulb)

  • 小米飞利浦智睿智能LED灯泡E14蜡烛灯

  • 小米飞利浦智睿卧室智能灯

  • 华意会作灯具

  • 小米通用红外遥控器(创维红外)

  • 小米智能立式风扇V2,V3,SA1,ZA1,ZA3,ZA4,ZA5 1C,P5,P9,P10,P11,P33

  • 小米罗苏SS4风扇(leshow.fan.ss4)

  • 小米米家加湿器V1,CA1,CA4,CB1,MJJSQ,JSQ,JSQ1,JSQ001

  • 小米米家净水器(基本支持:开关)

  • 小米米家净水器D1,C1(三重设置)

  • 小米PM2.5空气质量监测仪V1,B1,S1

  • 小米智能WiFi音箱

  • 小米米家WiFi中继器2

  • 小米智能电饭煲

  • 小米Smartmi新鲜空气系统VA2(zhimi.airfresh.va2),VA4(zhimi.airfresh.va4),A1(dmaker.airfresh.a1),T2017(dmaker.airfresh.t2017)

  • 益耶照明灯具(基本支持,我们推荐使用 python-yeelight

  • 小米空气净化器

  • 小米智能马桶盖

  • 小米16路继电器模块

  • 小米小爱智能闹钟

  • 智米电暖器智能版(ZA1版本)

  • 小米米家智能电暖器

  • 小米有品窗帘控制器(Wi-Fi)(lumi.curtain.hagl05)

  • 小米米家智能电暖器S(zhimi.heater.mc2)

  • 小米米家智能电暖器1S(zhimi.heater.za2)

  • 益耶双控模块(yeelink.switch.sw1)

  • 斯美特咖啡机(scishare.coffee.s1102)

  • 青平空气监测仪轻版(cgllc.airm.cgdn1)

  • 小米走步机A1(ksmb.walkingpad.v3)

  • 小米智能宠物饮水机(mmgg.pet_waterer.s1, s4)

  • 小米米家智能加湿器S(jsqs, jsq5)

  • 小米米家扫地机器人2(Pro+, Ultra)

欢迎创建拉取请求以添加对新设备的支持以及支持设备的功能扩展。

使用此库的项目

此库被多个项目用于支持MiIO/MiOT设备。如果您在使用此库的项目中,欢迎创建PR以将其列入此处!

Home Assistant(官方)

Home Assistant使用此库来支持多个平台,此列表不完整,因为平台(括号中)可能还支持上述其他设备。

Home Assistant(自定义)

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

python-miio-0.5.12.tar.gz (245.5 kB 查看哈希值)

上传时间 源代码

构建分发

python_miio-0.5.12-py3-none-any.whl (331.0 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面