def car():
    """
    Reads the car variables and gives a list with car, duration, distance_car, start_time, end_time.
    It must be executed on the day of optimization.
    """
    date = kl.date_now()
    day_type = kl.day_type()
    if not dt.car.read_variable('name_car') is 0:
        if date == manual_date_car():
            columns = [
                'duration', 'distance_car', 'start_time_manual',
                'stop_time_manual'
            ]
        else:
            columns = [
                'duration', 'distance_car', 'start_time_' + str(day_type),
                'stop_time_' + str(day_type)
            ]

        list = ['auto']
        for column in columns:
            data = dt.car.read_variable(column)
            list.append(data)
        return list
    else:
        return None
def desired_inside_temperatures():
    """
    Reads the desired inside temperatures for a whole day.
    It depends on the type of the day and if the user wants a manual schedule.
    """
    date = kl.date_now()
    day_type = kl.day_type()
    if date == manual_date_temperature():
        temperature = dt.temperature.read_variable('manual')
        return temperature
    else:
        temperature = dt.temperature.read_variable(day_type)
        return temperature
示例#3
0
def inside_temperature():
    """
    Reads the inside temperature.
    """
    time = kl.time_now()
    date = kl.date_now()
    day_type = kl.day_type()

    if date == manual_date_temperature():
        temperature = dt.temperature.select_data('manual', 'time', time)
        return temperature
    else:
        temperature = dt.temperature.select_data(day_type, 'time', time)
        return temperature
def show_entries():

    global from_list, to_list, degrees_list

    from_list = []
    to_list = []
    degrees_list = []
    day_type = Klok.day_type()
    key_positions = get_temperature_scheme(day_type)

    for i in range(number_of_entries):

        i_entry = Entry(temp_schedule_root, width = 5)
        i_entry.place(x=530, y=170 + i*45)
        from_list.append(i_entry)
        if i == 0:
            i_entry.insert(0,"0")

        else:
            if key_positions[i-1] is not None:
                i_entry.insert(0,str(key_positions[i-1]))

    for j in range(number_of_entries):

        j_entry = Entry(temp_schedule_root, width =5)
        j_entry.place(x=630, y = 170 + j*45)
        to_list.append(j_entry)
        if j == number_of_entries-1:
            j_entry.insert(0, "0")

        else:
            if key_positions[j] is not None:
                j_entry.insert(0,str(key_positions[j]))

    for k in range(number_of_entries):

        k_entry = Entry(temp_schedule_root, width=5)
        k_entry.place(x=730 ,y= 170 + k*45)
        degrees_list.append(k_entry)

        if k == 0:
            k_entry.insert(0,str(temperature_list[0]))

        else:
            if key_positions[k-1] is not None:
                k_entry.insert(0,str(temperature_list[key_positions[k-1]]))

    plus_button = Button(temp_schedule_root, text = "+", command = lambda: add_entries(plus_button), width = 5, height = 1)
    plus_button.place(x=800, y=200 + (number_of_entries-1)*45)
示例#5
0
def change_temperature(temperature):
    """
    Changes the temperature of the time of execution and the following hours of that day.
    """
    time = kl.time_now()
    day_type = kl.day_type()
    dt.temperature.copy_column1_to_column2(day_type, 'manual')
    start_hour = int(time[0] + time[1])

    for hour in range(start_hour, 24):
        if hour <= 9:
            key = "time='0" + str(hour) + ":00'"
            dt.temperature.update_data('manual', temperature, key)
        else:
            key = "time='" + str(hour) + ":00'"
            dt.temperature.update_data('manual', temperature, key)
def temperature_graph():

    canvas = Canvas(temp_schedule_root, width=400, height=300, highlightthickness=0)
    canvas.place(x=20, y=120)

    day_type = Klok.day_type()

    if day_type == 'week':
        temperatures = Gebruikersscherm.temperature_week()
    elif day_type == 'weekend':
        temperatures = Gebruikersscherm.temperature_weekend()

    hours = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ,13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]
    f = matplotlib.figure.Figure((4, 4), dpi=100)
    a = f.add_subplot(111)
    a.plot(hours, temperatures)

    canvas2 = matplotlib.backends.backend_tkagg.FigureCanvasTkAgg(f, canvas)
    canvas2.get_tk_widget().pack(side=TOP, fill=BOTH, expand=TRUE)
    canvas2._tkcanvas.pack(side=TOP, fill=BOTH, expand=TRUE)

    a.set_xlabel("Time (h)")
    a.set_ylabel("Temperature (°C)")
    a.set_xticks(hours, minor=True)
from tkinter import *
import Gebruikersscherm
from tkinter import messagebox
import matplotlib
from matplotlib.figure import Figure
from matplotlib.backends.backend_tkagg import (
    FigureCanvasTkAgg)
import Klok

day_type = Klok.day_type()
number_of_entries = 3

def get_temperature_scheme(day_type):

    global temperature_list
    temperature_list = []
    key_positions = []
    result = []

    if day_type == 'week':

        temperature_list = Gebruikersscherm.temperature_week()

    elif day_type == 'weekend':

        temperature_list = Gebruikersscherm.temperature_weekend()

    for i in range(1,len(temperature_list)):
        if temperature_list[i] != temperature_list[i-1]:
            key_positions.append(i)
    length = len(key_positions)
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