WEBVTT
00:00:00.000 --> 00:00:16.900
RC3-Vorspann-Musik
00:00:16.900 --> 00:00:20.750
Herald: Aber und damit herzlich willkommen
wieder an diesem Morgen zur About-Future-
00:00:20.750 --> 00:00:26.060
Stage. Wir haben jetzt hier einen ganz
interessanten Talk über DIY-Heizenergie-
00:00:26.060 --> 00:00:31.340
Optimierung mit einem neuronalen Netzwerk
von Jens Dorfmüller hier zu meiner
00:00:31.340 --> 00:00:36.370
Rechten. Jens hat auch die Folien unter
seiner Website wwwjens.dorfmüller.de, mit
00:00:36.370 --> 00:00:46.940
ü oder mit u ist egal. Ja Jens, wie bist
du darauf gekommen, einen Talk über
00:00:46.940 --> 00:00:50.650
Heizenergie-Optimierung zu machen?
Jens: Ich habe mich vor zweieinhalb Jahren
00:00:50.650 --> 00:00:55.520
habe ich einen Smart Meter eingebaut
bekommen und habe mich damit beschäftigt,
00:00:55.520 --> 00:01:01.470
was man damit machen kann. Und daraus hat
sich im Laufe von zweieinhalb Jahren ein
00:01:01.470 --> 00:01:04.989
bisschen größeres Projekt entwickelt. Und
jetzt war ich.. ist das Projekt in einem
00:01:04.989 --> 00:01:08.940
Zustand, wo ich sag: Na ja, jetzt könnte
man es eigentlich auch mal zeigen und
00:01:08.940 --> 00:01:13.400
gucken, ob es für andere Leute interessant
ist, ob andere Leute vielleicht auch noch
00:01:13.400 --> 00:01:17.830
Ideen haben, was man weiter damit machen
könnte. Ja und so habe ich gedacht, melde
00:01:17.830 --> 00:01:21.510
ich mal einen Talk an und es freut mich
sehr, dass ich heute hier in München sein
00:01:21.510 --> 00:01:24.310
darf und mal wieder auf einer Bühne stehen
darf.
00:01:24.310 --> 00:01:29.690
Herald: Wunderbar. Ich würde sagen, damit
übergebe ich gleich an dich und wir sind
00:01:29.690 --> 00:01:36.330
gespannt, was du uns zu erzählen hast.
Jens: Super, guten Morgen zusammen. So,
00:01:36.330 --> 00:01:39.660
ich fange gleich mit meiner ersten Folie
an. Die ganze Geschichte hat bei mir
00:01:39.660 --> 00:01:44.071
angefangen, vor gut zweieinhalb Jahren,
als ich einen Smart Meter eingebaut
00:01:44.071 --> 00:01:48.060
bekommen habe und ich mich damit
beschäftigt habe: Was kann man denn
00:01:48.060 --> 00:01:52.501
eigentlich damit machen? Und als ich mich
damit beschäftigt habe, habe ich dann
00:01:52.501 --> 00:01:56.780
festgestellt Na ja, dieses Smart Meter
überträgt alle paar Sekunden den
00:01:56.780 --> 00:02:01.890
Zählerstand und die aktuell bezogene
Leistung. Und zwar macht sie das über eine
00:02:01.890 --> 00:02:07.810
Infrarot-Schnittstelle, die da drauf ist.
Auf der Folie, auf dem Bild sieht man
00:02:07.810 --> 00:02:11.731
diese Infrarot-Schnittstelle, abgedeckt
durch so einen gelben Messkopf, den ich da
00:02:11.731 --> 00:02:18.510
draufgesetzt habe. Darunter sitzt die LED.
Diese Infrarot-LED kann man mit einer
00:02:18.510 --> 00:02:23.670
einfachen Diode, mit einer einfachen Foto-
Diode mit einer Infrarot-Foto-Diode
00:02:23.670 --> 00:02:28.329
abgreifen und kann die zum Beispiel über
die Infrarot-Schnittstelle, über eine
00:02:28.329 --> 00:02:32.439
GPIO-Schnittstelle eines Raspberry PI
auslesen. Oder ich habe ein bisschen die
00:02:32.439 --> 00:02:37.201
faule Variante genommen. Ich habe jemanden
gefunden, der in der Kleinserie so ein
00:02:37.201 --> 00:02:45.719
Messkopf gebaut hat und der die quasi mit
USB-Schnittstelle angeboten hat. Vorteil
00:02:45.719 --> 00:02:49.639
wenn man das Ding so semiprofessionell
kauft, dann dann wird da auch gleich noch
00:02:49.639 --> 00:02:55.030
nen Magnet-Ring mit eingebaut, der das
dann auf der Schnittstelle festhält und
00:02:55.030 --> 00:03:01.709
das ganze optisch abdichtet. So, damit
kann ich jetzt den Zählerstand auslesen.
00:03:01.709 --> 00:03:06.930
Vielleicht noch einen Hinweis für Leute,
die das nachmachen wollen. Man muss erst
00:03:06.930 --> 00:03:11.709
die Schnittstelle freischalten, da gibt es
eine PIN, die man da eintippen, eingeben
00:03:11.709 --> 00:03:14.900
muss. Das ist ganz lustig über
Morsezeichen, mit einer Taschenlampe muss
00:03:14.900 --> 00:03:19.879
man die eingeben und dann kann man den
vollen, die Ausgabe des vollen Datensatz
00:03:19.879 --> 00:03:26.310
freischalten. Das habe ich dann gemacht
und ich habe ein Projekt gefunden im
00:03:26.310 --> 00:03:32.370
Internet volkszähl.org, dieses Projekt
liefert letztendlich die ganze Software,
00:03:32.370 --> 00:03:37.019
mit der man das dann auslesen kann, die
die Daten aufbereiten kann. Dieses Projekt
00:03:37.019 --> 00:03:41.529
steht, besteht letztendlich aus mehreren
Programmen. Das eine, erste Programm ist
00:03:41.529 --> 00:03:46.939
der vzlogger. Der liest quasi den
Datenstrom mit, teilt ihn auf in
00:03:46.939 --> 00:03:50.980
verschiedene Kanäle, also in den Kanal,
Zählerstand-Hauptzeit, Zählerstand-
00:03:50.980 --> 00:03:57.129
Nebenzeit und den aktuellen Verbrauch. Der
kann aber auch puffern. Das heißt, wenn
00:03:57.129 --> 00:04:02.249
mein Server, auf dem die Daten gespeichert
werden, mal down ist, dann puffer der
00:04:02.249 --> 00:04:07.650
zwischen, so lange bis der wieder ub ist
und schickt dann die Daten rüber. Dieses
00:04:07.650 --> 00:04:13.769
Programm, vzlogger, schickt die Daten dann
an eine Middleware, die auf meinem Server
00:04:13.769 --> 00:04:17.630
läuft. Das ist im Prinzip eine
Schnittstelle, ein ganz einfacher http-
00:04:17.630 --> 00:04:24.470
request, über den das übertragen wird.
Diese Middleware hat dann die Aufgabe, die
00:04:24.470 --> 00:04:29.300
die Messwerte zu empfangen und sie
letztendlich in die Maria-DB, die im
00:04:29.300 --> 00:04:35.520
Hintergrund läuft, zu schreiben. Und dann
gibt es noch das Web Frontend. Das ist
00:04:35.520 --> 00:04:39.860
letztendlich das, wie man das Ganze
bedient. Die nimmt dann die Daten aus der
00:04:39.860 --> 00:04:45.240
Maria-DB und stellt sie grafisch dar. Und
damit kann man schon ganz interessante
00:04:45.240 --> 00:04:52.919
Dinge machen. Hier zum Beispiel ist.. ist
der Strom, der Stromverbrauch, der normale
00:04:52.919 --> 00:04:59.080
Stromverbrauch von unserem Haus. Und jetzt
sieht man unten die Zeitskala und oben
00:04:59.080 --> 00:05:04.550
aufgetragen die Leistung, die abgerufen
wurde. Jetzt habe ich folgendes Ereignis
00:05:04.550 --> 00:05:09.449
mal mit geplottet: Hier sieht man, was der
Stromverbrauch ist vom Haus, wenn das
00:05:09.449 --> 00:05:14.520
Deckenlicht im Wohnzimmer an ist. So, dann
bin ich hergegangen, habe die Leselampe
00:05:14.520 --> 00:05:20.810
neben dem Sofa angemacht. Man sieht der
Stromverbrauch steigt. Dann habe ich das
00:05:20.810 --> 00:05:25.840
Decken Licht ausgemacht und habe gedacht
naja, jetzt spare ich Strom, weil ich nur
00:05:25.840 --> 00:05:31.400
noch weniger Licht verbrauche. Dann habe
ich aber mal mein Handy rausgezogen, habe
00:05:31.400 --> 00:05:35.790
die Oberfläche aufgerufen und habe geguckt
und habe festgestellt: Ich habe gerade
00:05:35.790 --> 00:05:42.199
genau das Gegenteil gemacht. Ich habe mehr
Strom verbraucht. Man sieht, das Ganze
00:05:42.199 --> 00:05:45.150
kann man rückgängig machen: Wenn ich das
Licht wieder anmache und die Leselampe
00:05:45.150 --> 00:05:50.620
aus, dann verbrauche ich auf einmal wieder
weniger Strom. Wenn man drüber nachdenkt:
00:05:50.620 --> 00:05:55.379
ganz logisch. Die Deckenlampe ist eine
moderne LED-Lampe, wo die meiste Energie
00:05:55.379 --> 00:06:01.440
in Licht verwandelt wird und die Leuchte
neben dem Sofa ist noch eine alte Halogen-
00:06:01.440 --> 00:06:08.080
Standleuchte, die verbrennt eben.. die
erzeugt nicht nur Licht, sondern auch eine
00:06:08.080 --> 00:06:14.370
Menge Wärme und verbraucht deswegen mehr
Strom. Seitdem ist die Stehlampe ehrlich
00:06:14.370 --> 00:06:18.800
gesagt auch ein bisschen in Ungnade
gefallen. Sie wird deutlich weniger
00:06:18.800 --> 00:06:27.380
eingeschaltet. So, jetzt wollt ich mal ein
bisschen mehr damit machen. Vorteil von
00:06:27.380 --> 00:06:31.289
dieser von dem Projekt volkszaehler.org
ist, dass diese http-Schnittstelle sehr
00:06:31.289 --> 00:06:35.409
sehr gut dokumentiert ist und man relativ
einfach auch andere Dinge da reinhängen
00:06:35.409 --> 00:06:41.949
kann. Ich habe zum Beispiel noch ein paar
Temperatur-Sensoren da reingehängt. Das
00:06:41.949 --> 00:06:45.860
sind einfache Platin-Messwiderstand-
Temperatursensoren. Ich habe mir von
00:06:45.860 --> 00:06:50.819
Adafruit einen Verstärker dafür gekauft,
den kann ich dann.. da kann ich dann die
00:06:50.819 --> 00:06:55.560
Temperatur über die SPI-Schnittstelle mit
einem RaspberryPI0 auslesen und ich kann
00:06:55.560 --> 00:07:00.849
ein einfaches Python-Script schreiben. Das
sind wirklich nur 15 Zeilen und kann das
00:07:00.849 --> 00:07:08.249
dann an den vzlogger übergeben. Also hier
rechts dargestellt sieht man dann auch wie
00:07:08.249 --> 00:07:11.580
das ganze aussieht. Also der
Temperatursensor ist über ein vieradriges
00:07:11.580 --> 00:07:19.069
Kabel an den Verstärker angebunden, über
SPI dann an an den RaspberryPI0. Da geht
00:07:19.069 --> 00:07:26.590
es dann an den vzlogger und über WLAN
hängt der an meinem Server. Gut, eine
00:07:26.590 --> 00:07:34.009
weitere Datenquelle, die mich interessiert
hat, war die Heizung. Da habe ich ein
00:07:34.009 --> 00:07:38.879
bisschen den Nachteil, da gibt es keine
gut dokumentierte freie Schnittstelle.
00:07:38.879 --> 00:07:43.280
Erst kürzlich hat der Hersteller Vissmann
die API zum Auslesen auch wirklich
00:07:43.280 --> 00:07:48.629
freigegeben und einigermaßen dokumentiert.
Zum Glück gibt es aber eine OpenSource-
00:07:48.629 --> 00:07:57.259
Schnittstelle, eine OpenSource-API auf
GitHub, die bereits.. die es schon länger
00:07:57.259 --> 00:08:03.340
gibt und die mir das Leben da ereinfacht:
Da kann ich eben über diese API die Daten
00:08:03.340 --> 00:08:07.660
von meiner Heizungsanlage auslesen und aus
der Cloud auslesen und damit in meinem
00:08:07.660 --> 00:08:13.599
volkszaehler.org einspielen. Die Daten,
die ich da abgreifen. Das sind vor allen
00:08:13.599 --> 00:08:18.560
Dingen die Außentemperatur. Ich kann
auslesen, ob die Heizung aktiv ist oder ob
00:08:18.560 --> 00:08:23.479
sie, ob sie im Sommer ausgeschaltet ist.
Und was ganz interessant ist: Ich kann
00:08:23.479 --> 00:08:28.090
lesen, ob die Heizung gerade Warmwasser-
Aufbereitung macht oder ob sie mein Haus-
00:08:28.090 --> 00:08:38.070
Fußbodenheizung betreibt. So, damit kann
ich jetzt schon eine bisschen, bisschen
00:08:38.070 --> 00:08:41.970
interessantere Auswertung machen. Ich
kenne also die Leistungsaufnahme meiner
00:08:41.970 --> 00:08:46.800
Heizung zu jedem Zeitpunkt und ich kenne
den Betriebszustand zu jedem Zeitpunkt.
00:08:46.800 --> 00:08:51.830
Und jetzt kann ich mir einfach ausrechnen,
wie viel Strom ich eigentlich für.. zum
00:08:51.830 --> 00:08:55.790
Heizen brauche und wie viel ich für die
Warmwasser-Aufbereitung brauche. Also hier
00:08:55.790 --> 00:09:03.440
sieht man jetzt einen Plot über die
letzten zweieinhalb Jahre. Jeder Balken
00:09:03.440 --> 00:09:08.840
ist eine Woche. In Blau sieht man die
Energie, die ich zum Heizen benutzt habe
00:09:08.840 --> 00:09:14.530
und in Orange sieht man die Energie, die
zum Warmwasser-Aufbereitung benutzt wurde.
00:09:14.530 --> 00:09:18.860
Ich kann dann auch sehen, ich kann daraus
relativ schnell sehen, in welcher Woche
00:09:18.860 --> 00:09:28.481
ich wie viel, wie viel wie viel Geld
ausgegeben habe zum Heizen. So, ich kann
00:09:28.481 --> 00:09:34.160
aber auch auftragen, wie viel Energie
brauche ich gegenüber bei welcher
00:09:34.160 --> 00:09:38.980
Temperatur? Und da kriegt man schon was
Interessantes raus, da sieht man relativ
00:09:38.980 --> 00:09:45.630
schnell eine eindeutige Korrelation. Je
wärmer es ist, umso weniger Energie
00:09:45.630 --> 00:09:52.940
brauche ich zur Warmwasser-Aufbereitung.
Das ist relativ einfach erklärbar. So eine
00:09:52.940 --> 00:09:58.370
Luft-Wasser-Wärmepumpe, die hat eine eine
schlechtere Effizienz, wenn es kalt ist.
00:09:58.370 --> 00:10:07.360
Wenn ich mir das jetzt angucke, könnte ich
jetzt, ist es eine der Ideen, die ich
00:10:07.360 --> 00:10:11.410
habe, was ich in Zukunft ausprobieren
will. Ich könnte jetzt sagen, ich guck mir
00:10:11.410 --> 00:10:17.120
die Wettervorhersage an und verlege
versuche die Wasser Warmwasser-
00:10:17.120 --> 00:10:23.080
Aufbereitung in die Zeit am Tag zu legen,
in der es wärmer ist. Und in der kalten
00:10:23.080 --> 00:10:26.180
Zeit, vor allen Dingen in der Nacht, da
unterdrücke ich dann die Warmenwasser-
00:10:26.180 --> 00:10:35.850
Aufbereitung bis in die frühen
Morgenstunden. Ja, das ist eine Idee. So,
00:10:35.850 --> 00:10:41.100
dann habe ich aber auch zu Hause noch
einen Komfort-Ofen, einen Holzofen im
00:10:41.100 --> 00:10:46.310
Wohnzimmer, den ich betreibe. Und was mich
jetzt dann interessiert hat, ist: Wie viel
00:10:46.310 --> 00:10:53.030
Strom spare ich eigentlich dadurch, dass
ich hin und wieder mit Holz heizen? Auch
00:10:53.030 --> 00:10:56.770
da habe ich mal einen einfachen Plot
versucht. Ich habe einfach die Temperatur
00:10:56.770 --> 00:11:03.290
aufgetragen und dann dagegen die Energie,
die ich zum Heizen mit meiner Was.. mit
00:11:03.290 --> 00:11:09.890
meiner Luft-Wärmepumpe brauche. Jeder
Punkt hier, jeder Punkt ist quasi eine
00:11:09.890 --> 00:11:17.050
Woche, der Mittelwert einer Woche. Und man
sieht in den Wochen, wo ich markiert habe,
00:11:17.050 --> 00:11:22.530
dass ich den Ofen relativ häufig anhatte,
dort scheint der Stromverbrauch
00:11:22.530 --> 00:11:27.510
tatsächlich ein bisschen reduziert zu
sein. Ob jetzt der Holzofen an war oder
00:11:27.510 --> 00:11:32.510
nicht, das kann ich eben an meine
Temperatur-Sensoren messen. Da sehe ich,
00:11:32.510 --> 00:11:36.682
wenn.. wenn die Temperatur-Sensoren nur
die Umgebungstemperatur anzeigen, dann war
00:11:36.682 --> 00:11:41.190
er offensichtlich aus und wenn die
deutlich über der Raumtemperatur liegen,
00:11:41.190 --> 00:11:47.910
dann war der an. So, jetzt habe ich mich
gefragt, kann ich das eigentlich auch noch
00:11:47.910 --> 00:11:54.632
genauer ausrechnen? Und da habe ich mir
jetzt folgende Idee überlegt: Ich nehme
00:11:54.632 --> 00:11:59.980
ein neuronales Netzwerk, trainiere das auf
die Außentemperatur, die Temperatur des
00:11:59.980 --> 00:12:07.200
Ofens und den Betriebsmodus der der
Heizung. Und wenn ich das trainiert habe,
00:12:07.200 --> 00:12:11.190
dann manipuliert ich die Ofen-Temperatur,
die dieses neuronale Netzwerk sieht,
00:12:11.190 --> 00:12:16.240
einfach so, dass ich so tue, als ob der
Ofen nie angewiesen wäre. Und jetzt
00:12:16.240 --> 00:12:21.320
postuliere ich, dass die Differenz
zwischen der Vorhersage mit dem Holzofen
00:12:21.320 --> 00:12:27.550
und die Vorhersage ohne den Holzofen, das
müsste ungefähr meine gesparte elektrische
00:12:27.550 --> 00:12:35.310
Energie sein. So, so, sieht jetzt, sehen
die eingangs Größen für das neuronale
00:12:35.310 --> 00:12:39.690
Netzwerk aus. Man sieht also hier die
Außentemperatur, dass es eben nicht nur
00:12:39.690 --> 00:12:45.530
die aktuelle Außentemperatur, sondern eben
auch die von den Zeitslots vorher. Ich
00:12:45.530 --> 00:12:50.890
mittel immer über Zeitslots von 6 Stunden,
das heißt, ich betrachte hier die die
00:12:50.890 --> 00:12:56.430
Außentemperatur bis zu 24 Stunden
rückwärts. Dasselbe mache ich mit dem
00:12:56.430 --> 00:13:01.390
Ofenspeicher mit dem Ofen. Dann nehme ich
eben auch nicht nur die aktuelle
00:13:01.390 --> 00:13:08.510
Temperatur, sondern gucke mir auch bis..
gucke mir auch drei Slots zurück an. Denn
00:13:08.510 --> 00:13:12.280
bei dem Betriebszustand der Heizung, da
gucke ich mir jetzt nur an Ist die Heizung
00:13:12.280 --> 00:13:17.690
aktuell an oder ist sie im Spar-Modus?
Oder ist gerade die EVU-Sperre vielleicht
00:13:17.690 --> 00:13:22.610
noch ein Wort zu der EVU-Sperre: Das ist
eben ein Recht, was mein Energieversorger
00:13:22.610 --> 00:13:27.630
hat. Mein Energieversorger darf mir sagen,
dass an bestimmten Zeiten am Tag meine
00:13:27.630 --> 00:13:33.330
Heizung ausbleiben muss. Da hält sich die
Heizung halt auch dran. Und das hat
00:13:33.330 --> 00:13:37.760
natürlich auch einen massiven Einfluss
darauf, wie viel Strom meine Heizung
00:13:37.760 --> 00:13:45.110
verbraucht. So die aus... die Größe, auf
die ich das neuronale Netzwerke trainiere,
00:13:45.110 --> 00:13:49.450
ist letztendlich die Heizenergie. Das ist
die, die das Integral über die Leistung
00:13:49.450 --> 00:13:58.750
ohne die Warmwasser aufbereitung. So sieht
dann das neuronale Netzwerk aus. Ich habe
00:13:58.750 --> 00:14:07.870
hier, dass das Input-Layer mit 11 Größen,
einen Hidden-Layer mit 24 Neuronen dann im
00:14:07.870 --> 00:14:13.820
Hidden-Layer 2:16, im Hidden-Layer 3:12
und dann habe ich nachher einen Output-
00:14:13.820 --> 00:14:18.830
Layer und das Netzwerk ist fully
connected. Man sieht hier an der Anzahl
00:14:18.830 --> 00:14:24.630
der Linien, hier gibt es sehr, sehr viele
Parameter, sehr viel freie Parameter, mit
00:14:24.630 --> 00:14:30.550
der ich, mit dem ich das neuronale
Netzwerke trainieren kann. Für mich als
00:14:30.550 --> 00:14:35.680
Physiker ist dieses neuronale Netzwerk
erst einmal einfach nur eine Funktion mit
00:14:35.680 --> 00:14:43.300
insgesamt 905 Freiheitsgraden, also ein
F(a1..a905) und dann noch die
00:14:43.300 --> 00:14:49.380
Eingangsgrößen hier und die Ausgangsgröße
ist der Energieverbrauch. So und jetzt
00:14:49.380 --> 00:14:58.270
habe ich Datensätze für dieses x1 bis x11
von Datensatz 1 bis.. im Moment sind es
00:14:58.270 --> 00:15:03.440
über 23600 Stück, die ich da reinstecken
will in diese Funktion. Und rauskommen
00:15:03.440 --> 00:15:10.380
soll der Energieverbrauch für jeden dieser
einzelnen Datensätze. So, jetzt ganz kurz:
00:15:10.380 --> 00:15:15.380
Wie komme ich zu diesen Datensätzen? Hier
sieht man jetzt aufgeplottet die Zeit, das
00:15:15.380 --> 00:15:21.730
sind zwei Tage. Man sieht hier in der
Ockerfarbe den den den Stromverbrauch der
00:15:21.730 --> 00:15:28.020
Heizung und man sieht hier zum Beispiel in
in Pink, das ist jetzt schwer zu erkennen,
00:15:28.020 --> 00:15:31.500
hier in Pink ist markiert, wo Warmwasser-
Aufbereitung war. Das wird rausgerechnet.
00:15:31.500 --> 00:15:39.050
Und hier in Rot sieht man die Temperatur
des Ofens. Und jetzt gehe ich her und
00:15:39.050 --> 00:15:44.700
teile das einfach in Sechs-Stunden-Slots
auf und mittel die Werte für jeden dieser
00:15:44.700 --> 00:15:49.811
Sechs-Stunden-Slots. Wenn ich das
ausrechene würde ich ungefähr auf, wenn
00:15:49.811 --> 00:15:53.500
ich das so mache über die ganze Zeit, über
die ganzen zweieinhalb Jahre würde ich,
00:15:53.500 --> 00:15:57.810
glaube ich, auf 6000 Datensätze kommen.
Jetzt mache ich noch ein bisschen..
00:15:57.810 --> 00:16:01.560
schummeln ich noch ein bisschen. Ich
schiebe diese Zeit-Slots einfach immer um
00:16:01.560 --> 00:16:06.350
eine Stunde weiter und so kann ich
wesentlich mehr Datensätze generieren mit
00:16:06.350 --> 00:16:11.150
denselben Daten, die ich letztendlich
habe. Das hilft mir sehr beim Trainieren
00:16:11.150 --> 00:16:18.280
des Netzwerks und erhöht die Genauigkeit.
So, jetzt habe ich das neuronale Netzwerk.
00:16:18.280 --> 00:16:23.010
Ich habe die Daten. Jetzt ist die einzige
Aufgabe, die noch fehlt: Ich muss das
00:16:23.010 --> 00:16:29.310
trainieren. Trainieren läuft normalerweise
so, ich ich lege initiale Parameter fest.
00:16:29.310 --> 00:16:33.630
Dann schätze ich die die Datensätze. Ich
berechne den Fehler, die Ableitung des
00:16:33.630 --> 00:16:38.750
Fehlers. Dann werden verbesserte Parameter
bestimmt und so läuft das iterativ immer
00:16:38.750 --> 00:16:43.430
weiter, solange, bis der Fehler klein
genug ist. Und dann sage ich: Das
00:16:43.430 --> 00:16:52.290
neuronale Netzwerk ist trainiert. So, das
sind jetzt die Ergebnisse. Hier habe ich
00:16:52.290 --> 00:16:59.150
jetzt mal aufgetragen, wie viel Energie
mein Ofen bei welcher Außentemperatur
00:16:59.150 --> 00:17:03.750
spart, das ist in rot aufgetragen. In
schwarz sieht man noch, was passiert, wenn
00:17:03.750 --> 00:17:10.130
ich meine Heizung im Urlaubs-Modus
betreibe. Aber wir konzentrieren uns jetzt
00:17:10.130 --> 00:17:13.860
hier auf die rote Linie und da sieht man
je tiefer die Temperatur ist, umso mehr
00:17:13.860 --> 00:17:19.939
Energie spart er. Und zum Beispiel hier so
bei minus 5, zwischen minus zwischen 0 und
00:17:19.939 --> 00:17:29.950
minus 5 Grad gibt es so ein Peak. Da spart
mir mein Holzofen, da trägt er bis zu 0,5,
00:17:29.950 --> 00:17:40.080
bis zu 0,5 Kilowatt zur Heizung bei. So
das Modell an sich, wenn ich das
00:17:40.080 --> 00:17:45.490
aufintegriere über den ganzen Zeitraum,
dann sagt das Modell relativ gut den
00:17:45.490 --> 00:17:52.490
realen Energieverbrauch voraus. Das
überschätzt den Energieverbrauch leicht um
00:17:52.490 --> 00:17:57.290
0,21%. Ich habe auch, ich habe das
mehrmals wiederholt. Ich habe mal über 100
00:17:57.290 --> 00:18:01.250
Stück über 100 Läufe gemittelt und da
komme ich auf eine Standardabweichung auf
00:18:01.250 --> 00:18:09.640
3,2%. Das finde ich schon relativ gut für
den Ansatz. So, die Energieersparnis, die
00:18:09.640 --> 00:18:16.010
das Modell voraussagt, ist im Durchschnitt
6,.., ja ungefähr 6,4% und die
00:18:16.010 --> 00:18:19.040
Standardabweichung dort ist auch so
gering, dass ich sag: Ja, dem Wert kann
00:18:19.040 --> 00:18:25.350
man vertrauen. Und insgesamt sagt das
Modell mir voraus, dass ich mit dem
00:18:25.350 --> 00:18:33.820
Betrieb des Holzofen so ca. 575
Kilowattstunden an elektrischer Energie
00:18:33.820 --> 00:18:43.190
gespart habe oder in Stromkosten ca. 135
Euro. Gut. Wie kann man das einschätzen?
00:18:43.190 --> 00:18:49.900
Hier die beiden Wärmequellen verglichen
einerseits meine Luft-Wasser-Wärmepumpe,
00:18:49.900 --> 00:18:57.130
auf der anderen Seite der Holz-Kaminofen.
So Energieträger bei der Luft-Wasser-
00:18:57.130 --> 00:19:02.600
Wärmepumpe ist Strom. Inzwischen beziehe
ich da nur noch Ökostrom. Die Kosten hatte
00:19:02.600 --> 00:19:10.151
ich gesagt, 135 Euro und die eingesparte
Energie 575 Kilowattstunden. So, das ist
00:19:10.151 --> 00:19:16.310
aber der Stromverbrauch der Wärmepumpe.
Und das, was an Heizenergie dann wirklich
00:19:16.310 --> 00:19:22.030
zu Hause ankommt, ist höher. Da gibt es
eben einen Umrechnungsfaktor, der sagt,
00:19:22.030 --> 00:19:26.680
wie viel Energie wirklich im Haus ankommt,
denn die Wärmepumpe erzeugt ja nicht
00:19:26.680 --> 00:19:31.560
Wärmeenergie, sondern sie pumpt die
Wärmeenergie einfach von außen in das Haus
00:19:31.560 --> 00:19:38.180
hinein und der Holzofen wurde betrieben
bei einer Durchschnittstemperatur von 5
00:19:38.180 --> 00:19:43.420
Grad. Und da liegt der "Coefficient of
Performance" meiner Luft-Wasser-Wärmepumpe
00:19:43.420 --> 00:19:52.020
so ca. bei 4,7. Das heißt, das was an
Heizenergie bei mir im Haus ankommt oder
00:19:52.020 --> 00:19:59.540
angekommen wäre von diesem, von der
eingesparten Energie ist das 4,7 fache. So
00:19:59.540 --> 00:20:04.000
auf der anderen Seite habe ich den Holz-
Kaminofen. Da habe ich in den zweieinhalb
00:20:04.000 --> 00:20:11.040
Jahren ca. 4 Schüttraummeter Buchenholz
verbrannt. Hier sieht man, wie viel das
00:20:11.040 --> 00:20:16.570
ist. Das sind zwei Meter Buchenholz, das
heißt das doppelte. Von dem habe ich ca.
00:20:16.570 --> 00:20:23.070
in dem Ofen in der Zeit verbrannt. Bezahlt
habe ich dafür wesentlich mehr als für für
00:20:23.070 --> 00:20:32.730
den Strom, den ich gespart habe. Die
Energie, die dieses Holz hat, sind ca.
00:20:32.730 --> 00:20:38.510
fünfeinhalb Kilowatt, 5500
Kilowattstunden. Jetzt hat der Ofen
00:20:38.510 --> 00:20:45.530
natürlich auch eine gewisse Effizienz. Die
wird angegeben bei ca. 82%. Das heißt auch
00:20:45.530 --> 00:20:50.360
davon kommt natürlich nicht alles bei mir
im Haus an. Jetzt, wenn man guckt, ist
00:20:50.360 --> 00:20:54.840
eine Differenz von fast 2000
Kilowattstunden. Das wirkt erst mal
00:20:54.840 --> 00:21:02.410
relativ groß. Aber an sich liege ich da in
der richtigen Größenordnung. Die möglichen
00:21:02.410 --> 00:21:06.630
Ursachen für die Differenz, die da noch
ist, zum einen unterschätze ich
00:21:06.630 --> 00:21:11.490
wahrscheinlich noch den Effekt von meinem
Holzofen, denn ich mittel nur ich gucke
00:21:11.490 --> 00:21:17.800
nur bis zu 24 Stunden zurück. Und wenn der
Ofen mal ordentlich läuft und auch die
00:21:17.800 --> 00:21:22.890
Wände vom Haus erhitzt, dann ist der
Effekt wahrscheinlich noch wesentlich
00:21:22.890 --> 00:21:32.290
länger. Und zum anderen: die die Effizienz
von 82% erreiche ich garantiert nicht zu
00:21:32.290 --> 00:21:39.260
Hause, denn der Ofen steht nur in einem
Raum und der heizt genau einen Raum. Und
00:21:39.260 --> 00:21:43.390
da kommt nicht alles im ganzen Haus an.
Auch da könnte man wahrscheinlich
00:21:43.390 --> 00:21:51.100
verbessern. So was schließe ich daraus.
Zum einen: Wirtschaftlich ist der Betrieb
00:21:51.100 --> 00:21:59.630
meines Holzofens definitiv nicht rentabel.
Denn wenn wir, wenn draußen Temperaturen
00:21:59.630 --> 00:22:02.450
so jenseits der Minus 10 Grad sind, dann
macht es wahrscheinlich auch
00:22:02.450 --> 00:22:06.490
wirtschaftlich Sinn, den zu betreiben. Da
muss man einfach bedenken Der "Coefficient
00:22:06.490 --> 00:22:11.340
of Performance" einer Wärmepumpe sinkt
drastisch, wenn man in Richtung minus 10
00:22:11.340 --> 00:22:16.690
Grad geht. Ich habe mal aus dem Datenblatt
hergeleitet. Leider sieht man das.. leider
00:22:16.690 --> 00:22:21.120
wird das für die Temperatur nie angegeben,
weil die Werte dann relativ schlecht sind.
00:22:21.120 --> 00:22:23.990
Deswegen habe ich mir die aus dem
Datenblatt mal hergeleitet.
00:22:23.990 --> 00:22:28.610
Schätzungsweise bei minus 10 prozent...
bei minus 10 Grad Celsius ist der
00:22:28.610 --> 00:22:32.300
"Coefficient of Performance"
wahrscheinlich nur noch bei 2,5.
00:22:32.300 --> 00:22:38.760
Dahingegen: Die Leistung und die Effizienz
des Ofens bleibt aber unabhängig von der
00:22:38.760 --> 00:22:44.770
Außentemperatur immer gleich. Das heißt,
irgendwo bei sehr tiefen Temperaturen
00:22:44.770 --> 00:22:53.880
draußen steigt das, macht es immer mehr
Sinn, diesen Ofen zu betreiben. Von der
00:22:53.880 --> 00:23:00.910
CO2-Bilanz her kommt es ganz darauf an,
was man für einen Strommix hat. Dadurch,
00:23:00.910 --> 00:23:07.740
dass ich jetzt nur noch nur noch Ökostrom
nehme, macht das da auch nicht mehr so
00:23:07.740 --> 00:23:14.130
viel Sinn. Wenn ich die energetische
Betrachtung von vorhin angucke, dann komme
00:23:14.130 --> 00:23:19.100
ich drauf, dass die Analyse-Methode an
sich scheinbar ganz gut funktioniert und
00:23:19.100 --> 00:23:24.950
mir da auch Daten in der richtigen
Größenordnung liefert. An sich lässt sich
00:23:24.950 --> 00:23:31.300
dieser Ansatz auch übertragen eben auf
andere Dinge. Die Methode lässt sich
00:23:31.300 --> 00:23:35.490
eigentlich immer dann einsetzen, wenn man
vorhersagen möchte, ob eine manchmal
00:23:35.490 --> 00:23:40.559
verwendete Verhaltens-Methode bei
dauerhafter Anwendung zu einer Einsparung
00:23:40.559 --> 00:23:44.310
führen würde. Und dann kann man auch
ausrechnen, wie groß diese Einsparung
00:23:44.310 --> 00:23:52.530
wäre. Das könnte man zum Beispiel machen,
indem man die Umwälzpumpe für die
00:23:52.530 --> 00:23:57.530
Warmwasser-Aufbereitung mal einschaltet,
mal ausschaltet, dann darauf ein Modell
00:23:57.530 --> 00:24:03.440
trainiert und am Schluss sich dann
ausrechnet: Wenn ich die dauerhaft
00:24:03.440 --> 00:24:09.679
ausgeschaltet lassen würde, wie viel würde
ich dann sparen? Oder ich könnte mir
00:24:09.679 --> 00:24:14.300
überlegen, wenn ich die Jalousien
regelmäßig bei Kälte runter lasse, alle
00:24:14.300 --> 00:24:17.770
Jalousien runter lasse. Dann würde ich
wahrscheinlich auch was sparen und ich
00:24:17.770 --> 00:24:20.940
könnte mir gucken.. ich könnte mir
angucken, wie viel diese
00:24:20.940 --> 00:24:29.460
Verhaltensänderung nachher auch an Energie
sparen würde. Gut, zum Schluss noch einmal
00:24:29.460 --> 00:24:35.340
die Projekte, die Software und die ich die
verwendet habe. Zum einen habe ich schon
00:24:35.340 --> 00:24:39.300
erwähnt das OpenSource Projekt
volkszaehler.org, was mir sehr geholfen
00:24:39.300 --> 00:24:48.420
hat und die Viessmann App von von True
Avatar auf GitHub. Zum Auswerten habe ich
00:24:48.420 --> 00:24:55.090
sehr viel NumPy verwendet. Ich habe auf
das Backend von Vissmann zugegriffen. Da
00:24:55.090 --> 00:25:00.850
gibt es das Developer Portal, wo man dann
ja die dokumentierte API findet.
00:25:00.850 --> 00:25:04.040
Programmiersprachen habe ich das meiste in
Python geschrieben, auch ein bisschen PHP
00:25:04.040 --> 00:25:10.720
ist dabei. Machine Learning habe ich in
Keras mit Tensor Flow als Backend
00:25:10.720 --> 00:25:16.530
angewendet und als Package Manager hatte
ich Anaconda und ein Buch was ich
00:25:16.530 --> 00:25:22.200
empfehlen kann ist hier von Jörg Frochte:
Maschinelles Lernen. Das hat mir sehr viel
00:25:22.200 --> 00:25:27.480
Spaß gemacht, es zu lesen und es hat mir
sehr viel gebracht zum Verständnis von
00:25:27.480 --> 00:25:33.059
neuronalen Netzwerken. Damit bin ich
fertig. Möchte mich herzlich bedanken fürs
00:25:33.059 --> 00:25:39.300
Zuhören. Die Folien wie gesagt habe ich
abgelegt auf meinem auf meiner Homepage.
00:25:39.300 --> 00:25:43.231
Ihr könnt mich per E-Mail erreichen oder
auch über Event Phone, wenn ich dann
00:25:43.231 --> 00:25:47.809
wieder zu Hause bin, könnte mich auch über
Event Phone anrufen. Vielen Dank.
00:25:47.809 --> 00:25:53.429
Herald: Wunderbar. Wir sagen auch: Vielen
Dank! Ich hoffe, es hat den
00:25:53.429 --> 00:25:57.590
Zuschauer*innen an den Endgeräten
gefallen. Wir haben eins, eins, zwei, drei
00:25:57.590 --> 00:26:02.350
Fragen bekommen. Wir haben auch noch Zeit
für eine kurze Q&A. Falls noch Fragen
00:26:02.350 --> 00:26:07.240
aufkommen, einfach in den IRC, da kommt es
am besten zu uns durch. Genau, und zwar
00:26:07.240 --> 00:26:11.059
wurde gefragt, ob du es schon vorher mit
einem einfachen physikalischen Modell
00:26:11.059 --> 00:26:15.290
versucht hast, das einfach nur den
Wärmefluss oder den Energiefluss mit
00:26:15.290 --> 00:26:20.830
einbezieht und nicht ein komplettes
neuronales Netzwerk mit 509 Parametern,
00:26:20.830 --> 00:26:25.700
oder bzw. 11 Parameter waren es glaub ich
und 509 Einstellmöglichkeiten, oder?
00:26:25.700 --> 00:26:30.520
Jens: Das habe ich nicht probiert, weil
mir relativ schnell klar wurde, dass es
00:26:30.520 --> 00:26:37.810
eben sehr viele verschiedene Kombinationen
aus verschiedenen Dingen gibt. Also
00:26:37.810 --> 00:26:43.320
spielen eben so viele verschiedene Dinge
eine Rolle, dass ich gesagt habe: Naja, da
00:26:43.320 --> 00:26:47.650
mache ich mir das Leben einfacher. Ich
probiere es mit dem neuronalen Netzwerk,
00:26:47.650 --> 00:26:49.240
da muss ich mich nicht um die Details
kümmern.
00:26:49.240 --> 00:26:56.210
Herald: Okay, genau die zweite Frage geht
in eine ähnliche Richtung, nämlich das
00:26:56.210 --> 00:27:00.190
bzw. dass man das neuronale Netzwerk auch
als modellfreien Ansatz charakterisieren
00:27:00.190 --> 00:27:05.770
könnte, weil da weniger Parameter und
weniger Daten vonnöten würden. Hast du da
00:27:05.770 --> 00:27:11.880
mal drüber nachgedacht?
Jens: Ne habe ich so noch nicht drüber
00:27:11.880 --> 00:27:14.929
nachgedacht.
Herald: Okay. Genau, und es wurde noch
00:27:14.929 --> 00:27:18.060
gefragt, was für eine Wärmepumpe du
benutzt hast, ob die Wärme aus der Luft
00:27:18.060 --> 00:27:22.111
oder aus dem Boden kommt, von dem, wie sie
es angeordnet hat. Es kommt aber aus der
00:27:22.111 --> 00:27:24.111
Luft.
Jens: Es ist eine Luft-Wasser-Wärmepumpe.
00:27:24.111 --> 00:27:28.680
Das heißt, die Wärmepumpe zieht die die
Wärme aus der Luft raus. Auf der einen
00:27:28.680 --> 00:27:32.460
Seite saugt sie die Luft an, auf der
anderen Seite pumpt sie die kalte,
00:27:32.460 --> 00:27:37.929
abgekühlte Luft wieder raus. Ja, natürlich
könnte man die Effizienz steigern, indem
00:27:37.929 --> 00:27:43.480
man auf eine eine andere Art von
Wärmepumpe, wie zum Beispiel mit einer
00:27:43.480 --> 00:27:49.160
Tiefbohrung die Energie aus dem aus dem
Boden holen. Das würde wahrscheinlich die
00:27:49.160 --> 00:27:54.420
Effizienz und vor allen Dingen den
Effizienz-Verlust bei tiefen Temperaturen,
00:27:54.420 --> 00:27:57.680
der wäre dann längst nicht so stark.
Herald: Ich kann mir auch vorstellen, dass
00:27:57.680 --> 00:28:02.340
der Boden ja auch einen guten Puffer oder
guten Zeitpuffer bietet. Besser als die
00:28:02.340 --> 00:28:04.760
Luft.
Jens: Ja, und es gibt auch, es gibt
00:28:04.760 --> 00:28:10.400
inzwischen Wärmepumpen, wo man sich einen
großen Wassertank in in, in den Boden
00:28:10.400 --> 00:28:15.190
einlässt und über den Winter macht man das
zu Eis und im Sommer lässt man es langsam
00:28:15.190 --> 00:28:18.740
schmelzen.
Herald: Auch sehr interessant. Es gab
00:28:18.740 --> 00:28:23.740
sogar noch Feedback über den IRC, dass der
Talk sehr informativ war und es wird dir
00:28:23.740 --> 00:28:26.340
gedankt.
Jens: Vielen Dank.
00:28:26.340 --> 00:28:29.310
Herald: Gut, wenn sonst jetzt noch nichts
mehr hier eintrudelt... Ah, doch noch was.
00:28:29.310 --> 00:28:33.690
Und zwar ob es die Leser am Stromzähler
auch mit WiFi und Akku gibt, dass sie
00:28:33.690 --> 00:28:37.920
nicht über eben diese Vier-Draht_Leitungen
angeschlossen werden müssen.
00:28:37.920 --> 00:28:43.510
Jens: Die die am Stromzähler oder die am..
Herald: die Leser am Stromzähler, ja
00:28:43.510 --> 00:28:46.920
genau.
Jens: Am Stromzähler habe ich noch keine
00:28:46.920 --> 00:28:53.490
gesehen. Das frage ich mich auch. Warum?
Wir machen überall Smart Home, machen alle
00:28:53.490 --> 00:28:59.910
Lichtschalter per WLAN, aber ein Zähler,
der auf den Zähler aufgesteckt wird und
00:28:59.910 --> 00:29:03.050
dann per WLAN einfach so überträgt, habe
ich noch nirgendwo gefunden.
00:29:03.050 --> 00:29:08.440
Herald: Das wäre ja mal ein spannendes
Bastelprojekt für die Community, ein WLAN-
00:29:08.440 --> 00:29:17.060
und Akku- Infrarotlesegerät für den
Stromzähler. Es kommt noch eine Frage.
00:29:17.060 --> 00:29:22.510
Noch mal die gleiche Geschichte: Ein nettes
kleines Modell mit gekoppelten
00:29:22.510 --> 00:29:26.870
Wärmespeicher als Differentialgleichung
hätte sehr viel weniger Parameter und die
00:29:26.870 --> 00:29:29.790
Daten müssten nicht erst gemittelt werden.
Ich glaube, du hast eine Hausaufgabe
00:29:29.790 --> 00:29:36.200
bekommen. Gut, mal schauen. Dann sehen wir
vielleicht nächstes Jahr mit einem
00:29:36.200 --> 00:29:39.200
kleineren Modell.
Jens: Mal gucken. Wenn ich wenn ich das in
00:29:39.200 --> 00:29:41.420
einem Jahr hinkriege, dann melde ich mich
für nächstes Jahr.
00:29:41.420 --> 00:29:45.740
Herald: Gut. Genau dann würde ich sagen:
Vielen Dank an alle Zuschauer*innen da
00:29:45.740 --> 00:29:50.910
draußen. Ich hoffe es hat euch gefallen.
Auch nochmal vielen Dank an Jens und ich
00:29:50.910 --> 00:29:54.540
würde dir noch das letzte Wort lassen und
dann sind wir soweit fertig.
00:29:54.540 --> 00:29:59.130
Jens: Ja, vielen Dank euch auch fürs
Organisieren. Und dann bis demnächst.
00:29:59.130 --> 00:30:02.760
Tschüss!
00:30:02.760 --> 00:30:08.040
RC3-Abspann-Musik
00:30:08.040 --> 00:30:13.669
Untertitel erstellt von c3subtitles.de
im Jahr 2022. Mach mit und hilf uns!