Poolbeleuchtung, neuer Versuch

Wasser und Elektronik vertragen sich grundsätzlich nicht. Ich erinnere an dieser Stelle an das letzte Bild aus dem Artikel Poolbeleuchtung:

etwa zwei Jahre leicht undicht unter Wasser...

Das Gehäuse kann noch so wasserdicht entworfen sein, aber wenn sich ein Bauteil jahrelang unter Wasser befindet ist es nur eine Frage der Zeit, bis Feuchtigkeit eindringt. Und nachdem mir inzwischen schon die zweite dieser Lampen „abgesoffen“ war, musste eine andere Lösung her. Der woh sicherste Ansatz ist, da schlichtweg keine Luft zu haben wo Wasser eindringen kann, sondern alles mit Elektronikharz zu vergießen.

Beim Versuch, eine neue dieser Lampen zu bestellen (PAR56 RGB 4P) stieß ich aber auf ein komplett neues Modell – eine bereits von Haus aus komplett mit Harz vergossene Lampe (AliExpress, $63,26 – Variante „RGB no remote, 42W“). Perfekt. 🙂

Neue Pool-Lampe - komplett mit Harz vergossen Neue Pool-Lampe - komplett mit Harz vergossen

Die Lampe kann mit den mitgelieferten Plastikklammern und etwas Kreativität/Rätselraten in die vorhandene Lampenhalterung eingebaut werden (ist ja angeblich auch PAR56-Kompatibel, wobei ich zwischendurch kurz davor war, das mit Silikon irgendwie da rein zu kleben…)

Allerdings ergibt sich hier eine neue Herausforderung: eine absolut wasserdichte elektrische Verbindung – schließlich ist das Anschlusskabel auch fix in der Lampe vergossen, und ich trau(t)e mich nicht, das vorhandene Anschlusskabel aus der Einbaunische herauszuziehen und dann dieses durchzuziehen (ich bin mit nicht sicher ob ich die Kabelverschraubung in der Wandnische da wieder dicht bekomme).
Die Lösung hier ist: löten, dann die einzelnen Adern mit Schrumpfschlauch isolieren, anschließend die gesamte Leitung mit Schrumpfschlauch versiegeln, und sicherheitshalber die beiden Enden nochmal zusätzlich versiegeln. Am besten geeignet hierfür ist Schrumpfschlauch mit innenliegendem Kleber (z.B. AliExpress), am besten noch mit einem hohen Schrumpfverhältnis von 4:1 (die Anschlussleitung der Lampe ist bei mir wesentlich dünner als die vorhandene Elektroleitung in die Einbaunische). Das Ganze sah dann so aus:

fertige Verbindung mit 3x Schrumpfschlauch Detailaufnahme der zusätzlichen Versiegelung am Rand

Wichtig ist beim Schrumpfen, dass der Kleber komplett und gleichmäßig schmilzt – ich habe das mit einem Entlöt-Heißluftföhn gemacht.

Die letzte Baustelle ist nun, auch den RGB-Controller wasserdicht zu verpacken – der sah nach dem Winter nämlich so aus:

Hierfür werde ich voraussichtlich Elektronik-Harz kaufen und das Ding damit füllen.

Pool-Dosieranlage im Eigenbau

Leider hatten wir auch dieses Jahr immer wieder Probleme mit der Qualität des Pool-Wassers. Zwar war die Nutzung aufgrund der Kinder (und ihrer ganzen Freunde) sicher sehr hoch, aber dass das Wasser trotz sorgfältiger Prüfung und Dosierung alle paar Wochen fast oder ganz kippte war extrem nervig. Im folgenden Beitrag möchte ich daher meine Erfahrungen teilen…

Wer falsch misst, misst Mist.

Meine erste Vermutung war, dass ich vielleicht beim Messen von pH- und Chlorwert irgendetwas falsch mache – schließlich hatte ich die bislang immer mit einem einfachen Schütteltester abgelesen. Also habe ich gleich zum Saisonstart rund 100,- € in einen „Scuba II“ investiert – ein photoelektronischer Wassertester. Vereinfacht gesagt kümmert sich da ein Photosensor darum, das Ergebnis einer Färbetablette zuverlässig abzulesen (man brauch also weiterhin Testtabletten). Außerdem kann man damit u.a. auch den wichtigen Cyanursäurewert bestimmen.

Cyanursäure verlangsamt den Abbau von aktivem (freiem) Chlor im Schwimmwasser, und ist in allen „normalen“ (organischen) Chlorprodukten vorhanden. Cyanursäure kann nur durch (teilweisen) Wassertausch reduziert werden – Rückspülen ist also sehr wichtig. Zu viel Cyanursäure im Wasser führt dazu, dass das Chlor nicht mehr wirkt, egal wie viel davon im Pool ist.

Die Cyanursäure-Konzentration sollte idealerweise bei 5-10mg/l liegen, der Chlorverbrauch steigt überproportional mit der Konzentration, ab 50mg/l nimmt die Chlorwirkung dramatisch ab. Bei mir lag der Wert zum Saisonbeginn bei 88mg/l. 🙁 Erste Amtshandlung war dann also gleich mal ein vollständiger Wasserwechsel. Zudem beschlossen wir, auf anorganisches Chlor umzusteigen – das enthält nämlich keine Stabilisatoren, muss deshalb aber in wesentlich kürzeren Intervallen zugegeben werden.

Anorganisches Chlor ist nicht in Baumärkten etc. zu erhalten, man muss es bestellen und bekommt es dann als Gefahrguttransport zugestellt.

Anfangs lief es mit dem neuen Chlor ganz gut – die Wasserqualität war prima, ich habe mit dem Scuba täglich alle relevanten Werte überprüft, aber wir mussten 2-3x pro Tag das Chlor nachdosieren. Das ist auch nichts, womit man die Nachbarn belästigen möchte – also sah der Pool nach dem Pfingsturlaub wieder so aus:

Grün wie die Hoffnung...

Spätestens da war klar, dass das irgendwie automatisiert werden muss. Das Prinzip ist total einfach: statt Granulat werden flüssige Stoffe verwendet, die Wasserwerte werden elektronisch gemessen und automatisch per Dosierpumpe entsprechend angepasst. Dafür gibt’s selbstverständlich fertige Lösungen, leider beginnen die nur alle im oberen dreistelligen Bereich.

Eigenbau Dosieranlage

