用于TPLink Kasa Smarthome设备的Python API

python-kasa的Python项目详细描述


Python

PyPI versionBuild StatusCoverage StatusDocumentation Status

pythonkasa是一个python库,用于使用asyncio控制TPLink智能家居设备(插头、墙壁开关、电源板和灯泡)。 这个项目是一个由维护者组成的pyHS100项目的分支。在

入门

您可以使用pip安装最新版本。直到

pip install python-kasa --pre

或者,可以克隆此存储库并使用poether安装开发版本:

^{pr2}$

发现设备

安装后,可以使用kasa discover或不带任何参数调用kasa来发现设备。在

$ kasa
No --bulb nor --plug given, discovering..
Discovering devices for 3 seconds
== My Smart Plug - HS110(EU) ==
Device state: ON
IP address: 192.168.x.x
LED state: False
On since: 2017-03-26 18:29:17.242219
== Generic information ==
Time:         1970-06-22 02:39:41
Hardware:     1.0
Software:     1.0.8 Build 151101 Rel.24452
MAC (rssi):   50:C7:BF:XX:XX:XX (-77)
Location:     {'latitude': XXXX, 'longitude': XXXX}
== Emeter ==
Current state: {'total': 133.082, 'power': 100.418681, 'current': 0.510967, 'voltage': 225.600477}

使用kasa --help获取所有可用命令的列表,或者使用consult the documentation。在

基本控制

所有设备都支持多种常用命令,包括:

  • state返回状态信息
  • on和{}用于打开或关闭设备
  • emeter(如适用)返回能耗信息
  • sysinfo返回原始系统信息

电能表

不向emeter命令传递任何选项将返回当前消耗。 可能的选项包括--year--month来检索历史状态, 用--erase重置计数器。在

$ kasa emeter
== Emeter ==
Current state: {'total': 133.105, 'power': 108.223577, 'current': 0.54463, 'voltage': 225.296283}

灯泡特定命令

目前,根据设备的不同,支持设置亮度、色温和颜色(以HSV为单位)。 这些命令很简单,所以请随时查看--help以了解如何使用它们。在

库的使用

您可以在the API documentation中找到几个代码示例。在

贡献

欢迎投稿!为了简化流程,我们正在利用自动检查和测试贡献。在

建立开发环境

要开始,只需克隆此存储库并初始化开发环境。 我们使用poetry进行依赖关系管理,因此在克隆存储库之后,只需执行 poetry install它将安装所有必需的包并为您创建一个虚拟环境。在

代码样式检查

我们使用几个工具来自动检查所有的贡献。验证所有内容格式是否正确的最简单方法 在创建pull请求之前,考虑通过执行pre-commit install激活预提交钩子。 这将确保在执行提交时检查通过。在

也可以通过运行tox -e lint来执行检查,或者运行tox来执行测试。在

分析网络捕获

添加对新设备的支持或改进现有设备的最简单方法是捕获移动应用程序和设备之间的流量。 捕获流量后,您可以使用softScheck's wireshark dissector 或者包含在devtools目录中的parse_pcap.py脚本。在

支持的设备

插头

  • 高铁100
  • HS103
  • HS105
  • HS107
  • 高铁110

电源板

  • 高铁300
  • KP303

墙壁开关

  • 高铁200
  • 高铁210
  • HS220

灯泡

  • 磅100
  • LB110型
  • 磅120
  • LB130型
  • LB230型
  • KL60型
  • KL110
  • KL120
  • KL130型

灯条

  • KL430

贡献(无论是添加缺失的功能、修复错误还是改进文档)都是非常受欢迎的,请随时提交请求!

资源

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java邮件程序不再发送邮件了   java 2提交按钮不同的查询,   JavaFX2如何在javafx中制作全屏表单?   java ActionListener和ItemListener未正确实现   java通过Seam、RichFaces和PopupPanel传递参数   Google App Engine中的java XMPP和用于聊天应用程序的Android   javasocket异常:按下后退按钮后socket关闭   JavaSpring安全性阻止css、js文件加载到jsp页面上   java在另一个字符串中查找多个字符串   java是一种合适的方法,可以适应未来可完成的异常   引用的URL显示空值(Java、JSP)   我的子类构造函数中的java构造函数错误   Vaadin中的java样式与css   Java中指定目录的图像元数据   java如何在Android上对齐操作栏中的中心项