Dachfenstersteuerung für VELUX INTEGRA®

In einem Mehrfamilienhaus befindet sich im Treppenhaus ein unzugängliches Dachfenster, welches einen Motor mit Fernbedienung zum Öffnen und Schließen besitzt. Zwar schließt sich das Fenster automatisch bei Regen, jedoch wollte ich eine automatische Steuerung realisieren, die das Fenster zeitgesteuert öffnet und schließt. Außerdem war die Idee, den bereits vorhandenen Windsensor meiner Wetterstation zu nutzen um auch bei Wind das Fenster zu schließen bzw. es erst gar nicht zu öffnen.

Zwar bietet Velux selbst ein sog. VELUX INTEGRA® Control Pad an (bei neueren Modellen werden wohl auch schon intelligentere Fernbedienungen mitgeliefert), allerdings schlägt sowas gleich mit knapp 200 Euro zu Buche, was mir doch etwas teuer erschien.

Leider gibt es im Internet kaum Informationen zum verwendeten Funkprotokoll bzw. Bauteile, mit denen man eigene Steuerungen integrieren kann. Zwar schreibt man groß, dass man einen Standard namens IO Homecontrol verwenden würde, tatsächlich handelt es sich aber um einen Zusammenschluss von mehr oder weniger unbekannten Herstellern (außer eben Velux), welche IO Homecontrol verwenden. Also letztlich ein proprietäres Protokoll. Auf Mikrocontroller.net hat jemand vergeblich versucht, das Ganze zu „knacken“.

Somit war dann schließlich die Lösung, eine zweite Fernbedienung auf einer bekannten Auktionsplattform zu erstehen, diese zu zerlegen und dann damit das Fenster zu steuern. Eine solche Fernbedienung bekommt man für um die 15 €.

velux-solar-rollladen-ssl-0000s-aluminium-dunkelgrau-42002231-3

Systemdesign

Die Steuerung besteht aus folgenden Komponenten:

  • der eben beschriebenen Fernbedienung;
  • einer Schaltung, welche die Fernbedienung über digitale Signale („GPIOs“) steuert;
  • einem Mikrocontroller (in diesem Fall ein MSP430, es kam das TI Launchpad zum Einsatz);
  • der Linux-Computer, der den Mikrocontroller über USB steuert.

systemdesign

Pairing

Bevor die Fernbedienung verwendet werden kann, muss sie allerdings mit dem Fenster gepaart werden (sonst könnte ja jeder Nachbar das eigene Fenster steuern). Wenn die bereits vorhandene Fernbedienung umgebaut werden soll, entfällt dieser Schritt.

Für das Pairing gibt es zwei Möglichkeiten:

  1. man hat Zugang zum Motor am Fenster oder
  2. man hat Zugang keinen zum Motor am Fenster, aber eine bereits gepaarte Fernbedienung.

In diesem Fall musste die zweite Möglichkeit herhalten. Leider schweigt sich Velux insgesamt etwas aus, man muss viel im Internet recherchieren um überhaupt herauszufinden, wie das geht. Anscheinend soll für alles ein Handwerker/Techniker kommen. Es geht aber trotzdem: Man muss für mehr als zehn Sekunden den RESET-Knopf der Fernbedienugnsrückseite mit einer Büroklammer drücken. Nicht erschrecken: Der Motor des Fensters fährt nun auf und ab solange sich das Fenster im Paarungsmodus befindet — die alte Fernbedienung hat damit ja nichts zu tun, sie löst den Vorgang nur aus. Nun kann die neue Fernbedienung durch einen kurzen Druck auf die RESET-Taste (wieder mit der Büroklammer) registriert werden. Anschließend sollte sich das Fenster sowohl mit der alten als auch mit der neuen Fernbedienung steuern lassen. Mit den neuen KLR-100-Fernbedienungen (mit Display) geht das Ganze etwas einfacher.

Steuerung der Fernbedienung

Auf der Fernbedienung gibt es drei Tasten: „Auf“, „Ab“ und „Stopp“. Letztere wird für die Steuerung nicht benötigt, da da der Motor ohnehin am Ende stoppt. Nach dem Zerlegen entfernt man die Platine zieht die Folie über den Kontakten ab, so dass man an die blanken Schaltkontakte Drähte anlöten kann. Das Bild zeigt meinen Aufbau:

veluxctrl_fernbedienung