Angeregt von der sehr ausführlichen Beschreibung in einem anderen Baublog habe ich also auch eine eigene Lösung entwickelt. Mein ausdrückliches Ziel war, die Kosten so gering wie möglich zu halten, die Messung und Dosierung dennoch so ordentlich und sicher wie möglich zu machen.

Die Meßstrecke

Für die Messung von pH und (indirekt) Chlor benötigt man eine separate Meßstrecke, da das Wasser im Hauptkreis zu schnell fließt. Hierfür kann man fertige Meßzellen kaufen (~ 60 €), oder selber was basten. Bei meinem absoluten PVC-Lieblingshändler habe ich dafür u.a. 20cm transparentes PVC-Rohr (63mm) besorgt, links und rechts mit passenden Reduziermuffen (63x20mm) verschlossen und auf der Oberseite PVC-Abzweige (63mm x 1/2″) mit Klebesattel aufgebracht. Einen einfachen Durchflussmesser (Flowmeter) hatte ich für eine Hand voll Dollar bei AliExpress gekauft. Belohnt wird man dann mit einem gemütlichen Puzzle-/Bastel-Nachmittag. Man darf die Menge der unterschiedlichsten Fittinge aber nicht unterschätzen, es lohnt sich das vorab genauestens zu planen. Ich habe in „nur“ vier verschiedenen Online-Shops bestellen müssen, um alle Teile zu bekommen…

Planung Bau der Meßstrecke

Die Dosierstrecke

Chlor und pH-Senker werden (flüssig) über sogenannte „Impfventile“ in den Wasserkreis eingebracht. Da beide Chemikalien ziemlich agressiv sind, kommen als Pumpen nur sogenannte „Peristaltikpumpen“ zum Einsatz – da drücken Walzen sozusagen die Flüssigkeit durch einen Schlauch, ohne direkt mit diesen in Berührung zu kommen. Es gibt „normale“ Peristaltikpumpen (meist mit 230V-Anschluss), die kosten rund 100 € pro Stück. Alternativ gibt es aber auch kleine Pumpen bei AliExpress, die einen Bruchteil kosten und nach dem selben Prinzip arbeiten. Weiterer Vorteil: die arbeiten bereits mit 5V, man kann sich also die 230V-Steuerung sparen und die Pumpen mittels MOSFET direkt vom Microcontroller aus ansteuern. Schwierig war nur, Pumpen mit dem „richtigen“ Schlauch zu finden – die meisten sind mit Silikonschlauch (der meines Wissens nicht lange genug Chlorbeständig ist). Ich habe mich für ein Modell mit BPT-Schlauch entschieden. Die Nennspannung beträgt 12V (für eine Leistung von 40ml/min), aber die Pumpen laufen auch zuverlässig mit 5V – dann natürlich entsprechend langsamer (ca. 12ml/min). Zudem waren noch passende Reduzierstücke zum Anschluss des PVC-Schlauchs an die Pumpe nötig (auch AliExpress, 2.4×3.9mm). Eine sogenannte „Sauglanze“ (damit der Saugschlauch immer schön untem im Kanister bleibt) habe ich ebenfalls ganz primitiv selber gebaut (6mm PVC-Rohr, in dem der Saugschlauch drin steckt – mit Heißkleber darin fixiert, mit Kabelverschraubung durch Kanisterdeckel geführt und dort fixiert).

Die Messung

Der vermutlich schwierigste Teil des Projektes war (und ist) die Messung der relevanten Werte. Das Prinzip ist eigentlich ganz einfach:

  • Eine pH-Sonde misst den pH-Wert. Solche Sonden gibt es bei AliExpress oder eBay für 15-20 €. Der pH-Wert wird mittels Verstärkerschaltung als eine Spannung ausgegeben. Man benötigt eine Zwei-Punkt-Kalibrierung, um den Spannungsbereich zu ermitteln, und muss diese unter Umständen alle paar Wochen wiederholen, da sich die Sonde im Betrieb sozusagen „abnutzt“.
  • Der Chlor-Wert lässt sich nicht direkt ermitteln, statt dessen misst man das Redox-Potenzial mittels Redox- bzw. ORP-Sonde. Auch diese gibt’s für rund 25 € bei AliExpress. Das Redox-Potenzial ist (nach meinem Verständnis) direkt proportional zum Anteil des freien Chlors im Pool, hierüber steuert man also verbrauchsorientiert die Chlor-Zugabe. Auch die ORP-Sonde liefert eine Spannung zurück, hier genügt aber eine Ein-Punkt-Kalibierung.

Die pH-Sonden haben mich schon fast in den Wahnsinn getrieben. Alle Beschreibungen im Internet reden davon, dass die zugehörige Verstärkerplatine einen Messwert von -2,5V bis +2,5V zurückliefert, und man den Ausgabebereich mittels Poti auf +0V bis +5V verstellen soll. Meine Platinen haben am pH7-Punkt („Kurzschluss“ in BNC-Buchse) aber trotzdem immer mindestens +2,5V ausgegeben, da ließ sich nix dran ändern. Ich vermute, dass es sich hier einfach um eine neuere Version handelt, die grundsätzlich nur positive Messwerte liefert. Aber im Prinzip ist das auch völlig egal – wichtig ist zu wissen, welche Spannungen die Sonde bei zwei definierten pH-Werten liefert, daraus leitet man sich dann eine Umrechnungsfunktion ab. Neben den Sonden benötigt man also auch entsprechende Pufferlösungen (Pulverchen, die in destilliertem Wasser angerührt werden). Details hierzu finden sich in vielen anderen Blog und Beiträgen.

pH-Sonde Anrühren der Pufferlösungen Messung/Kalibrierung pH-Sonde

Wie auch im Blog von Alexey sehr gut beschrieben, ist die Messung eine hochsensible Angelegenheit. Man kann nicht beide Sonden gleichzeitig an der selben Spannungsquelle betreiben, weil dann die Ströme „quer“ fließen. Zudem sind wir hier im Bereich von wenigen Millivolt unterwegs, sobald sich das Wasser bewegt kann es zu völlig irrem Meßverhalten kommen. Meine Lösung hierfür (bis auf weiteres): mittels Relais schalte ich immer nur eine der beiden Sonden aktiv, zudem „erde“ ich die BNC-Buchse der Meßverstärker mit im Wasser (d.h. eine winzige Kupferlitze ist außen neben der Meßsonde mit im Wasser drin).

