用于concept home监视的简单python 3库

aionotion的Python项目详细描述


aionion:concept®家庭监控的python3异步友好库

Travis CIPyPiVersionLicenseCode CoverageMaintainabilitySay Thanks

aionotion是一个python 3异步友好库,用于与 Notion家庭监控传感器。

python版本

aionotion当前在上受支持:

  • Python3.5
  • python 3.6
  • Python3.7

但是,运行测试套件当前需要Python3.6或更高版本;测试 在Python3.5上运行将失败。

安装

pipinstallaionotion

用法

aionotionaiohttpClientSession

importasynciofromaiohttpimportClientSessionasyncdefmain()->None:"""Create the aiohttp session and run the example."""asyncwithClientSession()aswebsession:# YOUR CODE HEREasyncio.get_event_loop().run_until_complete(main())

创建客户机并开始工作:

importasynciofromaiohttpimportClientSessionfromaionotionimportasync_get_clientasyncdefmain()->None:"""Create the aiohttp session and run the example."""asyncwithClientSession()aswebsession:# Create a Notion API client:client=awaitasync_get_client('<EMAIL>','<PASSWORD>',websession)# Get all "households" associated with the account:systems=awaitclient.system.async_all()# Get a system by ID:system=awaitclient.system.async_get(12345)# Create a system (with associated parameters):awaitclient.system.async_create({"system_id":12345,"name":"Test"})# Update a system with new parameters:awaitclient.system.async_update(12345,{"name":"Test"})# Delete a system by ID:awaitclient.system.async_delete(12345)# Get all bridges associated with the account:bridges=awaitclient.bridge.async_all()# Get a bridge by ID:bridge=awaitclient.bridge.async_get(12345)# Create a bridge (with associated parameters):awaitclient.bridge.async_create({"system_id":12345,"name":"Test"})# Update a bridge with new parameters:awaitclient.bridge.async_update(12345,{"name":"Test"})# Reset a bridge (deprovision its WiFi credentials):awaitclient.bridge.async_reset(12345)# Delete a bridge by ID:awaitclient.bridge.async_delete(12345)# Get all devices associated with the account:devices=awaitclient.device.async_all()# Get a device by ID:device=awaitclient.device.async_get(12345)# Create a device (with associated parameters):awaitclient.device.async_create({"id":12345})# Delete a device by ID:awaitclient.device.async_delete(12345)# Get all sensors:sensors=awaitclient.sensor.async_all()# Get a sensor by ID:sensor=awaitclient.sensor.async_get(12345)# Create a sensor (with associated parameters):awaitclient.sensor.async_create({"sensor_id":12345,"name":"Test"})# Update a sensor with new parameters:awaitclient.sensor.async_update(12345,{"name":"Test"})# Delete a sensor by ID:awaitclient.sensor.async_delete(12345)# Get all "tasks" (conditions monitored by sensors) associated with the account:tasks=awaitclient.task.async_all()# Get a task by ID:task=awaitclient.task.async_get("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")# Get a task's value history between two datetimes:importdatetimehistory=awaitclient.task.async_history("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",data_before=datetime.datetime.now(),data_after=datetime.datetime.now()-datetime.timedelta(days=3),)# Create a list of tasks for a particular sensor (e.g., sensor # 12345):awaitclient.task.async_create(12345,[{"id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","type":"missing"}])# Delete a task for a particular sensor (e.g., sensor # 12345):awaitclient.task.async_delete(12345,"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")asyncio.get_event_loop().run_until_complete(main())

检查方法的example.py、测试和源文件本身 签名和更多的例子。

贡献

  1. Check for open features/bugs 或者initiate a discussion on one
  2. Fork the repository
  3. 安装开发环境:make init
  4. 进入虚拟环境:pipenv shell
  5. 编写新功能或错误修复代码。
  6. 编写一个涵盖新功能的测试。
  7. 运行测试并确保100%的代码覆盖率:make coverage
  8. 加入AUTHORS.md
  9. 提交拉取请求!

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

推荐PyPI第三方库


热门话题
无法在Netbeans 8.2 JDK8u231中创建java Maven项目(Web应用程序)   java如何以设定的时间间隔生成随机数?   java从socket和inputStream的慢速读取   spring SCORM:Java中基于Web的SCORM播放器   Java将函数传递给方法   java绑定通用服务及其实现和子类型   java如何在运行时从选择列表框中动态选择选项?爪哇硒   java Selenium WebDriver什么是“Selenium客户端和WebDriver语言绑定”   elasticsearch需要elasticsearch高级Java客户端更新ByQueryRequest API帮助   JAVA哈希表查找最大值   WSDL操作中的java soapAction属性为空   java访问封闭类或父类方法的一般方法   eclipse在java中运行带有SeleneTestCase的ANT。lang.NoClassDefFoundError   java Hazelcast不会在节点启动时填充ReplicatedMap   如何在Java中从excel中读取特定行?   html JAVA将本地时间(GMT+8)转换为UTC时间   java将自定义端点添加到Spring数据REST存储库中,并以大摇大摆的方式显示   java计算未来位置