예제 #1
0
def start_button(machine):
    """
    Turns the given machine on.
    The machine will work from its duration from the moment of the start button is been activated.
    """
    start_time = kl.datetime_now()
    duration = dt.machines.select_data('duration', 'machine', machine)
    new_time = datetime.datetime(
        int(start_time[0:4]), int(start_time[5:7]), int(start_time[8:10]),
        int(start_time[11:13])) + datetime.timedelta(hours=float(duration))
    stop_time = new_time.strftime("2018-%m-%d %H:%M")

    key = "machine='" + str(machine) + "'"
    dt.machines.update_data('stop_button', '0', key)
    dt.machines.update_data('start_button_begin', start_time, key)
    dt.machines.update_data('start_button_end', stop_time, key)
예제 #2
0
def machines():
    """
    Returns in a dictionary the vectors of the standard machines used in the mini house.
    The key is the name of the machine in string form followed by the vector in string form as value.

    The standard machines in order: 'windmolen', 'auto', 'verwarming', 'batterij', 'koelkast', 'vriezer', 'oven', 'kookplaat', 'wasmachine', 'afwasmachine',
    'droogkast', 'boiler', 'TV'.
    """
    i = dict()
    i['uur'] = kl.datetime_now()
    date_1 = kl.date_now()
    date_2 = date_1 + ' 00:00:00'
    machines = [
        'auto', 'batterij', 'koelkast', 'vriezer', 'oven', 'kookplaat',
        'wasmachine', 'afwasmachine', 'droogkast', 'boiler', 'TV'
    ]
    existing_machines = dt.machines.read_variable('machine')

    i['licht_berging'] = dt.lights.select_data('status', 'room', 'berging')
    i['licht_living'] = dt.lights.select_data('status', 'room', 'living')
    i['licht_keuken'] = dt.lights.select_data('status', 'room', 'keuken')
    i['licht_slaapkamer'] = dt.lights.select_data('status', 'room',
                                                  'slaapkamer')
    i['licht_badkamer'] = dt.lights.select_data('status', 'room', 'badkamer')
    i['verwarming'] = heating_system(date_2)
    i['windmolen'] = windmill(date_1)

    for machine in machines:
        if machine in existing_machines:
            vector = list_converter(
                dt.vectors.select_data(machine, 'date', date_2))
            i[machine] = vector
        elif machine is 'batterij':
            vector = list_converter(
                dt.vectors.select_data('batterij', 'date', date_2))
            i[machine] = vector
        elif machine is 'auto' and gb.existing_car() is not None:
            vector = list_converter(
                dt.vectors.select_data(machine, 'date', date_2))
            i[machine] = vector
        else:
            vector = 24 * [0]
            i[machine] = vector
    return i
def machines():
    """
    Reads all machines and gives a list of lists with each list the name, duration, usage, start_time, end_time of an individual machine.
    Takes the machines of the day of execution.
    """
    date_now = kl.date_now()
    datetime_now = kl.datetime_now()
    day_type = kl.day_type()
    machines = dt.machines.read_variable('machine')
    list_of_machines = []

    for machine in machines:
        start_datetime = dt.machines.select_data('start_button_begin',
                                                 'machine', machine)
        stop_datetime = dt.machines.select_data('start_button_end', 'machine',
                                                machine)
        machine = dt.machines.select_data('machine', 'machine', machine)
        duration = dt.machines.select_data('duration', 'machine', machine)
        usage = dt.machines.select_data('usage', 'machine', machine)

        if dt.machines.select_data('stop_button', 'machine', machine) is '1':
            start_time = 0
            stop_time = 0

        elif datetime.datetime(
                int(start_datetime[0:4]), int(
                    start_datetime[5:7]), int(start_datetime[8:10]),
                int(start_datetime[11:13])) <= datetime.datetime(
                    int(datetime_now[0:4]), int(datetime_now[5:7]),
                    int(datetime_now[8:10]),
                    int(datetime_now[11:13])) < datetime.datetime(
                        int(stop_datetime[0:4]), int(stop_datetime[5:7]),
                        int(stop_datetime[8:10]), int(stop_datetime[11:13])):
            if int(start_datetime[8:10]) == int(stop_datetime[8:10]):
                start_time = dt.machines.select_data('start_button_begin',
                                                     'machine', machine)[11:13]
                stop_time = dt.machines.select_data('start_button_end',
                                                    'machine', machine)[11:13]
            else:
                if start_datetime[8:10] == datetime_now[8:10]:
                    start_time = dt.machines.select_data(
                        'start_button_begin', 'machine', machine)[11:13]
                    stop_time = 23
                elif stop_datetime[8:10] == datetime_now[8:10]:
                    start_time = 0
                    stop_time = dt.machines.select_data(
                        'start_button_end', 'machine', machine)[11:13]

        else:
            if date_now == manual_date_machines():
                start_time = dt.machines.select_data('start_time_manual',
                                                     'machine', machine)
                stop_time = dt.machines.select_data('stop_time_manual',
                                                    'machine', machine)
            else:
                start_time = dt.machines.select_data(
                    'start_time_' + str(day_type), 'machine', machine)
                stop_time = dt.machines.select_data(
                    'stop_time_' + str(day_type), 'machine', machine)

        data_of_machine = [
            machine,
            int(duration),
            int(usage),
            int(start_time),
            int(stop_time)
        ]
        list_of_machines.append(data_of_machine)
    return list_of_machines