Die Schaltung

Aktuell Baustelle, aber etwa drei Monate lang erfolgreich und problemlos im Probebetrieb:

Prototyp Steuerung Prototyp im Testbetrieb

Herzstück ist ein ESP8266, der per MQTT die Meßdaten an meine SmartHome-Zentrale sendet sowie per MOSFETs die Pumpen ansteuert. Zum exakten Auslesen der Millivolt-Spannungen verwende ich einen ADS1115 (4-Kanal 16Bit A/D-Wandler mit I²C). Ein Levelshifter (3,3<->5V) trennt den Sensorik/Relais-Teil (5V Betriebsspannung) vom Display/ESP (3,3V). Ein kleines Display zeigt die jeweils letzten Messwerte an, sowie die Summe der in den letzten 24 Stunden zugeführten Chlor-/pH-Minus-Mengen. Ein in den Hauptkreis integrierter elektronischer Durchflussmesser (1 1/4″) ist auch noch angeschlossen, schließlich darf nur gemessen und nachdosiert werden, wenn die Pumpe läuft und das Wasser in Bewegung ist.

Wenn nachdosiert werden muss, wird jede Pumpe maximal 60 Sekunden lang eingeschalten (entspricht ca. 12ml). Eine Logik verhindert, dass mehr als 200ml/Tag zugeführt werden (bei starker Pool-Nutzung ist das aber durchaus normal).

WICHTIG: immer (!!!) mit Schutzbrille arbeiten, wenn man an den Pumpen herumhantiert!!! Auch wenn ein Tropfen Chlorlauge auf der Haut nicht gleich zu bösen Verletzungen führt, bei der Hornhaut im Auge sieht das ganz anders aus!!! Ich habe ein paar Jahre lang in einer Augenklinik gearbeitet, das hinterlässt Eindrücke…

Per Grafana habe ich die Meßwerte sowie die Dosierung visualisiert. Mit dem Scuba II habe ich zudem alle paar Tage die gemessenen Werte manuell überprüft. Die Abweichung war minimal, es war über einen Zeitraum von rund 10 Wochen (bis zur Ende der Poolsaison) keine Rekalibrierung der pH-Sonde erforderlich.

Visualisierung Messwerte Zugabe Chlor/pH-Minus

Wie geht’s weiter?

Ich betrachte die aktuelle Schaltung und Software noch als „Proof of Concept“. Die Schaltung soll an einigen Stellen noch optimiert werden, da die Meßwerte im einzelnen noch etwas instabil sind (die Mittelwerte sind ok). Wenn das alles passt, wandert alles auf eine ordentliche Platine. Jetzt ist der Pool aber erstmal in Winterpause, ich denke da geht’s also erst im Mai/Juni 2023 weiter.

Und, war das Wasser nun besser?

Ja, aber nicht (alleine) deshalb. 😀 Der Pool ist zwar nicht mehr ganz gekippt und die Messwerte waren durchweg gut, aber trotzdem hatte das Wasser relativ schnell wieder eine nur sehr schwer zu bekämpfende Trübung.

Die vermutete Ursache ist lächerlich banal: eine Unterdimensionierung der Rückspülung.

Im ersten Jahr (als die Pumpe einfach im Freien stand) hatte ich immer mit einem 38mm-Schwimmbadschlauch rückgespült. Mit dem Einbau in die Garage habe ich das gut gemeint an ein DN25 PE-Rohr angeschlossen (zwangsläufig mit einigen 90°-Bögen etc.). Ich gehe davon aus, dass für eine ordentliche Rückspülung nicht mehr genügend Durchfluss möglich war, und der Filtersand somit nie ausreichend gereinigt wurde. Um diesen Verdacht zu bestätigen hatte ich Ende August den Filtersand nochmal komplett ersetzt und ab dann wieder mit 38mm-Schlauch rückgespült.

Was soll man sagen – ab diesem Zeitpunkt war das Wasser immer kristallklar.

Vielleicht hätte es also auch genügt, einfach nur wieder auf eine richtige Rückspülung zu achten, und dann mit Baumarkt-Quattro-Tabs weiter zu machen. Aber nun habe ich eine nahezu vollständige Überwachung und Automatisierung der Wasserqualität, was auch ganz gut ist. Und ich habe unglaublich viel gelernt. 😀

Dachbegrünung

Den Garagenbau konnte ich dieses Jahr auch noch erfolgreich abschließen. Im Sommer habe ich die Traufkante befestigt. Anschließend konnte ich die EPDM-Folie final verlegen, und darauf wiederum die Kiesfangleiste aufkleben (davon hatte ich leider keine Bilder gemacht – die Kiesfangleiste ist schlichtweg mit EPDM-Kleber von Soudal auf der Folie festgeklebt, als „Gegenstück“ dienten EPDM-Schnittreste. Außerdem ist die EPDM-Folie mit dem selben Kleber auch an der Traufleiste verklebt und bündig mit dieser abgeschnitten).

Befestigung der Alu-Traufkante

Im späten Herbst folgte schließlich noch die Dachbegrünung. Das Dach hat kein Gefälle („0-Grad-Dach“), daher sieht der Aufbau wie folgt aus:

Vereinfacht gesagt: auf dem Betondach dient die EPDM-Folie der Abdichtung. Darauf liegt eine 20mm-Noppendrainbahn, um überschüssiges Wasser aus der Substratschicht abzuführen. Trotz mangelndem Gefälle bleibt das Wasser auf dem Dach ja niemals „hoch“ stehen (höchstens mal 2-3mm, je nachdem wie eben die Folie liegt), sondern fließt dann über die Regenrinne ab. Insgesamt also eine recht simple Konstruktion, und für ein Betondach völlig ausreichend. Das Vlies über und unter der EPDM-Folie dient dem Schutz ebendieser.

Die Noppendrainbahn ist ähnlich wie eine Mauerschutznoppenbahn – mit zwei wichtigen Unterschieden: an der „glatten“ Seite ist ein Filtervlies aufgeklebt (kaschiert), zudem sind zwischen den ganzen Noppen viele Löcher, welche überstehendes Wasser durchlassen. Unverschämt ist lediglich der Preisunterschied zu normalen Mauerschutzbahnen – die Drainbahnen werden vermutlich in irgendeinem Produktionsschritt noch vergoldet. Anders kann ich mir das nicht erklären, dass sich der Preis alleine durch die Perforation vervielfacht!

