Kalibrierung_Lüftung

Bibliotheken importieren

# Name des aktuellen Notebooks für die exportierten Datein
file_name = "Kalibrierung_Volumenstrom_Lueftung" 
# Ordner auf dem Server (nach files/)
ftp_folder = 'Notebooks/Aufbereitung'

## Bibliotheken, Module und Text- bzw- Grafikformatierungen aus zentraler Datei laden
%run ../Template/libraries_and_styles.ipynb 

def conv(val):
    if not val:
        return 0    
    try:
        return np.float64(val)
    except: 
        return np.float64(0)

## Bestimmtheitsmaß R²
def r2(yi,yhati):
    ybar  = np.sum(yi) / len(yi)
    ssres = np.sum((yi - yhati)**2)
    sstot = np.sum((yi - ybar)**2)
    r2    = 1 - ssres  / sstot
    return r2
## Warum auch immer muss rcParams.update() in eine eigene Zelle...
mpl.use('WebAgg')
mpl.use("pgf")
mpl.rcParams.update(params)  

Daten Import

###############################                  Log Dateien auswählen und einlesen                  ###############################  
testodaten          = pd.read_csv("Rohdaten/MA_Lueftung_Kalibrierung_Testo.csv", sep=";", decimal="," , thousands='.'  ,encoding="cp1252") 
testodaten['Datum'] = pd.to_datetime(testodaten['Datum'],dayfirst=True)
testodaten.set_index(['Datum'], inplace=True)
testodaten = testodaten.resample('1Min').fillna(method='ffill').interpolate()

intellidaten         = pd.read_csv("Rohdaten/MA_Lueftung_Kalibrierung_Intelli2.csv", sep=";", decimal="," , thousands='.'  ,encoding="cp1252") 
intellidaten['Zeit'] = pd.to_datetime(intellidaten['Zeit'],dayfirst=True)
intellidaten.set_index(['Zeit'], inplace=True)
intellidaten.columns = ['Vpunkt_Raum1', 'Vpunkt_Raum2', 'Vpunkt_Flur', '4', '5', '6', '7', '8', '9',]
intellidaten = intellidaten.resample('1Min').ffill().ffill()
intellidaten['Vpunkt_Gesamt'] = intellidaten['Vpunkt_Raum1'] + intellidaten['Vpunkt_Raum2'] + intellidaten['Vpunkt_Flur']

druck = pd.read_csv('Arbeitsdaten/Daten_15s.csv')
druck["Zeit"] = pd.to_datetime(druck["Zeit"],dayfirst=True)
druck.set_index(['Zeit'], inplace=True)

daten  = testodaten.merge(intellidaten, left_index=True, right_index=True, how='inner')
daten  = daten.merge(druck.L_Zuluft_Druck, left_index=True, right_index=True, how='inner')
daten  = daten.merge(druck.L_Duschen_Ablufttfeuchte, left_index=True, right_index=True, how='inner')


## Flur
von = pd.to_datetime("03.08.18 11:15",infer_datetime_format=True)  
bis = pd.to_datetime("03.09.18 09:00",infer_datetime_format=True)
daten['Vpunkt_Flur_testo'] = daten['Geschwindigkeit'].loc[von:bis] * ((math.pi * 0.2**2) / 4) * 3600 

## Raum 1
von = pd.to_datetime("03.09.18 10:00",infer_datetime_format=True)  
bis = pd.to_datetime("03.10.18 16:45",infer_datetime_format=True)
daten['Vpunkt_Raum1_testo'] = daten['Geschwindigkeit'].loc[von:bis] * ((math.pi * 0.315**2) / 4) * 3600 

## Raum 2
von = pd.to_datetime("03.10.18 17:15",infer_datetime_format=True)  
bis = pd.to_datetime("03.11.18 16:00",infer_datetime_format=True)
daten['Vpunkt_Raum2_testo'] = daten['Geschwindigkeit'].loc[von:bis] * ((math.pi * 0.2**2) / 4) * 3600 

## Fortuft
von = pd.to_datetime("03.11.18 16:30",infer_datetime_format=True)  
bis = pd.to_datetime("03.12.18 17:00",infer_datetime_format=True)
a=.4
b=a
d=(2*a*b/(a+b))
daten['Vpunkt_Fortluft_testo'] = daten['Geschwindigkeit'].loc[von:bis] * ((math.pi * d**2) / 4) * 3600
##* (2*.4*.4/(.8))* 3600# (0.4**2) * 3600 


