def run_water(zone, alias, minutes): with SessionLocal() as db: start_time = datetime.now() b = Board( ) # init a new board since tasks dont seem to have GPIO setup... b.register_flow() temperature = b.get_temp() db.add(Temperature(temperature)) db.commit() # moisture0 = board.read_analog_sensor(analog0) # moisture1 = board.read_analog_sensor(analog1) # moisture2 = board.read_analog_sensor(analog2) # moisture3 = board.read_analog_sensor(analog3) # sql_helper.insert_moistures(moisture0, moisture1, moisture2, moisture3) b.set_high(pins[zone]) time.sleep(minutes * 60) # sleep for our duration with the solenoid open b.set_low(pins[zone]) water_used = b.read_water_flow() db.add(Water(zone, alias, start_time, water_used)) db.commit() b.deregister_flow()