(legacy) Dachflächenfenster mit Homee öffnen (mit Webhooks über ein ESP32 Setup)

Hallo zusammen,

ich hatte ja schon mal darüber geschrieben, dass man manchmal eine Fernbedienung etwas “hacken” (modifizieren) könnte, um sie (und das Gerät, das sie steuert) an homee anzubinden…

Da ich das bei mir eben wieder gebraucht habe, dachte ich mir ich stelle das mal hier zur Verfügung. Vielleicht kann ja jemand damit was anfangen. Ich mache das an meiner konkreten Ausgangssituation fest, es sollte aber allgemein funktionieren.

Ausgangssituation:

Ich bin in eine schon fertig gebaute (Dachgeschoss-)Wohnung eingezogen. Leider ist in dieser sehr viel Aufwand in die Unterlattung der Trockenbau-Wände und leider sehr wenig Aufwand in eine ordentliche Verkabelung geflossen. :sob:
Kurzum: Kabel ziehen macht hier wirklich mal gar keinen Spaß.

Da die Dachflächenfenster nur manuell zu öffnen und zu schließen sind, ist es (wir sind manchmal etwas vergesslich) leider durch Regen und (versehentlich) offen gelassenen Fenstern schon ein Paar mal zu mittelschweren Überschwemmungen gekommen.

Deshalb habe ich entschieden, ein paar Modifikationen vorzunehmen.

Das Problem:

  • Wie gesagt macht es keinen Spaß, Kabel zu ziehen. Und da ich leider auch “zu alte” Velux-Fenster habe, konnte ich die neueren Velux-Solar-Antriebe nicht verwenden.
  • Das System muss auf Regen (oder besser allgemein: Niederschlag) adäquat reagieren.
  • Ein autarkes System (ohne Anbindung zu Homee) macht für eine doch relativ teure Lösung auch keinen Sinn, vor allem dann nicht, wenn für jeden (der potentiell vielen) Antriebe jeweils ein neuer Regensensor (ich sag mal KMX200) montiert werden muss. Oder man nicht noch ein paar weitere Ideen (automatisches Lüften nach dem Kochen, nur in Abstimmung mit der Heizungssteuerung, …) umsetzen kann.

Deswegen musste eine alternative Lösung her.

(M)eine Lösung:

Nach einiger Recherche bin ich dann über das Solarpanel Solar Pro 24V von OZ-Roll gestolpert, das mit einer 433MHz Fernbedienung (e-trans) 24V Kettenantriebe steuern kann. Dazu habe ich mir einen Aumüller KS2 24V Kettenantrieb gegönnt.

Nur FYI: für die Regenüberwachung (nicht in dieser Anleitung, vielleicht schreibe ich dazu aber auch nochmal einen kleinen “Erfahrungsbericht”), habe ich mich für den Eltako Multisensor MS entschieden. Dieser hat eine beheizte Platte, mit der Niederschlag auch in Form von z.B. Schnee erkannt wird – und man kann sicherlich noch ein paar weitere Spielereien damit starten.

Für die Integration in Homee musste ich mir dann natürlich etwas einfallen lassen. Klar, man kann die 433MHz Codes auf der Luftschnittstelle mitschneiden und dann z.B. per Replay oder dem Versuch, diese zu dekodieren, den Antrieb steuern. Ich habe mich für den “Hack” der Fernbedienung entschieden. Das erschien mir im ersten Schritt am einfachsten.
Rief natürlich die Frage nach einer geeigneten Anbindung auf.
Auch dabei gibt es natürlich die unterschiedlichsten Vorgehensweisen. Z.B. könnte man mit dem z-uno arbeiten. Oder einem Raspberry Pi. Oder mit mehreren potentialfreien (z.B. Fibaro-) Relais. Oder sonstwas…

Da ich gerne mal was neues ausprobiere und ich bisher zwar Erfahrungen mit dem ESP8266, aber noch keine mit dem neueren ESP32 gemacht habe, dachte ich mir, ich nutze das direkt aus.

Relevante Daten:

  • Die e-trans Fernbedienung wird über eine CR2430 Batterie mit Strom versorgt. Diese liefert nach Datenblatt <50mA Strom und 3V Versorgungsspannung.
  • Der auf der Platine der Fernbedienung verbaute ATmega 48A-AU kann mit 1.8-5.5V Spannung umgehen. Bzw. für 10MHz Takt mit 2.7-5.5V.
  • Der ESP32 benötigt als Versorgungsspannung 3.3V.