Plot alles

graph = daten[['Vpunkt_Raum1_testo','Vpunkt_Raum1','Vpunkt_Raum2_testo','Vpunkt_Raum2','Vpunkt_Flur_testo','Vpunkt_Flur','Vpunkt_Fortluft_testo','Vpunkt_Gesamt']]
color = [ colo('blau',1), colo('blau',1.7), colo('rot',1), colo('rot',1.7), colo('grün',1), colo('grün',1.7), colo('orange',1), colo('orange',1.7)]
fig, ax = plt.subplots()
ax = graph.plot(ax=ax, color=color, linewidth=0.8)
ax.set_ylim(0,2000)
ax.get_yaxis().set_major_formatter(mpl.ticker.FuncFormatter(lambda x, loc: locale.format_string('%d', x, 1))) ## dot as thousand separator

h0, l0 = ax.get_legend_handles_labels() 
labels = ['Raum1_testo','Raum1','Raum2_testo','Raum2','Flur_testo','Flur','Fortluft Testo','Summe12F']
legend = plt.legend(h0, labels, ncol=4, loc=1) 
set_legend_linewidth(legend) 

plt.savefig(output_folder + '/' + file_name + '_vor_Korrektur.pdf')
display(fig)

Regressions

Flur

## Regressions Flur

## Zeitraum der jeweiligen Messung
von = pd.to_datetime("03.08.18 11:15",infer_datetime_format=True) # Zeitformat: MM.DD.YY HH:MM
bis = pd.to_datetime("03.09.18 09:00",infer_datetime_format=True)
auswahl = daten[['Vpunkt_Flur_testo','Vpunkt_Flur']].loc[von:bis]

## Polynome für Regerssionsgerade berechnen und ausgeben
korr = auswahl[np.isfinite(daten['Vpunkt_Flur_testo']) & np.isfinite(auswahl['Vpunkt_Flur'])]   
w    = np.polyfit(korr['Vpunkt_Flur'],korr['Vpunkt_Flur_testo'],1)
p    = np.poly1d(w)  #polynom defined by the coefficients in w
r2_0 = r2(korr['Vpunkt_Flur_testo'],p(korr['Vpunkt_Flur']))

Markdown('Bestimmtheitsmaß: '+str(r2_0)+'<br>Polynome: '+str(p))

## Wert der Anlage korrigieren und alle Werte plotten
auswahl['Vpunkt_Flur_korr'] = auswahl['Vpunkt_Flur'] *  p[1] + p[0]
graph = auswahl[['Vpunkt_Flur_testo','Vpunkt_Flur','Vpunkt_Flur_korr']] 
color = [ colo('blau',1),   colo('rot',1),  colo('grün',1)]
fig, ax = plt.subplots()
ax = graph.plot(ax=ax, color=color, linewidth=0.8)


h0, l0 = ax.get_legend_handles_labels() 
labels = ['Flur_testo','Flur','Flur_korr']
legend = plt.legend(h0, labels, ncol=1, loc=1)
set_legend_linewidth(legend) 

plt.savefig(output_folder + '/' + file_name + '_Flur_Graph.pdf')
display(fig)
c:\users\kolja\appdata\local\programs\python\python37\lib\site-packages\ipykernel_launcher.py:9: UserWarning: Boolean Series key will be reindexed to match DataFrame index.
  if __name__ == '__main__':

Seminarraum 1

von = pd.to_datetime("03.09.18 10:00",infer_datetime_format=True)  
bis = pd.to_datetime("03.10.18 16:45",infer_datetime_format=True)
auswahl = daten[['Vpunkt_Raum1_testo','Vpunkt_Raum1']].loc[von:bis]

## Polynome für Regerssionsgerade berechnen und ausgeben
korr=auswahl[np.isfinite(daten['Vpunkt_Raum1_testo']) & np.isfinite(auswahl['Vpunkt_Raum1'])]   
w = np.polyfit(korr['Vpunkt_Raum1'],korr['Vpunkt_Raum1_testo'],1)
p = np.poly1d(w)  #polynom defined by the coefficients in w
r2_0 = r2(korr['Vpunkt_Raum1_testo'],p(korr['Vpunkt_Raum1']))