Letztendlich habe ich mich für die Bahnen von Goods for People entschieden. Das Preis-Leistungs-Verhältnis passte, die Lieferung war schnell und reibungslos. Unter die Noppenbahn legte ich noch ein 200g/m² Vlies zum Schutz der EPDM-Folie. Die Noppenbahn habe ich überlappend auf dem Dach verteilt:

Schutzvlies und Noppendrainbahn verlegen

Per Laster wurden dann etwa 4 Kubikmeter Substrat für die extensive Dachbegrünung angeliefert. In meinem Fall besteht das aus recycletem Ton und etwas Humus, es gibt aber auch Varianten auf Basis von Vulkansubstrat. Die Anlieferung als loses Schüttgut ist am günstigsten (je nach Substrat und Hersteller beginnt das bei 70-100 €/m³). Alternativ kann man sich das im BigBag liefern lassen, die teuerste Lösung ist sackweise als Palettenware.

Lieferung des Substrats

Umlaufend um den Rand habe ich einen ca. 30cm breiten Kiesstreifen angelegt. Dieser dient als „Wartungsweg“, und entlang der Kiesleiste insbesondere zur Filterung, damit das Substrat nicht vom Dach gespült wird. Der Kies konnte dankenswerterweise auch von einem Traktor auf’s Dach gekippt werden – es wäre sonst kein Spaß geworden, die 600-800 Kilo da eimerweise hoch zu schleppen…

Anlegen des Kiesstreifens fertiger Dachaufbau

Im Frühjahr werden wir noch die passende Begrünung aufbringen.

Die Dachbelastung war vorab natürlich mit dem Statiker abgestimmt – das sind ja nun „trocken“ auch noch mal rund 5 Tonnen zusätzlicher Dachlast.

Smarter Türgong

Wir haben eine „smarte“ Türklingel – bzw. noch schlimmer: eine Cloud-basierte Türklingel. Wenn jemand bimmelt, dann wird über’s Internet eine Push-Nachricht auf’s Smartphone bzw. Tablet gesendet. In der Theorie ist das ganz nett: wenn man irgendwo unterwegs ist und Paketbote oder Nachbarskinder klingeln kann man diese sehen und mit ihnen sprechen. Ob das überhaupt Sinn macht ist eine andere Sache.

In der Praxis bimmelt’s dann nämlich auch immer am Smartphone, wenn man in der Arbeit sitzt und die Kinder im 10-Minuten-Takt irgendwas wollen. Abstellen kann man das nur nach dem ganz-oder-gar-nicht-Prinzip, und auch dann erfordert das eben immer einen manuellen Eingriff (ein- bzw. ausschalten eben).

Doch das größte Problem: das Klingeln an der Haustür soll ja halbwegs schnell auf dem Smartphone/Tablet signalisiert werden. Und das wiederum bedeutet, dass die Türklingel-App praktisch immer im Hintergrund laufen muss, um innerhalb <1 Sekunde zu „läuten“. Das widerspricht allen Energiespar-Maßnahmen des Gerätes. Nach allen paar Updates muss man wieder die Energiespar-Einstellungen für eben diese App „aushebeln“ – und das geht natürlich auch auf Kosten der Akkulaufzeit. Last but not least können Smartphones die Pushnachrichten i.d.R. nicht über das lokale (W)LAN „direkt“ von der Klingel empfangen, sondern nur als offizielle Push-Meldung über den jeweiligen Hersteller (also über’s Internet). Ich mag mir gar nicht vorstellen, was da im Hintergrund alles laufen muss – zudem ist man dem Türklingel“betreiber“ auf Gedeih und Verderb ausgesetzt (z.B. dass er nicht schon nach wenigen Jahren seine Cloudserver abschaltet).

Zwischenfazit soweit: eine „smarte“ Türklingel ist alles andere als eine „fire-and-forget“-Lösung, sondern vielmehr ein nettes Gimmick für technikaffine Leute. Eine „normale“ Türklingel, bestenfalls mit Kameraaufzeichnung wenn jemand geklingelt hat, würde in den meisten Fällen auch genügen.

Türgong

Aber zum Glück hat unsere Klingel auch einen ganz klassischen potenzialfreien Kontakt, mit dem man einen völlig analogen, internetfreien Türgong anschließen kann. Drückt jemand den Klingelknopf, dann schließt dieser Kontakt kurz, und der Gong kann loslegen. Man sollte beim Hausbau also in jedem Fall eine Leitung zwischen Haustür und Türflur vorbereiten, oder (in meinem Fall) viele Netzwerkleitungen ziehen, die man für diesen Zweck missbrauchen kann.

(unsere „smarte“ Türklingel wird über 4 Leitungen mit PoE und LAN versorgt, von den übrigen vier Leitungen habe ich zwei mit dem Schließkontakt der Klingel belegt. Am Patchfeld im Keller greife ich diese beiden Leitungen über einen manuell gecrimpten Stecker ab, und schicke diese über einen weiteren entsprechend gebauten Stecker zusammen mit 5V DC in ein anderes Netzwerkkabel in den Flur)

Nun hätte ich also in den Baumarkt meines Vertrauens gehen können um dort den nächstbesten Türgong samt Klingeltrafo zu kaufen, und fertig wäre die Sache. Aber was wäre das für eine analoge Verschwendung, wenn ich einen zentralen Lautsprecher „nur“ für die Türklingel nutzen würde… 🙂

DFPlayer & Co.

Vielen Arduino-Bastlern bekannt ist der „DFPlayer Mini“: ein komplett fertiger MP3-Player mit MicroSD-Slot und kleinem 3W-Verstärker, an dem man direkt einen Lautsprecher anschließen kann. Die Sache hat aber einen Haken: der DFPlayer kann nicht direkt über einen Taster (in diesem Fall: der Kontakt der Türklingel) losbimmeln, da braucht man eine kleine Schaltung (z.B. Arduino) davor. Aber ich habe da etwas Besseres gefunden: den DY-SV17F.

  • kostet nicht viel mehr als der DFPlayer (<$2 über AliExpress)
  • hat 4 MB Flash-Speicher dabei (kann direkt über MicroUSB mit MP3-Dateien bespielt werden)
  • kann je nach Beschaltung per Taster oder über UART angesteuert werden
  • hat ebenfalls einen 3W-Verstärker on board

