Pull get_temp out of main loop

This commit is contained in:
Tanner Collin 2022-06-17 03:41:09 +01:00
parent be6fb4bc3c
commit cd8204e020
2 changed files with 21 additions and 14 deletions

View File

@ -13,23 +13,15 @@ import relays
import data import data
HI_SETPOINT = 40.0 HI_SETPOINT = 40.0
LO_SETPOINT = 30.0 LO_SETPOINT = HI_SETPOINT - 10.0
PUMP_RELAY = relays.RELAY1
FAN_RELAY = relays.RELAY3 FAN_RELAY = relays.RELAY3
async def main(): async def get_temp():
relays.init_relays()
while True:
try:
temps = await w1therm.get_temperatures() temps = await w1therm.get_temperatures()
if len(temps) != len(data.PROBES): if len(temps) != len(data.PROBES):
raise raise
except:
logging.error('Problem reading temperature probes! Setting fan on and sleeping.')
relays.set_relay(FAN_RELAY, relays.RELAY_ON)
await asyncio.sleep(60)
continue
temperature_log = [] temperature_log = []
for id_, temp in temps.items(): for id_, temp in temps.items():
@ -38,6 +30,21 @@ async def main():
temperature_list = list(temps.values()) temperature_list = list(temps.values())
temperature_mean = mean(temperature_list) temperature_mean = mean(temperature_list)
return temperature_mean
async def main():
relays.init_relays()
relays.set_relay(PUMP_RELAY, relays.RELAY_ON)
while True:
try:
temperature_mean = await get_temp()
except:
logging.error('Problem reading temperature probes! Turning fan on and sleeping 60s.')
relays.set_relay(FAN_RELAY, relays.RELAY_ON)
await asyncio.sleep(60)
continue
if temperature_mean > HI_SETPOINT: if temperature_mean > HI_SETPOINT:
logging.info('Turning fan on') logging.info('Turning fan on')

View File

@ -31,7 +31,7 @@ async def test():
for r in RELAYS: for r in RELAYS:
set_relay(r, RELAY_ON) set_relay(r, RELAY_ON)
await asyncio.sleep(0.5) await asyncio.sleep(0.5)
#set_relay(r, RELAY_OFF) set_relay(r, RELAY_OFF)
if __name__ == '__main__': if __name__ == '__main__':
init_relays() init_relays()