Markdown('Bestimmtheitsmaß: '+str(r2_0)+'<br>Polynome: '+str(p)) 
c:\users\kolja\appdata\local\programs\python\python37\lib\site-packages\ipykernel_launcher.py:6: UserWarning: Boolean Series key will be reindexed to match DataFrame index.

Bestimmtheitsmaß: 0.9804251519184085
Polynome:
1.153 x + 16.43

Seminarraum 2

## Regressions Raum 2

## Zeitraum der jeweiligen Messung
von = pd.to_datetime("03.10.18 17:15",infer_datetime_format=True)  
bis = pd.to_datetime("03.11.18 16:00",infer_datetime_format=True)
auswahl = daten[['Vpunkt_Raum2_testo','Vpunkt_Raum2']].loc[von:bis]

## Polynome für Regerssionsgerade berechnen und ausgeben
korr = auswahl[np.isfinite(daten['Vpunkt_Raum2_testo']) & np.isfinite(auswahl['Vpunkt_Raum2'])]   
w    = np.polyfit(korr['Vpunkt_Raum2'],korr['Vpunkt_Raum2_testo'],1)
p    = np.poly1d(w)  #polynom defined by the coefficients in w
r2_0 = r2(korr['Vpunkt_Raum2_testo'],p(korr['Vpunkt_Raum2']))

Markdown('Bestimmtheitsmaß: '+str(r2_0)+'<br>Polynome: '+str(p))
c:\users\kolja\appdata\local\programs\python\python37\lib\site-packages\ipykernel_launcher.py:9: UserWarning: Boolean Series key will be reindexed to match DataFrame index.
  if __name__ == '__main__':
c:\users\kolja\appdata\local\programs\python\python37\lib\site-packages\IPython\core\interactiveshell.py:3326: RankWarning: Polyfit may be poorly conditioned
  exec(code_obj, self.user_global_ns, self.user_ns)

Bestimmtheitsmaß: 0.0
Polynome:
0.2757 x + 58.2

Plot Kalibriert & Messung

## Werte für die Datenaufbereitung
daten['Vpunkt_Flur_korr']  = daten['Vpunkt_Flur']  * 1.1296358  + 37.60581093
daten['Vpunkt_Raum1_korr'] = daten['Vpunkt_Raum1'] * 1.15344567 + 16.40466896
daten['Vpunkt_Raum2_korr'] = daten['Vpunkt_Raum2'] * 0.27570561 + 58.19456266


daten['Vpunkt_Gesamt_korr'] = daten['Vpunkt_Raum1_korr'] + daten['Vpunkt_Raum2_korr'] + daten['Vpunkt_Flur_korr']

graph = daten[['Vpunkt_Raum1_testo','Vpunkt_Raum1_korr','Vpunkt_Raum2_testo','Vpunkt_Raum2_korr','Vpunkt_Flur_testo','Vpunkt_Flur_korr','Vpunkt_Fortluft_testo','Vpunkt_Gesamt_korr']]
color = [ colo('blau',1.7), colo('blau',1), colo('rot',1.7), colo('rot',1), colo('grün',1.7), colo('grün',1), colo('orange',1.4), colo('orange',1)]

fig, ax = plt.subplots()
ax = graph.plot(ax=ax, color=color, linewidth=0.8)

# ax2 = ax.twinx()
# daten['L_Zuluft_Druck'].plot(ax=ax2,color=colo('black',.8), linewidth=0.5) 

## Achsen
ax.set_ylim(0,2000)
ax.get_yaxis().set_major_formatter(mpl.ticker.FuncFormatter(lambda x, loc: locale.format_string('%d', x, 1))) ## dot as thousand separator
ax.set_ylabel(r'\textbf{Voluenstrom} (m^3/h)')
# ax2.set_ylabel(r'\textbf{Druck} (Pa)')
# ax2.set_ylim(70,120)

## Legende
ax.get_legend().remove()
h0, l0 = ax.get_legend_handles_labels() 
labels = ['Raum1_testo','Raum1','Raum2_testo','Raum2','Flur_testo','Flur','Fortluft_testo','Summe12F','Druck Zuluft']
legend = plt.legend(h0, labels, ncol=4, loc=1)  
set_legend_linewidth(legend) 