In meiner ersten Version hatte ich tatsächlich nur den DY-SV17F auf einer Lochrasterplatine zusammen mit einem Transistor (zur Invertierung des Türklingel-Signals) und einem Kondensator (zur Entprellung) fliegend zusammengelötet und einen Lautsprecher angeschlossen. Diese optisch nicht unbedingt ansprechende Lösung hat nun vier Jahre lang mehr oder weniger gut funktioniert. Aber nun wollte ich dieses Provisorium auch endlich mal auflösen.

Version 2

Meine Ansprüche an die neue Version waren:

  • Abspielen weiterer Sounds (je nach Ansteuerung)
  • Lautstärke einstellbar (z.B. Abends leiser)
  • keine „fliegende Verdrahtung“ aus der Wanddose heraus, sondern alles kompakt inklusive Lautsprecher in einer Unterputzdose

Die fertige Lösung sieht so aus:

WeMos D1 Mini mit DY-SV17F

Herzstück ist weiterhin der DY-SV17F. Zur Ansteuerung ist ein NodeMCU (WeMos D1 Mini) dazu gekommen. Drei Widerstände „konfigurieren“ den MP3-Player auf UART-Betrieb. Der Türgong ist statt am DY-SV17F am ESP8266 angeschlossen – das hat den Vorteil dass ich den Klingelimpuls auch anderweitig auswerten kann (z.B. MQTT) und ich spare mir dank einer geschickten Schaltung den Inverter-Transistor.

Die beiden Platinen habe ich mit ganz profanem Tesafilm (und natürlich Isolation dazwischen) Unterseite an Unterseite miteinander „verklebt“ (also etwas kompakter gemacht) – daher die flexible Aderleitung zur Verbindung. So passt das zusammen mit allen Steckern und dem Lautsprecher in eine normale Unterputzdose.

Tasmota mit DY-SV17F compilieren

Als Firmware auf dem ESP kommt selbstverständlich Tasmota zum Einsatz. Seit einer Weile unterstützt diese prinzipiell auch den DY-SV17F – allerdings muss man sich die Firmware hierfür selber zusammen compilieren (der „tasmota-sensors“-Build unterstützt nur den DFPlayer!).

Das Compilieren war an sich der anspruchsvollste Teil (auf der Tasmota-Website sind alle Details beschrieben, das erspare ich hier). Ich selber habe PlatformIO hierfür genutzt. Folgende Einstellungen müssen in der Datei „tasmota/user_config_override.h“ gesetzt werden:

#ifndef USE_RULES
#define USE_RULES
#endif

#ifndef USE_MP3_PLAYER
#define USE_MP3_PLAYER
#endif

#ifdef MP3_VOLUME
#undef MP3_VOLUME
#endif
#define MP3_VOLUME 30

#ifndef USE_DY_SV17F
#define USE_DY_SV17F
#endif

Bei Bedarf kann ich das fertige Firmware-Image hier zum Download bereitstellen (das wird dann aber nicht auf dem aktuellsten Stand sein).

Die Verbindung zwischen NodeMCU und DY-SV17F benötigt lediglich drei Leitungen (GND, 5V, D4/GPIO2 an RX). Die gewinkelte Pin-Leiste auf dem DY-SV17F ist für den Anschluss des Lautsprechers. Die vier Adern vom NodeMCU gehen zur Stromversorgung (+5V, GND) sowie zum Klingelkontakt (+3.3V!!! und D8/GPIO15). Das ist EXTREM WICHTIG, da die Eingänge des ESP nur 3.3V vertragen und man sonst seinen Chip grillen würde. Im Tasmota ist D8 als „Button_in“ koniguriert. Der Trick dabei: der D8 hat einen externen Pull-Down-Widerstand zugeschaltet, so dass wir uns den sparen können. Wer das nachbauen will sollte je nach Leitungslängen mal durchmessen, ob 3.3V für die lange Strecke zwischem dem ESP und Türklingel ausreichen, ansonsten braucht man da eine entkoppelte Schaltung mit höherer Spannung.

Ganz zum Schluss konfiguriert man noch eine Regel im Tasmota, mit der bei jedem Button-Signal (Türklingel) das gewünschte MP3-File abgespielt wird:

Rule1 ON Button1#State DO MP3Track 1 ENDON
Rule1 1

Wenn ich nun statt dem Standardton (00001.mp3) etwas Anderes wünsche – z.B. die Minions zu Weihnachten singen sollen – dann muss ich nur die Regel auf das gewünschte MP3-File ändern. 🙂

Ausblick

Über MQTT kann ich somit auch direkt andere MP3-Dateien abspielen, sowie die Lautstärke der Klingel konfigurierbar machen. Die nächsten geplanten Schritte sind:

  • wenn das Haus in den „Nacht“-Modus geht, die Klingel leiser stellen
  • Abspielen eines dezenten Sounds, wenn die Spülmaschine oder der Trockner fertig sind
  • Abspielen eines nicht ganz dezenten Sounds, wenn die Außentemperatur <12° beträgt und die Haustür länger als zwei Minuten offen steht
  • und so weiter…

Der Kreativität sind nun keine Grenzen mehr gesetzt.

Poolbeleuchtung

Ein Pool braucht Licht. Zwar nicht zum Schwimmen, aber am (späten) Abend ist das ein Highlight im Garten. Und wenn schon hell, dann auch gleich bunt. 🙂

Leider gibt es da zwei Probleme:

  1. RGB-LED-Poollampen sind hierzulande unverschämt teuer
  2. bei den meisten RGB-Leuchten muss man die Farbe über eine separate Fernbedienung einstellen

Um das bezahlbar zu halten und die Poolbeleuchtung nahtlos ins „Smart Home“ zu integrieren, sieht unsere Lösung folgendermaßen aus:

  1. „klassische“ (günstige) Halogen-Pool-Leuchte „AstralPool 300W“, rund 90 €. Die Halogenlampe landet gleich im Ersatzteillager oder bei eBay, wichtig ist hier die wasserdichte Einbaunische.
  2. eine RGB-LED in PAR56-Bauform mit vier separaten Eingängen – via AliExpress für rund $60 inkl. MwSt und Versand (Variante „RGB 4P no remote“, 54W Leistung)
  3. ein RGB-LED-Controller, der mit Tasmota geflashed werden kann – via AliExpress für rund $16 inkl. MwSt und Versand
  4. ein 12V-Netzteil, das ausreichend Leistung liefert (z.B. Meanwell ELG-75-12A, rund 35 € inkl Versand)

