用于与Evil Genius Labs设备通信的Python模块。
项目描述
pyevilgenius
用于通过Evil Genius Labs控制设备的异步库
需要Python 3.8+,并使用asyncio和aiohttp。
import asyncio
from pprint import pprint
import aiohttp
from pyevilgenius import EvilGeniusDevice
HOST = "192.168.1.113"
async def main():
async with aiohttp.ClientSession() as session:
await run(session)
async def run(websession):
device = pyevilgenius.EvilGeniusDevice(host, websession)
data = await client.get_data()
pprint(device.details)
await device.set_path_value('power', '1')
asyncio.run(main())
本地测试
python3 example.py <host>
超时
Pyevilgenius未指定任何请求的超时时间。您需要在自己的代码中指定它们。我们推荐使用async_timeout
包
import async_timeout
with async_timeout.timeout(10):
devices = await hub.get_device_list()
贡献指南
对象层次结构和属性/方法名称应与Evil Genius Device API相匹配。