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) await tec.set_param("s-h", 1, "t0", 20) print(await tec.get_pwm()) print(await tec.get_pid()) 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())