Skip to main content

用于与 Kuna 相机移动 API 交互的 Python3 异步库

项目描述

皮库纳

用于与 Kuna 相机移动 API 交互的 Python3 异步库

要求: aiohttp、asyncio、async_timeout

使用python3 -m pip install pykuna.

用法

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

from aiohttp import ClientSession
from pykuna import KunaAPI

websession = ClientSession()

kuna = KunaAPI(USERNAME, PASSWORD, websession)

await kuna.authenticate()

在哪里:

  • USERNAME是您用于 Kuna 应用程序的电子邮件地址;
  • PASSWORD是您使用 Kuna 应用程序的密码;和,
  • websession是 aiohttp.ClientSession() 的一个实例。

update()身份验证后,通过调用API 对象上的方法填充(或刷新)Kuna 帐户中所有相机的字典(键 = 相机序列号,值 = 相机对象) :

await kuna.update()

方法

在 KunaAPI.cameras 字典中的相机设备对象上可以使用以下方法;所有都是异步的,必须await编辑:

  • update()- 仅从 API 刷新该相机的属性。
  • get_thumbnail()- 将相机快照作为 jpeg 图像返回。
  • set_property(property=state)- 设置设备的属性。当前可通过 pykuna 设置的属性有:
    • bulb_on(boolean) - 将灯泡设置为打开 (true) 或关闭 (false)
    • led_mask(boolean) - 将设备上的 LED 状态设置为 on (true) 或 off (false)
    • volume(int) - 设置设备的扬声器音量(最小0,最大100)
  • light_on()- 打开相机的灯泡
  • light_off()- 关闭相机的灯泡
  • enable_notifications()- 为相机启用 Kuna 应用通知
  • disable_notifications()- 禁用相机的 Kuna 应用通知
  • get_recordings_by_time(timedelta)- 返回过去datetime.timedelta时间段的记录对象的 python 列表。

例子.py

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

python example.py USERNAME PASSWORD

注意事项

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

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

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

当 pykuna 为 Home Assistant 做好准备时,它将达到 v1.0.0。在那之前,pykuna 的 API 随时可能发生变化!

贡献

请打开问题或拉取请求。

项目详情


下载文件

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

源分布

pykuna-0.6.0.tar.gz (5.5 kB 查看哈希)

已上传 source