用于concept home监视的简单python 3库
aionotion的Python项目详细描述
aionion:concept®家庭监控的python3异步友好库
aionotion
是一个python 3异步友好库,用于与
Notion家庭监控传感器。
python版本
aionotion
当前在上受支持:
- Python3.5
- python 3.6
- Python3.7
但是,运行测试套件当前需要Python3.6或更高版本;测试 在Python3.5上运行将失败。
安装
pipinstallaionotion
用法
aionotion
从
aiohttpClientSession
:
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
、测试和源文件本身
签名和更多的例子。
贡献
- Check for open features/bugs 或者initiate a discussion on one。
- Fork the repository。
- 安装开发环境:
make init
。 - 进入虚拟环境:
pipenv shell
- 编写新功能或错误修复代码。
- 编写一个涵盖新功能的测试。
- 运行测试并确保100%的代码覆盖率:
make coverage
- 加入
AUTHORS.md
。 - 提交拉取请求!