Wichtig ist die Planung im Vorfeld – eine Beleuchtung nachträglich zu installieren dürfte recht kompliziert werden. Das Netzteil darf außerdem nicht zu nah am Pool sein (DIN VDE 100-702: Elektrische Anlagen bei Schwimmbecken beachten!), es muss mit viel Feuchtigkeit gerechnet werden, usw…

Leerrohr zur Lampen-Nische

In unserem Fall ist das Netzteil in der Unterverteilung der Garage eingebaut, von dort aus geht eine separate 12V-Leitung (2,5mm²) zum Pool (unbedingt die SELV-Sicherheitsabstände im Verteilerschrank beachten!). Am Pool endet diese Leitung dann im RGB-LED-Controller, von wo aus die per 4×2,5mm² (H07RN-F 4×2,5) in die Lampennische führt. Per MQTT ist der RGB-Controller in OpenHAB integriert. Das Ergebnis ist immer wieder schön:

Hexenkessel... :)

A propos grün… zur jährlichen Routine gehört bei uns nun auch im Frühjahr (bei Inbetriebnahme) die Lampe aus der Nische auszubauen und zu prüfen, ob noch alles dicht ist. Die erste RGB-LED hatte ich nämlich nicht fest genug eingebaut – der Dichtungsring zur Lampe hielt offenbar nicht ganz dicht. Aufmerksam darauf wurde ich nur, weil die Lampe leicht flackerte. Ich vermutete einen Wackelkontakt, in der Tat sah das aber viel schlimmer aus:

etwa zwei Jahre leicht undicht unter Wasser...

Es gehört ein wenig Gefühl dazu, die Schrauben der Lampe fest genug anzuziehen, aber auch nicht zu fest („nach fest kommt ab“). Ich hoffe, dass die neue Lampe nun länger hält. 🙂

Bottichbruch reparieren

Unsere relativ neue LG-Waschmaschine (1,5 Jahre) ist blöderweise von einem Tag auf den anderen ausgelaufen – und zwar komplett. Es wurde keine Fehlermeldung angezeigt, und die Maschine hat den Waschvorgang auch nicht abgebrochen. Zuerst hatten wir die Hebeanlage in Verdacht, welche das Abwasser der Waschmaschine zum höhergelegenen Kanalanschluss pumpt. Also habe ich die zwei Stunden lang zerlegt und gereinigt (auch kein angenehmer Job), aber das brachte keine Abhilfe – gleich der nächste Testlauf der Waschmaschine landete wieder auf dem Fußboden.

alles nass

Da ja noch Garantie war haben wir einen Techniker bestellt. Seine Diagnose braucht keine fünf Minuten: ein sogenannter Bottichbruch. Das passiert indem z.B. eine Münze, Schraube o.ä. in den relativ schmalen Bereich zwischen Waschtrommel und Bottich gerät, und dann von Innen praktisch ein Loch in den Bottich „sprengt“

Loch im Bottich herausgesprengtes Plastik

Ich hatte nun die Wahl, den Bottich tauschen zu lassen (voraussichtlich rund 400 €, kein Garantiefall da ja selbst verursacht) oder gleich eine neue Waschmaschine zu kaufen (aktuell 317 € beim MediaMarkt). Der Techniker gab mir aber auch noch Tipps, wie ich den Bottich selber tauschen könne (müsste halt bei eBay ne kaputte Maschine besorgen, die zerlegen, Bottich umbauen, und danach hoffen dass alles dicht ist…)

Über einen Beitrag im Internet bin ich dann aber auf „QuikSteel“ gestoßen: das ist aluminiumvergüteter Epoxydharz der wohl zum Flicken aller möglicher Löcher in rauhen Umgebungen geeignet sein soll. Da ich ja kaum mehr kaputt machen konnte startete ich diesen Versuch und bestellte für 7,99 € inkl. Lieferung am nächsten Tag eine Packung davon.

Das Loch im Bottich habe ich mit einem Dremel angerauht und mit PVC-Reiniger entfettet und gesäubert. Danach habe ich eine kleine Portion QuikSteel (ca. ein Zuckerwürfel) abgeschnitten, verknetet und mit einem Skalpell in das Loch modelliert. Die Paste ist naturgemäß sehr klebrig, aber ohne Handschuhe würde ich das auch nicht anfassen wollen. Wichtig war natürlich das nicht zu tief ins Loch zu drücken, damit die Trommel sich weiterhin frei drehen kann.

QuikSteel geklebtes Loch

Nach einer Stunde war die Masse ausgehärtet. Und was soll ich sagen: da kommt nicht ein Tropfen Wasser durch – das ist absolut dicht. Die Investition von knapp 8 Euro hat sich also bezahlt gemacht. 🙂

Ich hatte natürlich noch das Glück, dass die Leck-Stelle relativ gut zugänglich war und „schön“ lochförmig ausgebildet war. Bei einem Riss oder einer ungünstigen Lage ist das vermutlich keine Lösung.

Schade dass die Idee nicht vom Servicetechniker kam, ich kann mir aber vorstellen dass aus Haftungsgründen keine solchen „kreativen“ Lösungen angeboten werden. Und eine Reparatur ist wesentlich nachhaltiger, als die eigentlich fast neuwertige Maschine wegen dieses blöden kleines Lochs komplett zu entsorgen…

RGBW-Controller

Ich bin ein großer Fan von farbigem Stimmungslicht mittels RGB-LED-Strips. Vor einer Weile bin ich auf die günstigen „MagicHome“ RGB/RGBW-Controller mit WLAN-Unterstützung gestoßen, die auf dem ESP8266/8285/8295 basieren und sich daher mit der freien Tasmota-Software flashen lassen. Ich habe nämlich keine Lust, meine lokale Beleuchtung über irgendeine China-Cloud zu steuern. 🙂

MagicHome WiFi RGB Controller Flashen des Controllers

Vier Controller habe ich inzwischen in Betrieb, und weitere sollten dazu kommen. Also habe ich – wie immer – einen Controller bestellt, das Gehäuse geöffnet – aber auf der Rückseite waren die Pads komischerweise nicht beschriftet. Rein äußerlich sah der „neue“ Controller aber absolut identisch zum bisherigen Controller aus:

verschiedene Varianten - äußerlich nicht zu unterscheiden

