Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Einbinden des Velux KLF200 Interface in Loxone, Steuerung aller funkfähigen io-homecontrol Velux Produkte Produkten über Programme auf dem KLF200 .KLF200  wie z.B.:

  • Rolläden (Velux SML, Velux SSL, Velux SMG, Somfy IO-Produkte)
  • Sichtschutz innen (Velux FSK, Velux DML)
  • Fensteröffner (Velux KMG, Velux CVP, Velux KSX, Velux GPU)
  • Markisen (Velux MML, Velux MSL, Somfy IO-Produkte)

Variante 1 - Steuerung über direkte Verkabelung:

...

Generell gilt zu Beachten, dass Stand Okt. 2020 die Loxone Bausteine typischerweise keinen Statuspositionseingang besitzen. D.h. eine Rückmeldung kann nur über Klimmzüge in der Ansteuerung in den Baustein eingefügt werden. Es existiert zur Thematik des KLF200 auch ein Feature Request im Loxwiki.

Info
titleAchtung

Welche Variante man auch wählt, die Einbindung erfordert Erfahrung im Umgang mit Loxone und Hausautomatisierungen. Es existiert zur Thematik des KLF200 daher auch ein Feature Request im Loxwiki.

Variante 2 für KLF200 mit Firmwareversion 1.0.x.xx - Schritt-für-Schritt-Anleitung

Die Steuerung erfolgt über das Webfrontend über die LAN-Schnittstele. Detailierte Doku mit Bildern im Blog.

Info
titleAchtung

Es gibt Berichte in Foren, dass bei einem Upgrade von Version 1.0 auf Version 2.0 ein Reset der KLF200 erfolgt. Scheinbar ist es dann nötig die Produkte selbst komplett zurückzusetzen und neu anzulernen.

Die Steuerung erfolgt über das Webfrontend über die LAN-Schnittstele. Detailierte Doku mit Bildern im Blog.

  1. Pico C Script aus GitHub laden und in Loxone einpflegen.
  2. Zeile 6 mit korrekter IP und Zeile 50 mit korrektem Passwort für KLF200 anpassen.
  3. 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.



  4. Programm-ID mittels Status-Baustein dem PicoC Script übergeben. Hier darauf achten, dass "0" auch ein aktives Programm ist:



...

  1. Das KLF200 ist eingerichtet und hängt am LAN. Alle Produkte sind angelernt. Ggf. sind Szenen eingerichtet (ist aber kein muss , und natürlich kann man Produkte auch noch später anlernen). Die fortlaufenden Nummer die beim Anlernen der Produkte im Namen generiert werden, sollte man sich merken. Die Produkte können dann später in FHEM und auch im Miniserver über die Nummern identifiziert werden (Namensschema: Velux_<Nummer>). Die im KLF200 definierten Namen werden aber ebenso an FHEM übertragen.


  2. Einrichtung eines Loxberry mit FHEM und MQTT-Plugins:

    Zunächst benötigt man einen LoxBerry - alles dazu unter Installation von LoxBerry. Danach gehts zur Installtion der notwendigen Plugins

    siehe FHEM-Pluginseite

    siehe MQTT Gateway Pluginseite

    Info
    titleHinweis für FHEM-Benutzer

    Das MQTT Plugin vereinfacht den Einrichtungsaufwand, insbesondere für FHEM Unerfahrene. Grundsätzlich kann man den Miniserver auch direkt mit FHEM kommunizieren lassen und auf das MQTT-Plugin verzichten. Eine Anleitung findet sich z.B. hier.


  3. Einrichtung von FHEM und MQTT:
    1. Zunächst muss FHEM beigebracht werden, alle Daten an das MQTT-Gateway weiterzureichen. Anleitung ist im Wiki. In den folgenden Beispielen und Screenshots wurde das Topic einfach mit fhem benannt. Im MQTT-Plugin muss man zur Einrichtung zum einen das Passwort nachschlagen, zum anderen die Subscription eintragen.
    2. Als nächstes muss FHEM beigebracht werden, Befehle vom MQTT-Gateway zu empfangen. Anleitung ebenfalls im Wiki. Es genügt zunächst nur den FHEM-Teil durchzuführen.
    3. Das KLF200 Plugin muss separat installiert werden: Installationsanleitung des FHEM-Plugins. Ist das Plugin

    Die angelernten Produkte auf der KLF werden automatisch nach FHEM übernommen. FHEM sieht dann z.B. so aus:

    Hier ist der Zeitpunkt um die Funktion FHEM → KLF200 ausführlich zu testen. Die Produkte Alle im KLF200 angelernten Produkte sollte angezeigt werden und sollten sich steuern lassen. Über FHEM lassen sich ggf. noch weitere ein paar weitere  Einstellungen tunen . Siehe wie z.B. die Fahrgeschwindigkeit. Weitere Optionen und Möglichkeiten siehe dazu die Anleitung des Velux-KLF200-Plugin.

