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对象,所有方法都是异步的,并且必须是await
ed:
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可能随时更改!
贡献
请打开问题或拉取请求。