예제 #1
0
def create_process(request):
    actual_process = Process.current()
    if actual_process is not None:
        actual_process.is_active = False
        actual_process.save()

    recipe_id = request.POST.get('recipe_id')
    process = Process()
    process.recipe = Recipe.objects.get(pk=recipe_id)
    process.save()
    return HttpResponse('OK')
예제 #2
0
    def handle_states(cls):
        try:
            process = Process.current()
        except ObjectDoesNotExist:
            logger.info("[StageControll] Any process started.")
            return

        if process.state in pre_brewery.STATES.values():
            controll = pre_brewery.PreBreweryControll(process)
            controll.handle_states()
        elif process.state in brewery.STATES.values():
            controll = brewery.BreweryControll(process)
            controll.handle_states()
        elif process.state in filtering.STATES.values():
            controll = filtering.FilteringControll(process)
            controll.handle_states()
        elif process.state in boiling.STATES.values():
            controll = boiling.BoilingControll(process)
            controll.handle_states()
        elif process.state in cooling.STATES.values():
            controll = cooling.CoolingControll(process)
            controll.handle_states()
        elif process.state in fermentation.STATES.values():
            controll = fermentation.FermentationControll(process)
            controll.handle_states()
예제 #3
0
def insert_malt(request):
    process = Process.current()
    process.malt = True
    process.state = brewery.STATES.get('heating')
    process.save()

    comunication = Comunication()
    comunication.turn_on_engine()
    return HttpResponse('OK')
예제 #4
0
 def read_thermal_sensor(self):
     self.comunication_serial.write("read_thermal_sensor".encode())
     time.sleep(2)
     temperature = self.comunication_serial.readline()
     temperature = temperature.splitlines()
     temperature = temperature[0]
     process = Process.current()
     process.last_temperature = temperature
     process.save()
     return temperature
예제 #5
0
def iodine_test(request):
    process = Process.current()
    process.iodine_test = True
    process.state = filtering.STATES.get('open_pot_valve')
    process.save()

    comunication = Comunication()
    comunication.turn_off_engine()
    comunication.turn_off_resistor(1)
    return HttpResponse('OK')
예제 #6
0
def get_average_temperature(request):
    average = Process.current().last_temperature
    data = {'average': float(average),
            'sensor_type': 'thermal'}
    return HttpResponse(json.dumps(data),
                        content_type='application/json')