Für die Spannungsversorgung verwende ich die normalen Batterien weiter, eine Anbindung direkt über die USB-Spannung wäre aber über einen Spannungswandler ebenfalls denkbar.

Ein Betätigen des Schaltkontaktes führt intern zu einem „Kurzschluss“ der beiden Drähte. Dies wird in der Steuerung über einen HTC 4066 Analogschalter erreicht. Hier der entsprechende Schaltplan.

Hard- und Software des Mikrocontrollers

Um nun den Analogschalter zu steuern werden entsprechende digitale Signale (pro Taste eine) benötigt. In meinem Fall habe ich dafür einen Mikrocontroller verwendet, um dann die Signale über USB zu steuern. Es wäre aber auch denkbar gewesen, direkt GPIOs eines ARM-Controllers mit Linux zu verwenden (etwa am Raspberry Pi). Es muss allerdings darauf geachtet werden, dass der Spannungspegel (1,8/3,3/5,0 V) des verwendeten HCT 4066 zum Pegel der GPIOs passt.

Es kam ein ohnehin schon vorhandenes TI LaunchPad (MSP-EXP430G2) zum Einsatz, welches 10 Dollar kostet und teilweise auch kostenlos angeboten wird. Eine Alternative wäre der relativ teure Arduino oder jede andere Mikrocontroller-Schaltung. Im LauchPad ist zusätzlich ein USB-nach-UART-Wandler integriert, so dass die resultierende Schaltung über USB angeschlossen werden kann. Das hat zudem noch den Vorteil, dass USB auch zur Spannungsversorgung verwendet wird und so kein zusätzliches Netzteil benötigt wird.

Die verwendete Firmware kann unter Bitbucket heruntergeladen werden. Mit Hilfe des OpenSource-Programmes MSPDebug kann die Firmware auf das LauchPad programmiert werden. Soll der Quellcode kompiliert werden, so wird eine Installation des mspgcc benötigt. Natürlich können auch die proprietären Werkzeuge des Herstellers unter Windows verwendet werden. Eine Einführung zur Programmierung des MSP findet man unter Mikrocontroller.net.

Über die Stiftleisten wird das LaunchPad mit der Adapterplatine verbunden. Wie das bei mir aussieht zeigt dieses Foto:

IMG_0487

Einem PC gegenüber tritt die Platine als USB-UART-Wandler auf, kann also über die serielle Schnittstelle angesprochen werden, normalerweise /dev/ttyACM0. Zum Testen empfiehlt sich ein Terminalprogramm wie picocom (Einführung) oder gtkterm.

Es gibt drei Kommandos:

  • u → up
  • d → down
  • s → stop

Eigentliche Steuerung

Um die eigentliche Steuersoftware soll es in diesem Artikel weniger gehen. Sie ist sehr speziell auf das Projekt, die Wetterstation als Umgebung und den Webserver zugeschnitten. Bei mir läuft sie auf einem Seagate Dockstar, welchen man gar nicht mehr kaufen kann. Heute würde man dafür einen Raspberry Pi oder ein Beaglebone Black verwenden. Bei solchen Boards würde man sich den Zwischenschritt über das LaunchPad ganz sparen und die GPIOs des Boards direkt verwenden.

Trotzdem ein paar Eckpunkte der Steuerung: Die Aufgabe übernimmt ein Python-Skript, welches periodisch über den Wetter-Daemon veterod aufgerufen wird, welcher dann als Umgebungvariablen aktuelle Wetterdaten bekommt. Zusätzlich kann das Skript über den Webserver als CGI-Skript aufgerufen werden. Dann kann das Fenster über eine einfache Webseite manuell gesteuert werden. Da die Webseite sehr einfach ist, kann sie auch unterwegs über ein Mobiltelefon aufgerufen werden. Und zuguter Letzt kann das Skript auch über die Kommandozeile gestartet werden. Die Kommunikation mit dem LaunchPad wird über das Modul pyserial realisiert.

Der Quellcode ist natürlich OpenSource und über BitBucket verfügbar. Hier auch nochmal der Link auf das komplette Repository.

Dieser Beitrag wurde unter Embedded, Linux veröffentlicht. Setze ein Lesezeichen auf den Permalink.

