aioexample: Show polling while report mode on

WIP: handle KeyboardInterrupt
This commit is contained in:
atse 2024-08-29 18:16:33 +08:00
parent e76aadf973
commit 07687b4f74
1 changed files with 18 additions and 0 deletions

View File

@ -1,7 +1,19 @@
import asyncio
from contextlib import suppress
from pytec.aioclient import AsyncioClient
async def poll_for_info(tec):
while True:
print(tec.get_pwm())
print(tec.get_steinhart_hart())
print(tec.get_pid())
print(tec.get_postfilter())
print(tec.get_fan())
await asyncio.sleep(1)
async def main():
tec = AsyncioClient()
await tec.connect() # (host="192.168.1.26", port=23)
@ -11,8 +23,14 @@ async def main():
print(await tec.get_pwm())
print(await tec.get_postfilter())
print(await tec.get_steinhart_hart())
polling_task = asyncio.create_task(poll_for_info(tec))
async for data in tec.report_mode():
print(data)
polling_task.cancel()
with suppress(asyncio.CancelledError):
await polling_task
asyncio.run(main())