# ax.set(xlim=[pd.to_datetime("03.12.18 00:00:00"),pd.to_datetime("03.12.18 12:00:00")])
# ax.set(xlim=[pd.to_datetime("03.09.18 00:00:00"),pd.to_datetime("03.09.18 12:00:00")])
plt.savefig(output_folder + '/' + file_name + '_nach_Korrektur.pdf')
display(fig)

vorher - nachher


daten['Gesamt_korr'] = daten['Vpunkt_Flur_korr'] + daten['Vpunkt_Raum1_korr'] + daten['Vpunkt_Raum2_korr'] 
daten['Gesamt'] = daten['Vpunkt_Flur'] + daten['Vpunkt_Raum1'] + daten['Vpunkt_Raum2'] 

graph = daten[['Gesamt_korr','Gesamt','Vpunkt_Flur_korr','Vpunkt_Flur','Vpunkt_Raum1_korr','Vpunkt_Raum1','Vpunkt_Raum2_korr','Vpunkt_Raum2']]
color = [ colo('blau',1), colo('blau',1.7), colo('rot',1), colo('rot',1.7), colo('grün',1), colo('grün',1.7), colo('orange',1), colo('orange',1.7)]

fig, ax = plt.subplots()
ax = graph.plot(ax=ax, color=color, linewidth=0.8)
ax.set_ylim(0,2200)
ax.get_yaxis().set_major_formatter(mpl.ticker.FuncFormatter(lambda x, loc: locale.format_string('%d', x, 1))) ## dot as thousand separator

h0, l0 = ax.get_legend_handles_labels() 
labels = ['Gesamt_korr','Gesamt','Flur_korr','Flur','Raum1_korr','Raum1','Raum2_korr','Raum2']
legend = plt.legend(h0, labels, ncol=4, loc=1) 
set_legend_linewidth(legend) 

plt.savefig(output_folder + '/' + file_name + '_Alles_Vergleich.pdf') 
display(fig)

Erklärung zur Abbildung:

Die Werte mit _testo im Namen sind die Messwerte von dem externen Messgerät (Testo480).
Die restlichen Werte sind die mit den Testo-Daten korrigierten Werte der Lüftungsanlage.
Der Wert Summe12F ist die Summe der drei korrigierten Volumenströme, dieser wird mit dem Wert Fortluft_testo verglichen.
Das passt auch erst ganz gut, aber die Erhöhung des Volumenstromes aus Raum1 ist nicht sichtbar...?
Die schwarze Linie ist der Druck des Zuluftkanales, der wie erwartet, auf über 90Pa steigt, wenn der Gesamtvolumenstrom 1.500m3/h erreicht.

Druck und Volumenstrom

graph = daten[['Vpunkt_Raum1_testo','Vpunkt_Raum1','Vpunkt_Raum2_testo','Vpunkt_Raum2','Vpunkt_Flur_testo','Vpunkt_Flur','Vpunkt_Fortluft_testo','Vpunkt_Gesamt','L_Zuluft_Druck']]
graph['L_Zuluft_Druck'] = daten['L_Zuluft_Druck'] * 10 
# graph = daten[['Vpunkt_Raum1_testo','Vpunkt_Raum1','Vpunkt_Raum2_testo','Vpunkt_Raum2','Vpunkt_Flur_testo','Vpunkt_Flur','Vpunkt_Fortluft_testo','Vpunkt_Gesamt','L_Zuluft_Druck']]#,'L_Duschen_Ablufttfeuchte']]
color = [ colo('blau',1), colo('blau',1.7), colo('rot',1), colo('rot',1.7), colo('grün',1), colo('grün',1.7), colo('orange',1), colo('orange',1.7), colo('black',1.7)]
fig, ax = plt.subplots()
ax = graph.plot(ax=ax, color=color, linewidth=0.8)
ax.set_ylim(0,2000)
ax.get_yaxis().set_major_formatter(mpl.ticker.FuncFormatter(lambda x, loc: locale.format_string('%d', x, 1))) ## dot as thousand separator
ax.axhline(y=855, linewidth=0.4,   color=colo('black',1), xmin=0.0001, xmax=1)
ax.axhline(y=950, linewidth=0.4,   color=colo('black',1), xmin=0.0001, xmax=1)

