Eines unserer vielen noch nicht ganz fertigen Projekte ist die Sauna. Hier fehlen eigentlich nur noch die Rückenlehnen und die Lautsprecherboxen. Diese habe ich schon vor zwei, drei Monaten gebastelt.
Nadelholz ist eigentlich etwas zu weich für Lautsprecher. Aber da hier nur kleine Breitbänder für Entspannungsmusik rein kommen ist das total egal.
Damit die Lautsprecher bündig an die Wand montiert werden können müssen die Terminals eingelassen und ein Kabelkanal gebastelt werden.
Dann kommen Lautsprecher und Terminal montiert und angelötet.
Ups…ich hab noch gar keine Fotos vom Ergebnis. Danach habe ich alle Überstände abgetragen. Fleißig geschliffen und die Kanten oben und unten abgerundet. Fotos liefere ich nach…versprochen…
Die Terrasse ist jetzt offiziell fertig. 🙂 Es fehlten noch ein paar Abschlüsse an der Garage und neben dem Hochbeet und die Bank auf dem Hochbeet. Das habe ich jetzt alles mal nachgeholt. Der Tisch kann damit näher an das Hochbeet rücken und gibt vom Essbereich im Haus jetzt mehr Blick auf den Teich frei.
Für die Bank habe ich erst einen Rahmen aus Saunaholz Resten gebaut.
Dann mal probeweise die Terrassendielen aufgelegt. Mhh…sieht ganz schön wuchtig aus…mal Probe sitzen…zum sitzen reichen zwei…mhhh…also Rahmen nochmal gekürzt und auf drei Dielen reduziert.
Für den Rahmen habe ich ein paar Bohrlöcher in den Gneis geschnitten. Hier kam die kleine 18V Bosch zwar noch nicht an ihre Grenzen, aber sie hatte schon gut zu tun. Ich konnte auch immer nur ca. 3-5 mm Bohren, dann Bohrer raus, Wasser rein, Bohrer kühlen und weiter. Beim letzten Loch hatte ich es dann zu eilig und wollte den letzten cm am Stück Bohren…zack Bohrer abgebrochen…Feierabend und zwei Tage Pause. Mit dem nagelneuen Bosch Bohrer ging es dann gleich auch viel einfacher, als mit meinem ollen 12mm Bohrer.
In die Bohrlöcher dann Dübel. In die Dübel Stockschrauben. Auf die Dübel eine Mutter, dann Unterlegscheibe, dann Unterkonstruktion und darüber wieder Unterlegscheiben und hier selbst sicherende Mutter. Damit konnte ich die Bank dann auch recht einfach exakt in Waage ausrichten. Die Mutter oben müssen in den Balken versenkt werden. Dafür einfach mit einem Forstnerbohrer ausreichend große Löcher machen, so dass Mutter und eine Nuss zum Reindrehen gut passen.
Dann kommen auch schnell die ersten Dielen abgelängt und montiert. Immer alles schön mit den Abstandhaltern, damit sich kein Wasser sammeln kann, was nicht trocknet.
Und fertig und frisch gewaschen sah es dann so aus:
Und bei der Gelegenheit die gesamte Terrasse frei geräumt und mit dem Hochdruckreiniger und dem Schrubber geschrubbt. Am nächsten trockenen und milden Tag steht dann Ölen an.
Wir haben eine App für die Wärmepumpe. Hier kann ich die aktuelle Temperatur im Warmwasserspeicher ansehen und ein paar Dinge einstellen. Die Wärmepumpe Ein- und Ausschalten, etc.
Dann haben wir eine zweite App für die PV Anlage. Aktueller Ertrag, Stromverbrauch, Netzbezug und Einspeisung. Finde ich alles hier.
Eine weitere App für das SmartHome von myHomeControl. Hier kann ich alle Temperatur-/Co2-/Feuchtesensoren, etc. abrufen und diverse Dinge am Haus steuern. Hier kann ich auch den Stromzähler für die Wärmepumpe und z.B. den Außenstrom ablesen und noch viele andere Dinge tun.
Was mich massiv gestört hat ist, dass viele Daten die mich regelmässig interessieren aus zig verschiedenen Anwendungen abgeholt werden müssen und es fehlten ein paar übersichtliche Graphen/Visualisierungen, die mir bestimmte Daten zusammenfassen.
Weiterhin fehlten mir generell ein paar Daten, die mich interessieren. Z.B. Heizungsvor- und Rücklauf kann ich nur an der Heizung selber oder am Wärmemengenmesser ablesen. Dafür muss ich aber in den Keller…und dahin gehe ich eigentlich nur zum Lachen…ok oder Wäsche waschen…
Achtung…jetzt wird es etwas technisch und mir ist klar, dass viele hier nur noch Bahnhof verstehen. Die springen einfach zum Schluss des Beitrags und schauen sich das Ergebnis an.
Also musste etwas eigenes her. Für die fehlenden Temperaturdaten habe ich mir ein paar OneWire DS18b20 Sensoren gekauft und mir eine Mini Applikation in einem embedded Jetty (googlen, wen es interessiert) geschrieben, welche diese Daten als REST Schnittstelle bereit stellt. Sourcecode dazu hier: https://github.com/thomasbecker/tempsensorserver.
MyHomeControl bietet eine nicht mehr ganz so moderne soap Schnittstelle. Dafür habe ich mir einen Java Client generiert und darauf basierend eine Scala Library geschrieben, welche alle für mich interessanten Daten möglichst performant und parallel aus dieser Schnittstelle ausliest und in für mich brauchbarer Form zur Verfügung stellt.
Der Wechselrichter der Photovoltaik von Fronius bietet eine modernere REST Schnittstelle an. Auch hierfür habe ich mir einen Scala Client geschrieben der die Daten ausliest in meine Objekte marshalled und mir zur Verfügung stellt.
Diese liest alle für mich relevanten Daten alle 10 Sekunden aus und schreibt sie in eine Cassandra Datenbank. Weiterhin stellt die Applikation verschiedene REST Schnittstellen zum Abruf der Daten zur Verfügung.
Jetzt habe ich also alle Daten in 10 Sekunden Intervallen zentral in einer Datenbank liegen. Das ganze läuft auf einem einzelnen MiniPC mit sehr geringem Energieverbrauch im Keller in Form von verschiedenen Microservices in Docker Containern.
Jetzt, wo ich alle Daten zentral habe und Abrufen kann fehlt noch ein Frontend darauf. Das ist eine Ionic 4 App. Ionic ist ein sehr nettes Framework basierend auf Angular/Typescript, welche sowohl als Webapplikation im Browser, als auch nativ auf iOS oder Android läuft.
Hier habe ich also verschiedenste Daten visualisiert. Oben sind immer die momentanen Daten zu sehen, welche einmal pro Sekunde aktualisiert werden (d.h. diese Graphen sind animiert). Darunter ist ein Graph mit den historischen Daten der letzten 4h. Die Historie kommt aus der Cassandra Datenbank. Wir erinnern uns, alle 10 Sekunden landet ein Datensatz in der Datenbank. Nachdem die Historie geladen wurde wird auch der Graph unabhängig von der Datenbank einmal pro Sekunde mit neuen Werten ergänzt. Über die Buttons zwischen den Graphen kann man den Zeitraum variieren. Von 2h bis zu einem Jahr aktuell. Mehr brauche ich momentan nicht. Da bereits ab wenigen Stunden die Datenmenge schon recht groß wird errechnet das Backend hier ein “moving average” und reduziert die Gesamtanzahl der Datensätze auf aktuell exakt 750. D.h. konkret: Für 8h sind 2.880 Datensätze in der Datenbank (6 * 60 * 8). Bei einem 8h Graph benötige ich eine solche Präzision jedoch nicht. Also mache ich daraus 750 Datensätze mit den Durchschnittswerten des jeweiligen Zeitraums. Das reicht völlig für den Graphen und das ist in ca. 150ms beim Client. Das gleiche auch für eine Woche, einen Monat oder ein Jahr, etc..
Genug der Theorie. So sieht das ganze dann auf dem IPad aus:
Das ganze ist nicht nur interessant. Man kann damit tatsächlich auch was anfangen. So kann ich z.B. genau sehen, wieviel Temperatur das Haus über Nacht verliert, wenn ich nachts eine niedrigere Heizkurve fahre als tagsüber. Bzw. In der Übergangszeit schalte ich die Wärmepumpe nachts komplett aus. Um möglichst viel PV Strom für die Wärmepumpe zu nutzen. Ebenso kann man sehr gut sehen, wie sich Wäsche aufhängen, Duschen, Baden, etc. auf die Luftfeuchtigkeit mit dem Entalpietauscher auswirkt. Und ich konnte die Nutzung der PV Anlage für die Wärmepumpe fast ohne Komfortverlust weiter optimieren. Komplett ausgeschaltet bei 5 Grad Außentemperatur verlieren wir nichtmal ein Grad, wenn ich die WP Abends um 20:30 Uhr komplett ausschalte und morgens um 10 Uhr wieder einschalte. Womit wir beim nächsten Thema wären. Ich wollte wissen, wieviel vom Wärmepumpenstrom wir über die PV abdecken. Fakt ist ja, dass wir im Winter am meisten Strom für die Wärmepumpe verbrauchen. Aber auch, dass im Winter bei kurzen Tagen und tiefstehender Sonne nur wenig PV Erträge vorhanden sind (wer hat sich das eigentlich so ausgedacht?). Trotzdem habe ich mal geschätzt, dass wir mit der 10 kWp PV auf dem Dach und meinen Optimierungen gut 30-40% abdecken können sollten.
Aber glauben ist nicht wissen und ein paar Bekannte haben das für viel zu optimistisch gehalten. Also mussten auch dafür Graphen her. Immer wenn ein Datensatz zum Stromverbrauch im Haus rein kommt, landet dieser in einer weiteren Tabelle in er Cassandra und zwar mit folgenden Daten: Stromverbrauch Wärmepumpe, Photovoltaik Ertrag und Abdeckung der Wärmepumpe durch PV Strom. Für diese Berechnung ignoriere ich stumpf alle anderen Stromverbrauche im Haus und tue so als gäbe es nur die Wärmepumpe. Der erste Versuch war die Daten in der Datenbank zu aggregieren. D.h. wenn ich die Daten für einen Monat abrufe dann sind das ein paar hundert Tausend Einträge auf die es ein paar Durchschnittswerte gruppiert nach Monat zu berechnen galt. Mir war klar, dass das nicht besonders performant und auch nicht die finale Lösung wird. Mich hat aber auch interessiert, was die Cassandra auf dem mäßig potenten MiniPC zu leisten vermag. Ich war erstaunt, dass die Daten dennoch in 2-5 Sekunden zur Verfügung standen. Aber spätestens bei der Übersicht für ein Jahr wurde es dann deutlich zu langsam. Also habe ich das aggregieren vom Lesen auf das Schreiben verlegt. Ich pflege jetzt mehrere Tabellen. Eine Stundenbasierte mit allen Daten. Die Daten in dieser Tabelle haben eine TimeToLive von 2h. D.h. nach 2h wird ein Datensatz wieder gelöscht. Eine weitere Tabelle mit den Durschnittswerten für jede Stunde des Tages. Eine weitere für jeden Tag des Monats. Eine weitere für jeden Monat des Jahres und eine letzte für die Jahre die da kommen.
Immer wenn ein neuer Datensatz rein kommt landet er in der Stundentabelle. Gleichzeitig hole ich mir alle Datensätze für die aktuelle Stunde (max. 360) und berechne den Durchschnitt der aktuellen Stunde neu. Diesen trage ich in die Tagestabelle als Durchschnitt für die aktuelle Stunde ein. Dann hole ich mir alle Durchschnittswerte für jede Stunde des aktuellen Tages (max. 24) und berechne den Tagesschnitt neu und trage das Ergebnis in die Monatstabelle ein, usw.. Das Schreiben dauert so etwas länger. Aber immer noch deutlich unter 50ms. Und mich interessiert auch nicht, wie lange das Schreiben dauert. Solange es schnell genug ist, dass alle Daten problemlos weg geschrieben werden können.
Für die Monatsansicht eines Jahres muss ich so also nur 12 Datensätze aus der richtigen Tabelle lesen. Anstatt mehrerer Millionen Datensätze zu aggregieren. Der gesamte Graph läd so im Client in 30-40ms. D.h. man klickt und ohne spürbare Verzögerung wird der Graph angezeigt.
Sabbel nich…wie sieht das Ergebnis aus? So:
Als erstes mal der Januar. Hier sieht man deutlich, dass relativ viel verbraucht wird und relativ wenig von der PV (grün) abgedeckt werden kann. Kalt, kurze Tage, tief stehende Sonne sind eine doofe Kombination.
Zum Vergleich der März. Hier kann ich überwiegend mit PV Strom heizen und Warmwasser bereiten. Der Gesamtverbrauch sinkt. Die PV Abdeckung steigt bereits sehr stark. Das wird jetzt noch verstärkt, weil wir seit ein paar Tagen die Wärmepumpe nur noch für Warmwasser laufen haben und nicht mehr heizen müssen. Und jeder Tag wird länger und die PV Erträge werden bis in den Sommer noch sehr stark ansteigen.
Hier dann die Jahresansicht für 2019. Man sieht deutlich, wie schlecht die Abdeckung im Januar ist (ca. 20%) und im März sind wir bei 65%.
Hier die “All time” Ansicht. Ich habe Daten im aktuellen Format nur für 2019. Im Dezember sind es nur Daten von zwei, drei Tagen. Man sieht aber, dass wir in 2019 jetzt schon mit großen Schritten auf die 40% Abdeckung zugehen. Ab April bis September/Oktober werden wir wohl auf 80-90% Abdeckung kommen, da wir nur noch Warmwasser machen müssen und die PV Erträge deutlich höher und länger über den Tag verteilt sein werden.
Also wieviel Wärmepumpenstrom kann denn jetzt von der PV über das Jahr verteilt abgedeckt werden? Keine Ahnung…fragt mich am 31.12.2019 um 23:59 Uhr nochmal. Dann weiß ich mehr. Aber ich korrigiere mein vorherigen Schätzungen mal auf deutlich über 40%.
D.h. unsere sowieso schon niedrigen Heizkosten von ca. 400-500€ / Jahr werden zu mindestens 40% … vermutlich noch etwas mehr von der PV getragen. Ergo tatsächlich zahlen wir wohl unter 300€ für Heizung- und Warmwasser für ca. 250qm beheizte Wohnfläche. In der 74qm Wohnung lagen wir deutlich über 600€.
Man kann also sagen, dass unser Heizkonzept ganz gut aufgeht und sich die Investition in gute Dämmung und vor allem die PV sehr schnell bezahlt machen wird. Die Mehrkosten von KFW55 (Standard bei Weberhaus) zu KFW40 wurden bei uns vom Tilgungszuschuss der KFW Bank übertroffen und die PV hat sich in ca. 3-4 Jahren (dann ist sie 6 bzw. 7 Jahre alt) bereits selbst bezahlt, wenn es so weiter geht. Das einzige, was mich ärgert ist, dass ich das Dach nicht gleich mit PV voll gemacht habe. Dann wären nämlich 20-25 kWp aufs Dach gegangen. Der Preis pro kWp wäre gesunken, die Abdeckung des Wärmepumpenstrom bei schlechtem Wetter/Winter wäre deutlich höher und auch diese Mehrinvestition hätte sich innerhalb von 6-8 Jahren selbst bezahlt. Aber dazu vielleicht später mal mehr.
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Dauer
Beschreibung
cookielawinfo-checbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.