跳转到主要内容

用于与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相匹配。

由以下支持