h0, l0 = ax.get_legend_handles_labels() 
labels = ['Raum_1_ext','Raum_1','Raum_2_ext','Raum_2','Flur_ext','Flur','Fortluft_ext','Summe 1+2+F','Druck_Zuluft']
legend = plt.legend(h0, labels, ncol=5, loc=1) 
set_legend_linewidth(legend) 

plt.savefig(output_folder + '/' + file_name + '_Druck_und_LF.pdf')
display(fig)


fig, ax = plt.subplots( figsize=(8,2.5))   
ax2 = ax.twinx()
daten['Vpunkt_Fortluft_testo'].plot(ax=ax,color=colo('grün',1), linewidth=.5, label = 'Fortluft Testo', style='-')   
daten['Vpunkt_Gesamt'].plot(ax=ax,color=colo('blau',1), linewidth=.5, label = 'Fortluft Intelli', style='-')   
# ax.axhline(y=0, linewidth=0.4,   color=colo('black',.7), xmin=0.0001, xmax=1)



# ax.set_ylabel(r'\textbf{Bilanzfehler} ($kWh$)')    
ax.set_ylim(600,1500) 
# ax2.set_ylim(-33,100)
# date_form = DateFormatter("%d.%m. %H")
# ax.xaxis.set_major_formatter(date_form)
plt.xticks(rotation=0, ha='center') 
ax.set_xlabel('')
h0, l0 = ax.get_legend_handles_labels() 
h2, l2 = ax2.get_legend_handles_labels() 
legend = plt.legend(h0+h2, l0+l2, ncol=3, loc=1)
set_legend_linewidth(legend)   

ax.set(xlim=[pd.to_datetime("2018.03.11 15:00:00"),pd.to_datetime("2018.03.12 18:00:00")])
display(fig)

Werte zur Verhältnisrechnung

print('Flur h')
print(int(daten['Vpunkt_Flur'].loc['2018-03-08 11:00' : '2018-03-08 14:00'].mean()))
print(int(daten['Vpunkt_Flur_testo'].loc['2018-03-08 11:00' : '2018-03-08 14:00'].mean()))
print(int(daten['L_Zuluft_Druck'].loc['2018-03-08 11:00' : '2018-03-08 14:00'].mean()/10))
print('Flur l')
print(int(daten['Vpunkt_Flur'].loc['2018-03-09 00:00' : '2018-03-09 02:00'].mean()))
print(int(daten['Vpunkt_Flur_testo'].loc['2018-03-09 00:00' : '2018-03-09 02:00'].mean()))
print(int(daten['L_Zuluft_Druck'].loc['2018-03-09 00:00' : '2018-03-09 02:00'].mean()/10))

print('Raum1 h')
print(int(daten['Vpunkt_Raum1'].loc['2018-03-09 11:00' : '2018-03-09 14:00'].mean()))
print(int(daten['Vpunkt_Raum1_testo'].loc['2018-03-09 11:00' : '2018-03-09 14:00'].mean()))
print(int(daten['L_Zuluft_Druck'].loc['2018-03-09 11:00' : '2018-03-09 14:00'].mean()/10))

print('Raum1 l')
print(int(daten['Vpunkt_Raum1'].loc['2018-03-10 11:00' : '2018-03-10 14:00'].mean()))
print(int(daten['Vpunkt_Raum1_testo'].loc['2018-03-10 11:00' : '2018-03-10 14:00'].mean()))
print(int(daten['L_Zuluft_Druck'].loc['2018-03-10 11:00' : '2018-03-10 14:00'].mean()/10))

print('Raum2 l')
print(int(daten['Vpunkt_Raum2'].loc['2018-03-11 00:00' : '2018-03-11 04:00'].mean()))
print(int(daten['Vpunkt_Raum2_testo'].loc['2018-03-11 00:00' : '2018-03-11 04:00'].mean()))
print(int(daten['L_Zuluft_Druck'].loc['2018-03-11 00:00' : '2018-03-11 04:00'].mean()/10))

print('Gesamt l')
print(int(daten['Vpunkt_Gesamt'].loc['2018-03-11 17:00' : '2018-03-12 04:00'].mean()))
print(int(daten['Vpunkt_Fortluft_testo'].loc['2018-03-11 17:00' : '2018-03-12 04:00'].mean()))
print(int(daten['L_Zuluft_Druck'].loc['2018-03-11 17:00' : '2018-03-12 04:00'].mean()/10))