8 Kommentare zu Dachfenstersteuerung für VELUX INTEGRA®

  1. uwe Breitling sagt:

    Hallo Berhard,

    ich habe einen Solar-Rolladen von Velux mit Fernbedienung.Leider reagiert die Bedienung nicht mehr auf Knopfdruck.Ich dachte es sei die Knopfbatterie und habe sie getauscht.Aber es tut nix.Resetet habe ich auch-Nix.Kann’s die Platine im Rolladen sein?Kann man die austauschen,wenn ja,wie?vielleicht meldest du(SIE)dich.
    Vielen Dank Uwe

  2. kühne jan sagt:

    Frage: Ich habe 2 Velux Fenster mit Rollo. Kann ich das über eine Fernbedienung realisieren (Paralellbetrieb). Die beiden Rollos befinden sich nebeneinander und sollen gleichzeitig agieren.

    • bwalle sagt:

      Das müsste tatsächlich gehen. Letztendlich hat es ja nichts mit der von mir beschriebenen Steuerung zu tun sondern damit, wie die Fernbedienung programmiert ist. Auf Seite 8 der Bedienungsanleitung wird dieser Fall beschrieben.

      Letztendlich muss man beide Fenster in den Programmiermodus versetzen (durch 10 Sekunden RESET) und dann die Fernbedienung, die beide Fenster steuern soll, per kurzem Druck auf RESET festlegen. Soweit ich das verstehe kann das auch eine der beiden ursprünglichen Fernbedienungen sein. Natürlich kann man dann die Fenster nicht mehr einzeln steuern. Man kann aber immer noch dadurch, dass man manuell direkt am Fenster den Programmiermodus auslöst, die Fernbedienungen anders programmieren.

      Ich bin aber kein VELUX-Experte. Im Zweifel besser bei VELUX selbst oder bei einem Fachhändler nachfragen.

  3. Norbert sagt:

    Vielen Dank für den tollen Artikel. Das Lesen hat mich richtig motiviert einfach die Fernbedienung mit einem Raspberry zu „verbasteln“.

    Ich habe da aber noch eine Frage und da ich bei den vielen Bausteinen die es gibt eher ein Anfänger bin, ist diese vielleicht sehr einfach und klar.

    Du schreibst, dass du einen HCT4066 benutzt und das dieser auch direkt mit dem GPIO verbunden werden kann. Ich habe nun rumgesucht und einen „4 fach bilateralen Schalter“ gesehen. Damit kann ich doch die 3 Tasten der Fernbedienung verbinden und mit 3 gpio pins den Schalter schließen.

    Würde soetwas hiermit gehen: https://goo.gl/9TkYKt ?

    Das spannende daran wäre imho nämlich dass man pro Velux Schalter genau einen Baustein braucht und die Verkabelung für einen Laien auch überschaubar ist.

    Die GPIO per Software zu schalten und darum etwas schönes zu bauen ist dann wieder eher meine Domäne 😉

    Viele Grüße
    Norbert

  4. Super Anleitung!!
    Nur kleine Korrektur zu Pairing von zwei Fernsteuerungen:
    „…leider schweigt sich Velux insgesamt etwas aus, man muss viel im Internet recherchieren um überhaupt herauszufinden, wie das geht. Anscheinend soll für alles ein Handwerker/Techniker kommen. Es geht aber trotzdem …“

    Das steht in der dem Rollladen beigefühten Bedieungsanleitung drinnen – keine Internetrecherche notwendig“

    • SORRY – hab jetzt erst gesehen, dass das schon jemand anderer auch geschrieben hat 😉

      Aber andere Frage:
      Ich habe einen LOXONE Miniserver (http://www.loxone.com/dede/service/dokumentation/verkabelung.html#Verkabelung-digitalen-Stellantrieb)
      Wenn ich das richtig verstehe, dann brauche ich nur jedes „Deiner“ Kabelpaare von der Fernsteuerung mit je einem digitalen Ausgang des Miniservers verbinden. Eine Digitaler-IO am Miniserver für Rauf und einer für Runter. Wenn ich lustig bin auch noch einer für Stop. Der sest ist dann nur mehr die Settings im Miniserver erledigen und alles ist gut!

      Zusatzfrage: Verwendest Du bei den modifizierten Fernsteuerungen auch noch die Tasten? – oder nur mehr über die Steuerung?

  5. Alexandra Papudis sagt:

    Ich habe ein velux integra solar fenster habe gestern Fenster geputzt und.die.kette rausgehangen. mein mann hat es mit dem.controll pad geschlossen sodass die kette eingefahren ist und dass Fenster ofen steht . Wie bekomme ich es geschlossen ohne es kaputt zu machen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.