Erst ein genauerer Blick auf die Platine zeigt die Unterschiede: das alte Modell trägt die Bezeichnung „ZJ-WFMN-A V1.1″ und hat einen ESP8295. Das neue Modell heißt „ZJ-WFMN-E V1.1″ und basiert auf einem S9070B (von Suzhou SmartChip Semiconductor). Leider ist diese Variante für meine Zwecke unbrauchbar, da diese (derzeit) nicht mit der Tasmota-Firmware neu geflashed werden können. 🙁

Also habe ich bei dem eBay-Händler, bei dem ich meine vorherigen ESP-basierten Controller gekauft hatte, zwei weitere Exemplare bestellt. Die waren 1-2 Euro teurer als wenn ich diese bei AliExpress gekauft hätte, aber zumindest weiß ich da was ich bekomme.

Dachte ich. 🙁

Es kommt nun offenbar eine weitere Variante in den Umlauf, die auf einem BL602-Prozessor (Bouffalo Labs) basiert. (Bezeichnung auf der Platine: ZJ-BWCE-IR-RGBW)

ESP8295 Bouffalo Labs BL602

Die Bouffalo Labs BL602-Chips haben eine völlig andere CPU-Architektur als die ESP82xx von Espressif. Da die Teile offenbar gerade in großen Stückzahlen auf den Markt gespült werden, ist das Interesse groß diese auch umzuprogrammieren. Ein erstes Projekt zur Portierung des Arduino Core auf BL602 gibt’s schon, zudem läuft ein Reverse-Engineering-Projekt (Nutcracker Challenge, Übersicht).

Wenn man diesem Kommentar beim oben verlinkten Hackaday-Artikel glauben darf, könnte es aber noch etwas dauern bis die Plattform offen genug ist um einen mit dem ESP vergleichbaren Aufschwung zu erleben.

Fazit: man kann diese RGB-Controller zwar in andere Systeme einbinden (z.B. ioBroker), aber derzeit eben noch nicht umprogrammieren.

Die werden nun also erstmal ins Regal wandern. Schade. 🙁

Garagentor

Mitte Januar war unser lang ersehntes Garagentor endlich da. Aufgrund von Lieferproblemen beim Hersteller hatten wir fast sechs Wochen warten müssen, aber auf die kam es nun auch nicht mehr an. 😉

Um Transportkosten zu sparen haben wir das Tor mit einem Anhänger beim Baustoffhändler abgeholt. Das Bild täuscht etwas – das Tor ist 3m lang, der Hänger 2,50m, es stand also nicht wirklich weit über.

Abholung des Tores Bereit zum Einbau

Dann hieß es: Überblick verschaffen uns loslegen. Die Tore gibt es in bestimmten Standardbreiten (2,35m/2,5m/2,75/3,0m). Unsere Garagenlaibung ist natürlich nicht 3,00m sondern 2,96m breit (ich hatte vergessen den Putz einzukalkulieren). Es gab daher drei Möglichkeiten:

  1. Standardtor in nächst kleinerer Breite (2,75m) nehmen. Ist halt blöd, weil das wertvollen Platz bei der Einfahrt kostet und zudem die Zarge links und rechts um über 10 cm in die Laibung hineinragt. Das kann man zwar verkleiden (Zargenverkleidung im Tor-Dekor), aber ist halt nicht perfekt.
  2. Tor nach Sondermaß bestellen. Ich habe mir ein Angebot eingeholt, und sodann stand auch gleich fest, dass das nicht in Frage kommt. :-O
  3. Tor in Standardmaß bestellen (3,00m) und entsprechend kürzen – in meinem Fall also um gut 4 cm.

Vom Hersteller gibt es sogar speziell ein „Set zum Kürzen von Sectionaltoren“ als Zubehör für knapp 30 €. Also war das wohl die günstigste und beste Lösung.

Der erste Arbeitsschritt bestand somit darin, die Zarge gemäß der beiliegenden Anleitung zu kürzen und möglichst sorgfältig sauber einzubauen. Vorab schonmal: die Maße bei den Toren sind in Millimetern angegeben, und das hat auch seinen Grund! Auf die gesamte Breite (hier: 3000mm) hat man nur rund 5mm „Spiel“ (die Rollen des Tors müssen sich flüssig in den Laufschienen bewegen).

Immer schön den Überblick behalten...

Am Freitag Abend habe ich knapp zwei Stunden lang die Teile ausgepackt, sortiert, die Zarge gekürzt und eingebaut. Außen war es -3° kalt, viel länger hätte ich eh nicht durchgehalten.

Am Samstag ging es dann nach dem Frühstück weiter: die letzten Schrauben der Zarge festgezogen, dann die Führungsschienen eingebaut und alles immer wieder mit Wasserwaage und Laserdisto geprüft.

Gegen Mittag waren die Torblätter dran. Die mussten exakt um die selbe Breite wie die Zarge gekürzt werden. Das ging eigentlich total einfach: Stahlblech abschrauben, Zielbreite einzeichnen, ein kurzer Schnitt mit der Kreissäge, Stahlblech wieder drauf, ein paar Löcher bohren, festschrauben. Pro Element dauerte das nur je 15-20 Minuten. Die Elemente habe ich dann der Reihe nach in die Zarge eingesetzt und die Rollen festgeschraubt.

Kürzen des Torblatts

Bis hierhin habe ich den gesamten Einbau komplett alleine gemacht. Für den Einbau der Federn musste das Tor aber angehoben werden, das ging dann nur zu zweit. Sobald die Federn mit Seilzug drin waren, ging’s wieder alleine weiter: an einigen Stellen musste ich noch nachjustieren, damit das Tor flüssig und mit möglichst wenig Kraftaufwand in den Führungsschienen glitt.

Am Sonntag habe ich dann schließlich den elektrischen Torantrieb eingebaut. Auch das ist alles vergleichweise einfach – viele viele Löcher und Schrauben, und immer schön der Anleitung folgen. Irgendwann saß dann der Antrieb auf der Schiene, und der spannende Moment kam: bei der ersten Fahrt misst der Antrieb den Widerstand beim Öffnen/Schließen und gibt das am Display aus (0=leicht bis 10=schwer). Wenn der Widerstand mehr als 2 beträgt, muss man nachjustieren. Ich bekam eine „2“, also war auf Anhieb alles ok. 🙂

Fertig. Fertig. Und zu.

Somit ist das Projekt „Garage“ nun zu einem Großteil abgeschlossen. Wurde aber auch Zeit. 🙂