print('Gesamt h')
print(int(daten['Vpunkt_Gesamt'].loc['2018-03-12 10:00' : '2018-03-12 16:00'].mean()))
print(int(daten['Vpunkt_Fortluft_testo'].loc['2018-03-12 10:00' : '2018-03-12 16:00'].mean()))
print(int(daten['L_Zuluft_Druck'].loc['2018-03-12 10:00' : '2018-03-12 16:00'].mean()/10))

zeiten = ['2018-03-08 18:00','2018-03-09 00:00','2018-03-09 14:00','2018-03-11 14:00','2018-03-12 14:00','2018-03-12 00:00'] 
werte = pd.DataFrame(columns=('Vpunkt_Raum1_testo','Vpunkt_Raum1','Vpunkt_Raum2_testo','Vpunkt_Raum2','Vpunkt_Flur_testo','Vpunkt_Flur','Vpunkt_Fortluft_testo','Vpunkt_Gesamt','L_Zuluft_Druck'))
for zeit in zeiten:
    werte.loc[zeit] = daten[['Vpunkt_Raum1_testo','Vpunkt_Raum1','Vpunkt_Raum2_testo','Vpunkt_Raum2','Vpunkt_Flur_testo','Vpunkt_Flur','Vpunkt_Fortluft_testo','Vpunkt_Gesamt','L_Zuluft_Druck']].loc[zeit]
werte
Flur h
100
155
8
Flur l
183
243
7
Raum1 h
1017
1187
8
Raum1 l
411
491
7
Raum2 l
211
116
7
Gesamt l
771
792
7
Gesamt h
1419
784
9
Vpunkt_Raum1_testo Vpunkt_Raum1 Vpunkt_Raum2_testo Vpunkt_Raum2 Vpunkt_Flur_testo Vpunkt_Flur Vpunkt_Fortluft_testo Vpunkt_Gesamt L_Zuluft_Druck
2018-03-08 18:00 NaN 945.163 NaN 311.645 158.336270 100.751 NaN 1357.559 91.447
2018-03-09 00:00 NaN 418.236 NaN 212.744 248.814138 183.756 NaN 814.736 79.213
2018-03-09 14:00 1290.539559 1017.890 NaN 312.767 NaN 101.260 NaN 1431.917 90.304
2018-03-11 14:00 NaN 411.291 124.407069 211.075 NaN 148.996 NaN 771.362 74.955
2018-03-12 14:00 NaN 1010.220 NaN 306.394 NaN 100.239 814.300816 1416.853 91.311
2018-03-12 00:00 NaN 411.291 NaN 211.075 NaN 148.996 678.584013 771.362 76.471
von = pd.to_datetime("03.08.18 11:15",infer_datetime_format=True)  
bis = pd.to_datetime("03.09.18 09:00",infer_datetime_format=True)
daten['Vpunkt_Flur_testo'] = daten['Geschwindigkeit'].loc[von:bis] * ((math.pi * 0.2**2) / 4) * 3600 

## Raum 1
von = pd.to_datetime("03.09.18 10:00",infer_datetime_format=True)  
bis = pd.to_datetime("03.10.18 16:45",infer_datetime_format=True)
daten['Vpunkt_Raum1_testo'] = daten['Geschwindigkeit'].loc[von:bis] * ((math.pi * 0.315**2) / 4) * 3600 

## Raum 2
von = pd.to_datetime("03.10.18 17:15",infer_datetime_format=True)  
bis = pd.to_datetime("03.11.18 16:00",infer_datetime_format=True)
daten['Vpunkt_Raum2_testo'] = daten['Geschwindigkeit'].loc[von:bis] * ((math.pi * 0.2**2) / 4) * 3600 

## Fortuft
von = pd.to_datetime("03.11.18 16:30",infer_datetime_format=True)  
bis = pd.to_datetime("03.12.18 17:00",infer_datetime_format=True)
a=.4

Save & Upload

## Skriptlaufzeit Ende (Funktion in: libraries_and_styles.ipynb)
hours, minutes, seconds = laufzeit()
## Notebook speichern vor dem Upload (Funktion in: libraries_and_styles.ipynb)
save_notebook() 
## Notebook als Markdown Datei mit eingebetten Grafiken speichern und auf den Server laden
%run ../Template/save_and_upload.ipynb  
 Kalibrierung_Testo_174H