python3与kuna camera mobile api交互的异步库

pykuna的Python项目详细描述


皮库纳

python3异步库,用于与kuna camera mobile api交互

要求:aiohttp,异步,异步超时

python3 -m pip install pykuna安装pykuna。

用法

pykuna的主要类是kunaapi;创建一个api对象,并对其进行身份验证,如下所示:

fromaiohttpimportClientSessionfrompykunaimportKunaAPIwebsession=ClientSession()kuna=KunaAPI(USERNAME,PASSWORD,websession)awaitkuna.authenticate()

其中:

  • USERNAME是用于kuna应用程序的电子邮件地址;
  • PASSWORD是kuna应用程序的密码;并且,
  • websession是aiohttp.clientsession()的一个实例。

验证后,通过调用api对象上的update()方法填充(或刷新)kuna帐户中所有相机的dict(key=camera serial number,value=camera object):

awaitkuna.update()

方法

以下方法可用于kunaapi.cameras dict;中的camera device对象,所有方法都是异步的,并且必须是awaited:

  • update()-从api中只刷新相机的属性。
  • get_thumbnail()-将相机快照作为jpeg图像返回。
  • set_property(property=state)-设置设备的属性。当前可通过pykuna设置的属性是:
    • bulb_on(布尔值)-将灯泡设置为开(真)或关(假)
    • led_mask(布尔)-设置设备上的状态LED开(真)或关(假)
    • {< CD12> }(int)-设置设备的扬声器音量(最小0,最大100)
  • light_on()-打开相机的灯泡
  • light_off()-关闭相机的灯泡
  • enable_notifications()-为相机启用kuna应用程序通知
  • disable_notifications()-相机的Diable Kuna应用程序通知
  • get_recordings_by_time(timedelta)-返回过去datetime.timedelta时间段的录制对象的python列表。

示例.py

提供了一个示例脚本来演示PykUnun的用法;它打印与库纳帐户相关联的摄像机列表,并检索当前存在的摄像机记录,打印每个记录的时间戳及其关联的下载链接。

python example.py USERNAME PASSWORD

注意事项

pykuna与kuna的(私有)移动设备api交互,后者可以随时更改。而且,如果没有官方文件或服务条款,就无法知道什么类型或使用率可能导致您的帐户被kuna禁止。小心使用!

pykuna不实现超时;根据需要在客户端代码中使用asyncio_timeout包装对api的调用。

pykuna的灵感来自@loghound:https://github.com/loghound/kuna-camera-api的调查工作,但是还没有实现所有已知的端点;这个项目主要是为了将家庭助理与kuna api接口,并将在考虑到这个目标的情况下进一步开发。

当皮库纳准备好做家庭助理的时候,它会达到v1.0.0。在此之前,pykuna的api可能随时更改!

贡献

请打开问题或拉取请求。

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

推荐PyPI第三方库


热门话题
Java NIO选择器最多只能选择50个SelectionKeys?   java阻止ImageButton创建新活动   为什么Java方法“Arrays.copyOf”处理中的整数数组与处理对象数组时的行为不同   java将安卓 1.6日历字段提取到vcal   将字符串转换为双精度后的java问题   java使用Webflux,是否可以使用AOP获取用于日志记录的ServerHttpRequest   java与jTextArea的基本区别是什么。setText()和jTextArea。append()方法?   java程序执行时间|将值保存到文件或数据结构?   java如何将表示字符的整数转换为字符串?   Java LWJGL新的渲染问题windows   java GUI提供异常   java创建第二个对象使类的函数不再工作   如何在java中将000验证为3位数字?   java bigO算法的时间复杂度,可以在不重复的情况下找到最长的子串   在30像素内点击按钮后,java在两个图像之间转换   java eclipse maven nexus不可解父pom   当存在其他SecurityConstraint时,java TransportGuary机密将被忽略   重新连接后激发的java Red5客户端流断开事件   javafx聊天应用程序中连接客户端的java问题