Jeder der ein Velux Dachfenster hat, dürfte das Problem mit dem Einbinden in das Heimautomatisierungssystem kennen, ich gehöre mit meinem Loxone Smart Home auch dazu. Vor einiger Zeit habe ich hier das Velux KLF200 Interface vorgestellt, damit kann man verschiedene Velux-Produkte zwar von einer Zentrale her steuern, brauch aber physikalische Eingänge. Mittlerweile haben ein paar schlaue Köpfe eine direkte Anbindung über ein Netzwerkprotokoll hingekriegt, so lässt sich die KLF200 über Loxone steuern.
Besten Dank an Gottfried Grasl und an Michael Schober von SmartHome247.at für Ihren Anteil, ich übernehme die Dokumentation.
PicoC Script in Loxone
Um das KLF200 Interface von Velux über Loxone zu steuern, bedarf es eines PicoC Scripts. Dieses loggt sich über die Netzwerkanbindung des KLF200 auf dem Interface ein, löst eine Programm-Sequenz aus und logt sich danach wieder aus. Einfacher gesagt simuliert das Programm einen physischen Nutzer, des vor dem KLF200-Webinterface sitzt und auf bestimmte Buttons klickt. Das KLF200 sollte daher natürlich mit dem heimischen Netzwerk verbunden sein, in meinem Fall hat es im Server-Schrank im Keller Platz gefunden. Die Funk-Reichweite für Velux Dachfenster reicht problemlos aus. Ebenfalls sollte das KLF200 eine fixe IP haben, die habe ich im Router so festgelegt, alternativ in den KLF200 Settings eine fixe IP eingeben.
Das PicoC Script habe ich bei GitHub deponiert, damit steht es frei zur Verfügung und kann auch durch die Community verbessert werden.
PicoC Script Loxone
Velux Programm-Nummer herausfinden
Die hinterlegten Programme im Velux KLF200 haben alle eine eigene ID. Diese ist aber auf den ersten Moment nicht ersichtlich, um sie zu sehen, muss man den Browser in den Debug-Modus versetzen. Nun muss man einen Programmnamen abändern, danach kann man das Feedback abfangen das etwa so aussieht:
data:{id: 3, name: "close_all (3)"} deviceStatus:"IDLE"
Die Zahl hinter ID sollte man sich merken, ich habe sie jeweils allen Programmen gleich in Klammern angefügt, so habe ich die Übersicht.
KLF200 Programm-ID finden
Loxone Programmierung für Velux KLF200
Dem Velux Script übergibt man am Analogen Eingang 1 die entsprechende Programm-ID. Hier muss man ein wenig aufpassen, auch «0» ist eine ID und so mache ich das Mapping mit einem Status-Baustein. Wenn kein Signal anliegt, gebe ich einfach Status «99» aus und treffe damit kein aktives Programm. Die ID’s aus dem Interface lege ich hier einfach auf die entsprechenden Signale zurecht. Da ich nur zwei Produkte von Velux habe, reicht mir ein Status-Baustein.
KLF200 Anbindung in Loxone
Bugs & Bekannte Probleme
Bugs sind mir derzeit keine bekannt.
Probleme sehe ich in der Ausführungsgeschwindigkeit. Lege ich eine Programm-ID an den Script-Eingang, wird dieses zwar sofort ausgeführt, aber irgendwo habe ich eine Verzögerung. Bis die Velux Rollos reagieren, dauert es rund 10 Sekunden. Das ist nicht weiter schlimm, aber könnte man eventuell optimieren
Zudem kann man nur jeweils ein Programm starten, danach muss man darauf warten, dass es beendet wurde. In meinem Fall mit zwei Produkten ist das easy, ich erweitere meinen Aufbau einfach um zwei weitere Befehle: Beide Rollos schliessen, bzw. beide Rollos öffnen. Dazu muss ich noch einen zweiten Status-Baustein verbauen und hätte dann alle Funktionen, bzw. Kombinationen abgedeckt.
Das KLF200 muss per LAN verbunden sein, das WLAN des KLF200 ist nur als Accesspoint und nicht als Client nutzbar!
Velux Rollo über KLF200 und Loxone steuern
Fazit
Velux Dachfenster und Rollos sind hier gang und gäbe, warum es noch keine einfachere Anbindung an Heimautomatisierungssysteme wie Loxone oder KNX gibt ist mir ein Rätsel. Mit dem Velux KLF200 wurde immerhin ein Interface auf den Markt gebracht, aber die Netzwerkanbindung gar nie dokumentiert oder für die Nutzung gewollt? Wie dem auch sei, es ist immer toll zu sehen wie es eine Community schafft, einen Weg zu finden. Der hier dokumentiere Weg über das PicoC Script in Loxone funktioniert, damit kann man sich einige Digitalausgänge und Verkablungsaufwand sparen.
Für Feedback, Verbesserungsvorschläge oder andere Inputs bin ich natürlich ganz Ohr…