Bauteile:

(neben den offensichtlichen Kabeln, Lötzinn, …)

  • ESP32-Dev Board (gekauft für 12,99EUR bei Amazon). Da wird ein 5V(USB) nach 3.3V DCDC Wandler direkt mitgeliefert (und die USB-Programmierschnittstelle). Vom 3.3V Pin können außerdem 100mA abgegriffen werden.
  • CD74HCT4066 CMOS-Schalter-Baustein (gibts für 0,75EUR z.B. bei Conrad)
  • ein USB-Netzteil hatte ich noch zu Hause

nicht nötig aber irgendwie “hübscher” für einen Aufbau:

  • Lochrasterplatine (ca. 2EUR, z.B. auch bei Conrad)
  • Gehäuse (ca. 4EUR, z.B. auch bei Conrad)

Dann mal losgebastelt:

Erstmal die Fernbedienung in Bildern:


Aufgeschraubt sieht das dann so aus:

Man erkennt sehr deutlich die “goldenen” Tasterflächen, an denen ich im nachgang Kabel angelötet und diese mit dem CMOS-Schalter-IC verbunden habe.

Die CMOS-Schalter-Eingänge habe ich mit den Ports 25 (runter), 26 (Stop) und 27 (hoch) des ESP-32 Dev Boards verbunden.
Den 3.3V Pin habe ich hier auch schon mit dem “+” der Batterie, GND mit “-” der Fernbedienungsplatine verbunden. Der Aufbau, wie ich ihn gewählt habe, lässt es zu, die Fernbedienung wieder zusammenzusetzen und “ganz normal” (ohne Batterie) weiter zu verwenden. Falls mal mit homee oder dem ESP was schief geht…

Die Software:

Jetzt zum einfachen Teil… :slight_smile:
Ich programmiere den ESP32 mit der Arduino IDE. Damit das klappt muss man noch den ESP32-Core von espressif herunterladen und installieren (ist alles in der Anleitung von AZ-Delivery beschrieben)

Danach kann man einfach das Beispiel “SimpleWifiServer” verwenden, um die einzelnen Pins (wie oben erwähnt- bei mir 25,26,27) entsprechend seiner Konfiguration “an” und “aus” zu schalten.

Die von mir gemachten (kleinen) Ergänzungen (zum Abschreiben, ein bisschen selbst programmieren sollte dann schon noch sein), zusätzlich zur WLAN-SSID und meinem WLAN-Passwort:

Wie man sieht, simuliere ich Tastendrücke für jeweils 1s. Das hat bei mir gut funktioniert, kann aber je nach Fernbedienung unterschiedlich sein.

Ich möchte an dieser Stelle nochmal ausdrücklich darauf hinweisen, dass es nicht sehr sinnvoll ist, seine Fenster ohne weitere Sicherheitsmaßnahmen (z.B. Token, rollierende Schlüssel) und zusätzlich über eine ungesicherte HTTP Verbindung zu öffnen. Wenn ich nochmal etwas Muse habe, erkläre ich auch noch, wie man einen HTTPS Server auf dem ESP32 zum laufen bekommt. Das ist aber ein eigenes Projekt.
Zumindest Token sollte man bis dahin verwenden… Mindestens z.B. so:
if (currentLine.endsWith("GET /treppenaufgang_down?superToken=binicheinTollerToken42")) { ...
(42: weil es selbstverständlich die Antwort auf alles (einschließlich aller Probleme) ist…:sunglasses:)

done.

Der ESP32 liefert dann z.B. folgende Homepage aus:

Homee:

In Homee bleibt dann nur noch, Homeegramme mit Webhooks für den jeweiligen Anwendungsfall einzufügen:

Fazit:

  • Gesamtkosten der Steuerung: ca. 20EUR.
  • Funktioniert tadellos und ist problemos erweiterbar (der ESP32 hat noch ein paar IO-Pins übrig (mindestens 20). Da kann man noch mehre Fernbedienungen anschließen. Oder voc-Sensoren. Für das Lüften nach dem Kochen… Nur mit der Stromversorgung sollte man dann etwas aufpassen…)
  • Durch die Beispiele lassen sich sehr einfach Webhook-basierte Steuerungen aufbauen. Ein paar (kleine) Programmierkenntnisse vorausgesetzt.
  • Gesamtaufwand des Aufbaus: weniger, als diesen Beitrag zu schreiben… :imp:

Schaltplan:

So. Dann mal 42.

12 „Gefällt mir“