Jetzt nur noch aufräumen...

Es ist übrigens ein „Hörmann Sectionaltor L-Sicke“ in Anthrazitgrau-Metallic (CH 703). Die Anleitung fand ich klar und deutlich, und alle Teile machen einen wertigen und durchdachten Eindruck. Lediglich scheint mir die Oberfläche recht empfindlich zu sein – das Tor ist „nur“ lackiert und nicht etwa pulverbeschichtet (was es sonst aber noch mal deutlich teurer gemacht hätte).

Und was auch etwas sauer aufstößt: ich hatte mich extra für den knapp 70 € teureren Antrieb „SupraMatic E“ entschieden, weil der bereits eine Bluetooth-Steuerung integriert hat. Erst nach dem Kauf habe ich herausgefunden, dass nur ein Mobiltelefon mit dem Antrieb gekoppelt werden kann. Für jedes weitere Handy benötigt man einen weiteren „Bluetooth-Schlüssel“, der dann als In-App-Kauf jeweils stolze 8,99 € kostet. Ob sich das für Hörmann wirklich lohnt weiß ich nicht, schließlich hagelt es im AppStore entsprechend Kritik.

Garage (Oberputz, Dach, Pflaster)

Mit der Garage ging es in letzter Zeit auch wieder weiter. Im September habe ich damit begonnen, den Oberputz aufzuziehen. Ich habe mich für Silikonharz-Kratzputz (2mm) entschieden. Das Material soll sehr robust sein – und das merkt man auch beim Reinigen der Arbeitsgeräte…

Oberputz Oberputz Oberputz Sockelanstrich

Danach kam endlich das Dach dran. Ziel war es, bis zu den „nassen“ Monaten das Dach „dicht“ zu bekommen – zumindest so dass das Wasser nicht mehr die frische Fassade herunterläuft.

Ich habe hierfür rund 55m² Vlies (500g/m²) und EPDM-Folie (1.5mm) bestellt. Zusammen mit drei Nachbarn haben wir die Folie (rund 100 Kilo!) über eine schräg gestellte Leiter auf das Dach gezogen und dort ausgerollt. Der Rest ging einfacher als erwartet.

Vlies ausgerollt EPDM-Folie ausgerollt

Auf der Attika (KS-Steine) habe ich OSB-Platten mit je 4-5 Schrauben aufgedübelt. Sowohl das Vlies als auch die EPDM-Folie habe ich dann bis auf die Attika hoch gezogen, dort mit einem Tacker provisorisch fixiert und danach großzügig mit Dachpappestiften festgenagelt.

Zum Schluß kam noch ein Attikablech drüber (großes Lob an handelhoffmann.de). Detailfotos habe ich leider nicht zur Hand, aber zum Wandanschluss will ich noch mal separat was schreiben.

Attikablech

Als nächstes kam die Einfahrt dran. Zuerst musste eine Entwässerungsrinne eingebaut werden. Dazu habe ich mit einer großen Flex und Bohrhammer Platz am Granitrandstreifen geschaffen und die Rinnenelemente einbetoniert. Es lohnt sich, mit einer Richtschnur zu arbeiten und sich nicht auf eine gerade Verlegung der Randpflastersteine zu verlassen. 😉

Entwässerungsrinne

Und dann kam die Entscheidung für’s Pflaster. Das darf man wirklich nicht unterschätzen. Ich habe alle größeren und kleineren Baustoffhändler hier abgeklapptert und mir unzählige Pflaster angesehen.

Am Ende fiel die Entscheidung auf „KANN La Tierra Muschelkalk“ im Läuferverband. Hatte zwar sechs Wochen Lieferzeit, aber darauf kam es auch nicht mehr an. Die Zeit konnte ich noch nutzen, um die Betonringe der Revisionsschächte auszutauschen (die alten Ringe waren aufgrund der ganzen Bauarbeiten recht beschädigt) und mit passendem Gefälle auf der richtigen Höhe einzubetonieren (langsam kann ich keine Schnurgerüste mehr sehen).

Der Splitt wurde von Profis angeliefert und im Gefälle abgezogen, und ich habe dann mit familiärer Unterstützung rund 8 Tonnen Pflastersteine verlegt. Mit dem Ergebnis sind wir mehr als zufrieden.

die Ruhe vor dem Sturm Los geht's... KANN La Tierra muschelkalk-anthrazit nuanciert Fleißarbeit mit der Flex an den Revisionsschächten

Als nächstes müssen noch die ganzen Randsteine reingeschnitten, dann Brechsand verteilt und das Pflaster abgerüttelt werden. Die Arbeit geht nicht aus…

Fußbodenheizung

Passivhaus hin oder her: wenn man morgens barfuß ins Bad geht ist der Fliesenboden schlicht und ergreifend kalt. Um genau zu sein: er fühlt sich kalt an (die Fliesen haben ja praktisch die selbe Temperatur wie die Umgebung).

Ab heute gibt es also eine neue Regel in meiner OpenHAB-Steuerung: etwa eineinhalb Stunden vor dem Aufstehen wird die Fußbodenheizung im Bad für insgesamt drei Stunden voll aufgedreht. Bei einer Vorlauftemperatur von ca. 30 Grad ist das nicht besonders viel, sollte den Boden aber auf eine angenehme Temperatur bringen.

Natürlich greift die Regel nur, wenn jemand anwesend ist, und am Wochenende wird die Uhrzeit etwas nach hinten verschoben.

Ganz grob sieht das dann etwa so aus:

// Fußbodenheizung morgens anschalten wenn anwesend
rule "HeizungBadMorgensAn"
when
    Time cron "0 00 05 ? * MON-FRI" or
    Time cron "0 30 06 ? * SAT-SUN"
then
    logInfo("Heizung.rules", "Bad an? state=" + HOUSE_Abwesend.state)
    if (HOUSE_Abwesend.state == OFF) {
        logInfo("Heizung.rules", "anwesend, also Heizung an...")
        OG_FBHZ_Bad_Stellwert.sendCommand(100)
    } else {
        logInfo("Heizung.rules", "nicht anwesend")
    }
end

rule "HeizungBadMorgensAus"
when
    Time cron "0 00 08 ? * MON-FRI" or
    Time cron "0 30 09 ? * SAT-SUN"
then
    OG_FBHZ_Bad_Stellwert.sendCommand(10)
end