Im Loxforum gibt es noch ein paar Hinweise für die Einbindung in den Miniserver:

https://www.loxforum.com/forum/hardware-zubeh%C3%B6r-sensorik/171217-velux-klf200-endlich-mit-api?p=260959#post260959

  1. Weiterhin sollten im MQTT-Plugin die gewünschten Daten angekommen, d.h. die Verbindung KLF200→ FHEM → MQTT funktioniert:

    Image Added


  2. Im nächsten Schritt kann die Anbindung des MQTT-Plugins an den Miniserver erfolgen. Die Einstellung im MQTT-Plugin sollte auf HTTP stehen, da das KLF200 auch Textstatus sendet, der sich durchaus verarbeiten lässt.

    Die Einrichtung der Virtuellen Eingänge ist ausführlich im Wiki erklärt. Es eignen sich die folgenden Topics bzw. hier im Syntax für die Bezeichnung der Virtuellen Eingänge:

    <fhem>_Velux_<Nr>_pct - aktuelle Position. Kann die Werte 0..100 annehmen.

    <fhem>_Velux_<Nr>_execution - Ausführungstatus. Kann die Werte stop / up / down annehmen.

    Es existieren eine Reihe weiterer Daten die man für komplexe Aufgaben verwenden kann. Man sollte allerdings beachten, dass keine der Bezeichnungen die im MQTT-Plugin angezeigt werden innerhalb der LoxoneConfig für etwas anderes als Bezeichnungen für virtuelle Eingänge benutzt wird.

    Zum Steuern vom Miniserver müssen Virtuelle Ausgänge angelegt werden. Auch hier folgt man wieder der Anleitung im Wiki.

    Der Befehl bei Ein lautet z.B.: /fhem/cmnd set Velux_<Nr> execution down

    Info
    titleHinweis

    Folgt man den o.g. Anleitungen, dann wird FHEM so eingerichtet, dass die Bezeichnung der virtuellen Eingänge OHNE "/" am Anfang benutzt werden. Die Virtuellen Ausgangsbefehle benötigen jedoch ein "/" am Anfang.

    Analog lässt sich auch der Positionswert direkt setzen: /fhem/cmnd set Velux_<Nr> pct <Wert>

    In der KLF hinterlegte Programme lassen sich mit: /fhem/cmnd set Velux scene <Name>


  3. Die Ansteuerung in der LoxoneConfig lässt sich beliebig kompliziert gestalten. Insbesondere wenn man auch parallel Velux eigene Fernbedienungen benutzt und/oder Sensorsteuerungen (z.B. Regensensor) oder Begrenzungen hat. Das Grundproblem besteht dann darin, dass die Bausteine wie Jalousie und Dachfenster keinen Positionseingang unterstützen. Der Workaround besteht darin, die aktuelle Position über einen Analogspeicher zu puffern und bei Bedarf den Baustein die Position zu setzen und dabei die Ansteuerung des Produktes zu unterbinden. Damit "führt" dann der Baustein die Position nach.

    Ein Beispiel ist im Lox-Forum gezeigt. Eine etwas abgewandelte Form sei kurz hier am Beispiel eines Dachfensterbausteins skizziert. Das Beispiel verwendet zur Ansteuerung die Virtuellen Ausgangsbefehle: /fhem/cmnd set Velux_<Nr> execution <up/down/stop> und drei StatusbausteinePrinzipiell lässt sich dies nach den eigenen Bedürfnissen gestalten:

    1. Position nehmen, Skalieren und in einen Analogspeicher schieben (untere Zweig). Parallel den Wert mit der Analogposition des Bausteins vergleichen (obere Zweig). Weicht der Wert ab, eine Sperre setzen und den Monoflop für den Analogspeicher auslösen.

      Image Added

    2. Der Dachfensterbaustein bekommt vom Analogspeicher die Position, die Ausgänge sind zu einem Statusbaustein verbunden. Auf AI4 ist die Sperre verbunden. Auf AI3 der Execution State. Solange wie die Sperre nicht aktiv ist, reicht der Statusbaustein die Steuerbefehle durch. Stoppen die Steuerbefehle wird auch ein Stopbefehl gesendet.

      Image Added

      Info
      Wer hat kann gerne ein ausführliches Minimalbeispiel ergänzen.



Verwandte Artikel

Content by Label
showLabelsfalse
max5
spacesLOX
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel in ("klf200","velux","dachfenster") and type = "page" and space = "LOX"
labelsVelux Dachfenster KLF200

...