add timeout while waiting for i2c calls

This commit is contained in:
Evgeny Zinoviev 2021-11-12 15:12:51 +03:00
parent 585a130ecd
commit 93986d9767

View File

@ -38,8 +38,12 @@ async def handle_client(reader, writer):
break
if request == 'read':
rh, temp = await si7021_read()
try:
rh, temp = await asyncio.wait_for(si7021_read(), timeout=3)
data = dict(humidity=rh, temp=temp)
except asyncio.TimeoutError as e:
logger.exception(e)
data = dict(error='i2c call timed out')
else:
data = dict(error='invalid request')