<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Buennerbernd</id>
	<title>FHEMWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Buennerbernd"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/Buennerbernd"/>
	<updated>2026-04-10T22:56:23Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=34189</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=34189"/>
		<updated>2020-11-09T08:47:12Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* Unterstützte Geräte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KLF200&#039;&#039;&#039; ist ein Modul zur Steuerung von &#039;&#039;&#039;io-homecontrol&#039;&#039;&#039; Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll &#039;&#039;io-homecontrol&#039;&#039;.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** VELUX SMG (Doppelrollladen getrennt steuerbar)&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
** Somfy RS100 io&lt;br /&gt;
** Somfy Izymo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
** VELUX DML&lt;br /&gt;
** VELUX RSL&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
** VELUX GPU&lt;br /&gt;
* Markisen:&lt;br /&gt;
** VELUX MSL&lt;br /&gt;
** VELUX MML&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
** Somfy Maestria+ 50 io&lt;br /&gt;
* Raffstore&lt;br /&gt;
** Somfy (Winkelsteuerung der Lamellen möglich)&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der [[#Registrieren von Geräten an der KLF200-Box|KLF 200 angelernt]] werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Raw-Befehle zum Testen von unbekannten Geräten ===&lt;br /&gt;
Die bisher beschriebenen Funktionen des KLF200Node-Moduls bieten einen vereinfachten Zugang zu io-homecontrol-Geräten mit nur einem Motor.&lt;br /&gt;
&lt;br /&gt;
Intern wird bei diesen Funktionen der Main Parameter (MP) für die Steuerung des Motors und der Functional Parameter 1 (FP1) für die Velocity gesetzt.&lt;br /&gt;
Theoretisch können Geräte bis zu 16 Functional Parameter (FP1 bis FP16) haben. Der Wertebereich aller Parameter ist 0 - 65535, wobei sich 0 - 100% auf 0 - 51200 abbilden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Für Experten&#039;&#039;&#039; bietet die Funktion &#039;&#039;&#039;set raw&#039;&#039;&#039; die Möglichkeit, mehrere Parameter gleichzeitig zu setzen. Damit lassen sich dann z.B. die Lamellen von Raffstores bewegen.&lt;br /&gt;
Zuvor wird empfohlen, in der [https://velcdn.azureedge.net/~/media/com/api/klf200/technical%20specification%20for%20klf%20200%20api-ver3-16.pdf KLF 200 API] die folgenden Kapitel zu lesen:&lt;br /&gt;
* 10.1.1 GW_COMMAND_SEND_REQ&lt;br /&gt;
* 10.1.1.4 ParameterActive parameter&lt;br /&gt;
* 13 Appendix 1: Standard Parameter definition&lt;br /&gt;
* 14 Appendix 2: List of actuator types and their use of Main Parameter and Functional Parameters&lt;br /&gt;
		&lt;br /&gt;
Beispiel-Aufrufe:&lt;br /&gt;
&lt;br /&gt;
Winkelsteuerung (FP3) eines Somfy Raffstores:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 raw ParameterActive=3 FP3=0&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 raw ParameterActive=3 FP3=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
Oberer Rollladen (FP1) eines Velux SMG Doppelrollladen:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 raw ParameterActive=1 FP1=0 MP=55304 FP2=53504&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 raw ParameterActive=1 FP1=51200 MP=55304 FP2=53504&amp;lt;/code&amp;gt;&lt;br /&gt;
Unterer Rollladen (FP2) eines Velux SMG Doppelrollladen:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 raw ParameterActive=2 FP2=0 MP=55304 FP1=53504&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 raw ParameterActive=2 FP2=51200 MP=55304 FP1=53504&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf muss man sich für einen Parameter entscheiden, von dem man Feedback erhalten will. Diesen wählt man mit ParameterActive aus. Default ist ParameterActive=0 für MP. Ein Functional Parameter kann mit 1 - 16 ausgewählt werden.&lt;br /&gt;
Die aktuell bekannten Werte stehen in den Readings MP und FP1 bis FP16, wobei nur Readings für tatsächlich genutzte Parameter angelegt werden.&lt;br /&gt;
&lt;br /&gt;
Die Funktion &#039;&#039;&#039;set updateCurrentPosition&#039;&#039;&#039; aktualisiert die Readings MP und FP1 - FP7, falls vorhanden.&lt;br /&gt;
&lt;br /&gt;
Beispiele für Geräte mit mehreren Motoren:&lt;br /&gt;
* Somfy J4 io Protect&lt;br /&gt;
* VELUX SMG Doppelrollladen&lt;br /&gt;
&lt;br /&gt;
Wenn sich Nutzer melden sollten, die auf diese Weise Geräte mit mehreren Motoren getestet haben, dann kann entschieden werden, wie dieses Modul auf sinnvolle Weise weiterentwickelt werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen (0 bei Velux GPU Fenstern),&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beispiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
=== Verbindungsabbrüche ===&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
==== FHEM Update ====&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
==== OpenSSL ====&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
==== Perl SSL-Bibliotheken ====&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
&lt;br /&gt;
=== Registrieren von Geräten an der KLF200-Box ===&lt;br /&gt;
&lt;br /&gt;
Die [https://velcdn.azureedge.net/~/media/marketing/ch/fachleute/einbauanleitungen/elektro-nachrustung/zubehor/klf-200_bedienungsanleitung_basic%20de.pdf KLF200-Dokumentation] Seite 11 - 19 beschreibt 2 Varianten, um Geräte mit der Box zu koppeln.&lt;br /&gt;
&lt;br /&gt;
==== 1. Registrierung mit einer Zweiweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Schlüssel-Taste oder im Web-UI über PRODUKTE KOPIEREN.&lt;br /&gt;
&lt;br /&gt;
Es ist eine Zweiweg-Bedienung erforderlich, die in der Lage ist, die IO-Schlüssel zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Dieser Weg geht z.B. mit dem Control Pad KLR200, Somfy TaHoma, [https://www.somfy.de/hilfe-center/faq/wie-binde-ich-produkte-ein-die-bereits-mit-einem-2-wege-sender-angesteuert-werden Nina io, Telis Composio io, Impresario Chronis io, Easy Sun io und Telis 1 io.].&lt;br /&gt;
&lt;br /&gt;
TaHoma: anmelden, Menü &amp;quot;Sicherheitseinstellungen&amp;quot;, Reiter &amp;quot;io-System&amp;quot;, &amp;quot;SICHERHEITSSCHLÜSSEL SENDEN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== 2. Registrierung mit einer Einweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Reset-Taste oder im Web-UI über PRODUKTSUCHE.&lt;br /&gt;
&lt;br /&gt;
Hierzu wird das Gerät über eine Fernbedienung oder direkt am Gerät in einen Anlernzustand versetzt und dann einigen sich KLF200 und das Gerät über einen Schlüssel.&lt;br /&gt;
&lt;br /&gt;
Bei manchen Somfy-Geräten scheint dieser Weg nicht zu funktionieren, z.B. einige Somfy Smoove Produkte. Hier bleibt nur die Möglichkeit, die Schlüssel wie in Variante 1 von einer Somfy Zweiweg-Bedienung zu kopieren.&lt;br /&gt;
&lt;br /&gt;
=== WARNUNG vor Reset der KLF200-Box! ===&lt;br /&gt;
Sollten an der KLF200-Box schon Geräte registriert sein, dann ist ein Factory-Reset unbedingt zu vermeiden!&lt;br /&gt;
Die Geräte, die mit der KLF200 bereits Schlüssel ausgetauscht haben, lassen sich nicht ohne weiteres noch einmal registrieren.&lt;br /&gt;
Um diese Geräte nach einem Reset der KLF200 trotzdem zu registrieren, sind folgende Schritte notwendig:&lt;br /&gt;
# Die registrierten Geräte müssen komplett zurückgesetzt werden.&lt;br /&gt;
# Die entsprechenden Fernbedienungen müssen neu angelernt werden.&lt;br /&gt;
# Die Geräte können an der KLF200-Box registriert werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:io-homecontrol]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=33712</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=33712"/>
		<updated>2020-08-27T08:13:14Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* Raw-Befehle zum Testen von unbekannten Geräten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KLF200&#039;&#039;&#039; ist ein Modul zur Steuerung von &#039;&#039;&#039;io-homecontrol&#039;&#039;&#039; Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll &#039;&#039;io-homecontrol&#039;&#039;.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** VELUX SMG (Doppelrollladen getrennt steuerbar)&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
** Somfy RS100 io&lt;br /&gt;
** Somfy Izymo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
** VELUX DML&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
** VELUX GPU&lt;br /&gt;
* Markisen:&lt;br /&gt;
** VELUX MSL&lt;br /&gt;
** VELUX MML&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
** Somfy Maestria+ 50 io&lt;br /&gt;
* Raffstore&lt;br /&gt;
** Somfy (Winkelsteuerung der Lamellen möglich)&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der [[#Registrieren von Geräten an der KLF200-Box|KLF 200 angelernt]] werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Raw-Befehle zum Testen von unbekannten Geräten ===&lt;br /&gt;
Die bisher beschriebenen Funktionen des KLF200Node-Moduls bieten einen vereinfachten Zugang zu io-homecontrol-Geräten mit nur einem Motor.&lt;br /&gt;
&lt;br /&gt;
Intern wird bei diesen Funktionen der Main Parameter (MP) für die Steuerung des Motors und der Functional Parameter 1 (FP1) für die Velocity gesetzt.&lt;br /&gt;
Theoretisch können Geräte bis zu 16 Functional Parameter (FP1 bis FP16) haben. Der Wertebereich aller Parameter ist 0 - 65535, wobei sich 0 - 100% auf 0 - 51200 abbilden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Für Experten&#039;&#039;&#039; bietet die Funktion &#039;&#039;&#039;set raw&#039;&#039;&#039; die Möglichkeit, mehrere Parameter gleichzeitig zu setzen. Damit lassen sich dann z.B. die Lamellen von Raffstores bewegen.&lt;br /&gt;
Zuvor wird empfohlen, in der [https://velcdn.azureedge.net/~/media/com/api/klf200/technical%20specification%20for%20klf%20200%20api-ver3-16.pdf KLF 200 API] die folgenden Kapitel zu lesen:&lt;br /&gt;
* 10.1.1 GW_COMMAND_SEND_REQ&lt;br /&gt;
* 10.1.1.4 ParameterActive parameter&lt;br /&gt;
* 13 Appendix 1: Standard Parameter definition&lt;br /&gt;
* 14 Appendix 2: List of actuator types and their use of Main Parameter and Functional Parameters&lt;br /&gt;
		&lt;br /&gt;
Beispiel-Aufrufe:&lt;br /&gt;
&lt;br /&gt;
Winkelsteuerung (FP3) eines Somfy Raffstores:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 raw ParameterActive=3 FP3=0&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 raw ParameterActive=3 FP3=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
Oberer Rollladen (FP1) eines Velux SMG Doppelrollladen:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 raw ParameterActive=1 FP1=0 MP=55304 FP2=53504&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 raw ParameterActive=1 FP1=51200 MP=55304 FP2=53504&amp;lt;/code&amp;gt;&lt;br /&gt;
Unterer Rollladen (FP2) eines Velux SMG Doppelrollladen:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 raw ParameterActive=2 FP2=0 MP=55304 FP1=53504&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 raw ParameterActive=2 FP2=51200 MP=55304 FP1=53504&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf muss man sich für einen Parameter entscheiden, von dem man Feedback erhalten will. Diesen wählt man mit ParameterActive aus. Default ist ParameterActive=0 für MP. Ein Functional Parameter kann mit 1 - 16 ausgewählt werden.&lt;br /&gt;
Die aktuell bekannten Werte stehen in den Readings MP und FP1 bis FP16, wobei nur Readings für tatsächlich genutzte Parameter angelegt werden.&lt;br /&gt;
&lt;br /&gt;
Die Funktion &#039;&#039;&#039;set updateCurrentPosition&#039;&#039;&#039; aktualisiert die Readings MP und FP1 - FP7, falls vorhanden.&lt;br /&gt;
&lt;br /&gt;
Beispiele für Geräte mit mehreren Motoren:&lt;br /&gt;
* Somfy J4 io Protect&lt;br /&gt;
* VELUX SMG Doppelrollladen&lt;br /&gt;
&lt;br /&gt;
Wenn sich Nutzer melden sollten, die auf diese Weise Geräte mit mehreren Motoren getestet haben, dann kann entschieden werden, wie dieses Modul auf sinnvolle Weise weiterentwickelt werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen (0 bei Velux GPU Fenstern),&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beispiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
=== Verbindungsabbrüche ===&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
==== FHEM Update ====&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
==== OpenSSL ====&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
==== Perl SSL-Bibliotheken ====&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
&lt;br /&gt;
=== Registrieren von Geräten an der KLF200-Box ===&lt;br /&gt;
&lt;br /&gt;
Die [https://velcdn.azureedge.net/~/media/marketing/ch/fachleute/einbauanleitungen/elektro-nachrustung/zubehor/klf-200_bedienungsanleitung_basic%20de.pdf KLF200-Dokumentation] Seite 11 - 19 beschreibt 2 Varianten, um Geräte mit der Box zu koppeln.&lt;br /&gt;
&lt;br /&gt;
==== 1. Registrierung mit einer Zweiweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Schlüssel-Taste oder im Web-UI über PRODUKTE KOPIEREN.&lt;br /&gt;
&lt;br /&gt;
Es ist eine Zweiweg-Bedienung erforderlich, die in der Lage ist, die IO-Schlüssel zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Dieser Weg geht z.B. mit dem Control Pad KLR200, Somfy TaHoma, [https://www.somfy.de/hilfe-center/faq/wie-binde-ich-produkte-ein-die-bereits-mit-einem-2-wege-sender-angesteuert-werden Nina io, Telis Composio io, Impresario Chronis io, Easy Sun io und Telis 1 io.].&lt;br /&gt;
&lt;br /&gt;
TaHoma: anmelden, Menü &amp;quot;Sicherheitseinstellungen&amp;quot;, Reiter &amp;quot;io-System&amp;quot;, &amp;quot;SICHERHEITSSCHLÜSSEL SENDEN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== 2. Registrierung mit einer Einweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Reset-Taste oder im Web-UI über PRODUKTSUCHE.&lt;br /&gt;
&lt;br /&gt;
Hierzu wird das Gerät über eine Fernbedienung oder direkt am Gerät in einen Anlernzustand versetzt und dann einigen sich KLF200 und das Gerät über einen Schlüssel.&lt;br /&gt;
&lt;br /&gt;
Bei manchen Somfy-Geräten scheint dieser Weg nicht zu funktionieren, z.B. einige Somfy Smoove Produkte. Hier bleibt nur die Möglichkeit, die Schlüssel wie in Variante 1 von einer Somfy Zweiweg-Bedienung zu kopieren.&lt;br /&gt;
&lt;br /&gt;
=== WARNUNG vor Reset der KLF200-Box! ===&lt;br /&gt;
Sollten an der KLF200-Box schon Geräte registriert sein, dann ist ein Factory-Reset unbedingt zu vermeiden!&lt;br /&gt;
Die Geräte, die mit der KLF200 bereits Schlüssel ausgetauscht haben, lassen sich nicht ohne weiteres noch einmal registrieren.&lt;br /&gt;
Um diese Geräte nach einem Reset der KLF200 trotzdem zu registrieren, sind folgende Schritte notwendig:&lt;br /&gt;
# Die registrierten Geräte müssen komplett zurückgesetzt werden.&lt;br /&gt;
# Die entsprechenden Fernbedienungen müssen neu angelernt werden.&lt;br /&gt;
# Die Geräte können an der KLF200-Box registriert werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:io-homecontrol]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=33710</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=33710"/>
		<updated>2020-08-27T08:01:30Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* Unterstützte Geräte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KLF200&#039;&#039;&#039; ist ein Modul zur Steuerung von &#039;&#039;&#039;io-homecontrol&#039;&#039;&#039; Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll &#039;&#039;io-homecontrol&#039;&#039;.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** VELUX SMG (Doppelrollladen getrennt steuerbar)&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
** Somfy RS100 io&lt;br /&gt;
** Somfy Izymo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
** VELUX DML&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
** VELUX GPU&lt;br /&gt;
* Markisen:&lt;br /&gt;
** VELUX MSL&lt;br /&gt;
** VELUX MML&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
** Somfy Maestria+ 50 io&lt;br /&gt;
* Raffstore&lt;br /&gt;
** Somfy (Winkelsteuerung der Lamellen möglich)&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der [[#Registrieren von Geräten an der KLF200-Box|KLF 200 angelernt]] werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Raw-Befehle zum Testen von unbekannten Geräten ===&lt;br /&gt;
Die bisher beschriebenen Funktionen des KLF200Node-Moduls bieten einen vereinfachten Zugang zu io-homecontrol-Geräten mit nur einem Motor.&lt;br /&gt;
&lt;br /&gt;
Intern wird bei diesen Funktionen der Main Parameter (MP) für die Steuerung des Motors und der Functional Parameter 1 (FP1) für die Velocity gesetzt.&lt;br /&gt;
Theoretisch können Geräte bis zu 16 Functional Parameter (FP1 bis FP16) haben. Der Wertebereich aller Parameter ist 0 - 65535, wobei sich 0 - 100% auf 0 - 51200 abbilden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Für Experten&#039;&#039;&#039; bietet die Funktion &#039;&#039;&#039;set raw&#039;&#039;&#039; die Möglichkeit, mehrere Parameter gleichzeitig zu setzen. Damit lassen sich dann z.B. die Lamellen von Raffstores bewegen.&lt;br /&gt;
Zuvor wird empfohlen, in der [https://velcdn.azureedge.net/~/media/com/api/klf200/technical%20specification%20for%20klf%20200%20api-ver3-16.pdf KLF 200 API] die folgenden Kapitel zu lesen:&lt;br /&gt;
* 10.1.1 GW_COMMAND_SEND_REQ&lt;br /&gt;
* 10.1.1.4 ParameterActive parameter&lt;br /&gt;
* 13 Appendix 1: Standard Parameter definition&lt;br /&gt;
* 14 Appendix 2: List of actuator types and their use of Main Parameter and Functional Parameters&lt;br /&gt;
		&lt;br /&gt;
Beispiel-Aufrufe:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 raw MP=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 raw MP=0 FP1=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 raw ParameterActive=3 FP3=25600 FP2=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
Winkelsteuerung Somfy Raffstore:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 raw ParameterActive=3 FP3=0&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 raw ParameterActive=3 FP3=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf muss man sich für einen Parameter entscheiden, von dem man Feedback erhalten will. Diesen wählt man mit ParameterActive aus. Default ist ParameterActive=0 für MP. Ein Functional Parameter kann mit 1 - 16 ausgewählt werden.&lt;br /&gt;
Die aktuell bekannten Werte stehen in den Readings MP und FP1 bis FP16, wobei nur Readings für tatsächlich genutzte Parameter angelegt werden.&lt;br /&gt;
&lt;br /&gt;
Die Funktion &#039;&#039;&#039;set updateCurrentPosition&#039;&#039;&#039; aktualisiert die Readings MP und FP1 - FP7, falls vorhanden.&lt;br /&gt;
&lt;br /&gt;
Beispiele für Geräte mit mehreren Motoren:&lt;br /&gt;
* Somfy J4 io Protect&lt;br /&gt;
* evtl. VELUX SMG Doppelrollladen&lt;br /&gt;
&lt;br /&gt;
Wenn sich Nutzer melden sollten, die auf diese Weise Geräte mit mehreren Motoren getestet haben, dann kann entschieden werden, wie dieses Modul auf sinnvolle Weise weiterentwickelt werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen (0 bei Velux GPU Fenstern),&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beispiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
=== Verbindungsabbrüche ===&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
==== FHEM Update ====&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
==== OpenSSL ====&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
==== Perl SSL-Bibliotheken ====&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
&lt;br /&gt;
=== Registrieren von Geräten an der KLF200-Box ===&lt;br /&gt;
&lt;br /&gt;
Die [https://velcdn.azureedge.net/~/media/marketing/ch/fachleute/einbauanleitungen/elektro-nachrustung/zubehor/klf-200_bedienungsanleitung_basic%20de.pdf KLF200-Dokumentation] Seite 11 - 19 beschreibt 2 Varianten, um Geräte mit der Box zu koppeln.&lt;br /&gt;
&lt;br /&gt;
==== 1. Registrierung mit einer Zweiweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Schlüssel-Taste oder im Web-UI über PRODUKTE KOPIEREN.&lt;br /&gt;
&lt;br /&gt;
Es ist eine Zweiweg-Bedienung erforderlich, die in der Lage ist, die IO-Schlüssel zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Dieser Weg geht z.B. mit dem Control Pad KLR200, Somfy TaHoma, [https://www.somfy.de/hilfe-center/faq/wie-binde-ich-produkte-ein-die-bereits-mit-einem-2-wege-sender-angesteuert-werden Nina io, Telis Composio io, Impresario Chronis io, Easy Sun io und Telis 1 io.].&lt;br /&gt;
&lt;br /&gt;
TaHoma: anmelden, Menü &amp;quot;Sicherheitseinstellungen&amp;quot;, Reiter &amp;quot;io-System&amp;quot;, &amp;quot;SICHERHEITSSCHLÜSSEL SENDEN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== 2. Registrierung mit einer Einweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Reset-Taste oder im Web-UI über PRODUKTSUCHE.&lt;br /&gt;
&lt;br /&gt;
Hierzu wird das Gerät über eine Fernbedienung oder direkt am Gerät in einen Anlernzustand versetzt und dann einigen sich KLF200 und das Gerät über einen Schlüssel.&lt;br /&gt;
&lt;br /&gt;
Bei manchen Somfy-Geräten scheint dieser Weg nicht zu funktionieren, z.B. einige Somfy Smoove Produkte. Hier bleibt nur die Möglichkeit, die Schlüssel wie in Variante 1 von einer Somfy Zweiweg-Bedienung zu kopieren.&lt;br /&gt;
&lt;br /&gt;
=== WARNUNG vor Reset der KLF200-Box! ===&lt;br /&gt;
Sollten an der KLF200-Box schon Geräte registriert sein, dann ist ein Factory-Reset unbedingt zu vermeiden!&lt;br /&gt;
Die Geräte, die mit der KLF200 bereits Schlüssel ausgetauscht haben, lassen sich nicht ohne weiteres noch einmal registrieren.&lt;br /&gt;
Um diese Geräte nach einem Reset der KLF200 trotzdem zu registrieren, sind folgende Schritte notwendig:&lt;br /&gt;
# Die registrierten Geräte müssen komplett zurückgesetzt werden.&lt;br /&gt;
# Die entsprechenden Fernbedienungen müssen neu angelernt werden.&lt;br /&gt;
# Die Geräte können an der KLF200-Box registriert werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:io-homecontrol]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=33704</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=33704"/>
		<updated>2020-08-26T09:55:29Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* Auswerten der Regensensoren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KLF200&#039;&#039;&#039; ist ein Modul zur Steuerung von &#039;&#039;&#039;io-homecontrol&#039;&#039;&#039; Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll &#039;&#039;io-homecontrol&#039;&#039;.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** VELUX SMG (Doppelrollladen noch nicht getrennt steuerbar)&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
** Somfy RS100 io&lt;br /&gt;
** Somfy Izymo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
** VELUX DML&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
** VELUX GPU&lt;br /&gt;
* Markisen:&lt;br /&gt;
** VELUX MSL&lt;br /&gt;
** VELUX MML&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
** Somfy Maestria+ 50 io&lt;br /&gt;
* Raffstore&lt;br /&gt;
** Somfy (Winkelsteuerung der Lamellen möglich)&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der [[#Registrieren von Geräten an der KLF200-Box|KLF 200 angelernt]] werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Raw-Befehle zum Testen von unbekannten Geräten ===&lt;br /&gt;
Die bisher beschriebenen Funktionen des KLF200Node-Moduls bieten einen vereinfachten Zugang zu io-homecontrol-Geräten mit nur einem Motor.&lt;br /&gt;
&lt;br /&gt;
Intern wird bei diesen Funktionen der Main Parameter (MP) für die Steuerung des Motors und der Functional Parameter 1 (FP1) für die Velocity gesetzt.&lt;br /&gt;
Theoretisch können Geräte bis zu 16 Functional Parameter (FP1 bis FP16) haben. Der Wertebereich aller Parameter ist 0 - 65535, wobei sich 0 - 100% auf 0 - 51200 abbilden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Für Experten&#039;&#039;&#039; bietet die Funktion &#039;&#039;&#039;set raw&#039;&#039;&#039; die Möglichkeit, mehrere Parameter gleichzeitig zu setzen. Damit lassen sich dann z.B. die Lamellen von Raffstores bewegen.&lt;br /&gt;
Zuvor wird empfohlen, in der [https://velcdn.azureedge.net/~/media/com/api/klf200/technical%20specification%20for%20klf%20200%20api-ver3-16.pdf KLF 200 API] die folgenden Kapitel zu lesen:&lt;br /&gt;
* 10.1.1 GW_COMMAND_SEND_REQ&lt;br /&gt;
* 10.1.1.4 ParameterActive parameter&lt;br /&gt;
* 13 Appendix 1: Standard Parameter definition&lt;br /&gt;
* 14 Appendix 2: List of actuator types and their use of Main Parameter and Functional Parameters&lt;br /&gt;
		&lt;br /&gt;
Beispiel-Aufrufe:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 raw MP=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 raw MP=0 FP1=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 raw ParameterActive=3 FP3=25600 FP2=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
Winkelsteuerung Somfy Raffstore:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 raw ParameterActive=3 FP3=0&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 raw ParameterActive=3 FP3=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf muss man sich für einen Parameter entscheiden, von dem man Feedback erhalten will. Diesen wählt man mit ParameterActive aus. Default ist ParameterActive=0 für MP. Ein Functional Parameter kann mit 1 - 16 ausgewählt werden.&lt;br /&gt;
Die aktuell bekannten Werte stehen in den Readings MP und FP1 bis FP16, wobei nur Readings für tatsächlich genutzte Parameter angelegt werden.&lt;br /&gt;
&lt;br /&gt;
Die Funktion &#039;&#039;&#039;set updateCurrentPosition&#039;&#039;&#039; aktualisiert die Readings MP und FP1 - FP7, falls vorhanden.&lt;br /&gt;
&lt;br /&gt;
Beispiele für Geräte mit mehreren Motoren:&lt;br /&gt;
* Somfy J4 io Protect&lt;br /&gt;
* evtl. VELUX SMG Doppelrollladen&lt;br /&gt;
&lt;br /&gt;
Wenn sich Nutzer melden sollten, die auf diese Weise Geräte mit mehreren Motoren getestet haben, dann kann entschieden werden, wie dieses Modul auf sinnvolle Weise weiterentwickelt werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen (0 bei Velux GPU Fenstern),&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beispiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
=== Verbindungsabbrüche ===&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
==== FHEM Update ====&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
==== OpenSSL ====&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
==== Perl SSL-Bibliotheken ====&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
&lt;br /&gt;
=== Registrieren von Geräten an der KLF200-Box ===&lt;br /&gt;
&lt;br /&gt;
Die [https://velcdn.azureedge.net/~/media/marketing/ch/fachleute/einbauanleitungen/elektro-nachrustung/zubehor/klf-200_bedienungsanleitung_basic%20de.pdf KLF200-Dokumentation] Seite 11 - 19 beschreibt 2 Varianten, um Geräte mit der Box zu koppeln.&lt;br /&gt;
&lt;br /&gt;
==== 1. Registrierung mit einer Zweiweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Schlüssel-Taste oder im Web-UI über PRODUKTE KOPIEREN.&lt;br /&gt;
&lt;br /&gt;
Es ist eine Zweiweg-Bedienung erforderlich, die in der Lage ist, die IO-Schlüssel zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Dieser Weg geht z.B. mit dem Control Pad KLR200, Somfy TaHoma, [https://www.somfy.de/hilfe-center/faq/wie-binde-ich-produkte-ein-die-bereits-mit-einem-2-wege-sender-angesteuert-werden Nina io, Telis Composio io, Impresario Chronis io, Easy Sun io und Telis 1 io.].&lt;br /&gt;
&lt;br /&gt;
TaHoma: anmelden, Menü &amp;quot;Sicherheitseinstellungen&amp;quot;, Reiter &amp;quot;io-System&amp;quot;, &amp;quot;SICHERHEITSSCHLÜSSEL SENDEN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== 2. Registrierung mit einer Einweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Reset-Taste oder im Web-UI über PRODUKTSUCHE.&lt;br /&gt;
&lt;br /&gt;
Hierzu wird das Gerät über eine Fernbedienung oder direkt am Gerät in einen Anlernzustand versetzt und dann einigen sich KLF200 und das Gerät über einen Schlüssel.&lt;br /&gt;
&lt;br /&gt;
Bei manchen Somfy-Geräten scheint dieser Weg nicht zu funktionieren, z.B. einige Somfy Smoove Produkte. Hier bleibt nur die Möglichkeit, die Schlüssel wie in Variante 1 von einer Somfy Zweiweg-Bedienung zu kopieren.&lt;br /&gt;
&lt;br /&gt;
=== WARNUNG vor Reset der KLF200-Box! ===&lt;br /&gt;
Sollten an der KLF200-Box schon Geräte registriert sein, dann ist ein Factory-Reset unbedingt zu vermeiden!&lt;br /&gt;
Die Geräte, die mit der KLF200 bereits Schlüssel ausgetauscht haben, lassen sich nicht ohne weiteres noch einmal registrieren.&lt;br /&gt;
Um diese Geräte nach einem Reset der KLF200 trotzdem zu registrieren, sind folgende Schritte notwendig:&lt;br /&gt;
# Die registrierten Geräte müssen komplett zurückgesetzt werden.&lt;br /&gt;
# Die entsprechenden Fernbedienungen müssen neu angelernt werden.&lt;br /&gt;
# Die Geräte können an der KLF200-Box registriert werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:io-homecontrol]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=33703</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=33703"/>
		<updated>2020-08-26T09:52:49Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* Raw-Befehle zum Testen von unbekannten Geräten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KLF200&#039;&#039;&#039; ist ein Modul zur Steuerung von &#039;&#039;&#039;io-homecontrol&#039;&#039;&#039; Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll &#039;&#039;io-homecontrol&#039;&#039;.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** VELUX SMG (Doppelrollladen noch nicht getrennt steuerbar)&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
** Somfy RS100 io&lt;br /&gt;
** Somfy Izymo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
** VELUX DML&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
** VELUX GPU&lt;br /&gt;
* Markisen:&lt;br /&gt;
** VELUX MSL&lt;br /&gt;
** VELUX MML&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
** Somfy Maestria+ 50 io&lt;br /&gt;
* Raffstore&lt;br /&gt;
** Somfy (Winkelsteuerung der Lamellen möglich)&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der [[#Registrieren von Geräten an der KLF200-Box|KLF 200 angelernt]] werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Raw-Befehle zum Testen von unbekannten Geräten ===&lt;br /&gt;
Die bisher beschriebenen Funktionen des KLF200Node-Moduls bieten einen vereinfachten Zugang zu io-homecontrol-Geräten mit nur einem Motor.&lt;br /&gt;
&lt;br /&gt;
Intern wird bei diesen Funktionen der Main Parameter (MP) für die Steuerung des Motors und der Functional Parameter 1 (FP1) für die Velocity gesetzt.&lt;br /&gt;
Theoretisch können Geräte bis zu 16 Functional Parameter (FP1 bis FP16) haben. Der Wertebereich aller Parameter ist 0 - 65535, wobei sich 0 - 100% auf 0 - 51200 abbilden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Für Experten&#039;&#039;&#039; bietet die Funktion &#039;&#039;&#039;set raw&#039;&#039;&#039; die Möglichkeit, mehrere Parameter gleichzeitig zu setzen. Damit lassen sich dann z.B. die Lamellen von Raffstores bewegen.&lt;br /&gt;
Zuvor wird empfohlen, in der [https://velcdn.azureedge.net/~/media/com/api/klf200/technical%20specification%20for%20klf%20200%20api-ver3-16.pdf KLF 200 API] die folgenden Kapitel zu lesen:&lt;br /&gt;
* 10.1.1 GW_COMMAND_SEND_REQ&lt;br /&gt;
* 10.1.1.4 ParameterActive parameter&lt;br /&gt;
* 13 Appendix 1: Standard Parameter definition&lt;br /&gt;
* 14 Appendix 2: List of actuator types and their use of Main Parameter and Functional Parameters&lt;br /&gt;
		&lt;br /&gt;
Beispiel-Aufrufe:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 raw MP=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 raw MP=0 FP1=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 raw ParameterActive=3 FP3=25600 FP2=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
Winkelsteuerung Somfy Raffstore:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 raw ParameterActive=3 FP3=0&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 raw ParameterActive=3 FP3=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf muss man sich für einen Parameter entscheiden, von dem man Feedback erhalten will. Diesen wählt man mit ParameterActive aus. Default ist ParameterActive=0 für MP. Ein Functional Parameter kann mit 1 - 16 ausgewählt werden.&lt;br /&gt;
Die aktuell bekannten Werte stehen in den Readings MP und FP1 bis FP16, wobei nur Readings für tatsächlich genutzte Parameter angelegt werden.&lt;br /&gt;
&lt;br /&gt;
Die Funktion &#039;&#039;&#039;set updateCurrentPosition&#039;&#039;&#039; aktualisiert die Readings MP und FP1 - FP7, falls vorhanden.&lt;br /&gt;
&lt;br /&gt;
Beispiele für Geräte mit mehreren Motoren:&lt;br /&gt;
* Somfy J4 io Protect&lt;br /&gt;
* evtl. VELUX SMG Doppelrollladen&lt;br /&gt;
&lt;br /&gt;
Wenn sich Nutzer melden sollten, die auf diese Weise Geräte mit mehreren Motoren getestet haben, dann kann entschieden werden, wie dieses Modul auf sinnvolle Weise weiterentwickelt werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beispiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
=== Verbindungsabbrüche ===&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
==== FHEM Update ====&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
==== OpenSSL ====&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
==== Perl SSL-Bibliotheken ====&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
&lt;br /&gt;
=== Registrieren von Geräten an der KLF200-Box ===&lt;br /&gt;
&lt;br /&gt;
Die [https://velcdn.azureedge.net/~/media/marketing/ch/fachleute/einbauanleitungen/elektro-nachrustung/zubehor/klf-200_bedienungsanleitung_basic%20de.pdf KLF200-Dokumentation] Seite 11 - 19 beschreibt 2 Varianten, um Geräte mit der Box zu koppeln.&lt;br /&gt;
&lt;br /&gt;
==== 1. Registrierung mit einer Zweiweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Schlüssel-Taste oder im Web-UI über PRODUKTE KOPIEREN.&lt;br /&gt;
&lt;br /&gt;
Es ist eine Zweiweg-Bedienung erforderlich, die in der Lage ist, die IO-Schlüssel zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Dieser Weg geht z.B. mit dem Control Pad KLR200, Somfy TaHoma, [https://www.somfy.de/hilfe-center/faq/wie-binde-ich-produkte-ein-die-bereits-mit-einem-2-wege-sender-angesteuert-werden Nina io, Telis Composio io, Impresario Chronis io, Easy Sun io und Telis 1 io.].&lt;br /&gt;
&lt;br /&gt;
TaHoma: anmelden, Menü &amp;quot;Sicherheitseinstellungen&amp;quot;, Reiter &amp;quot;io-System&amp;quot;, &amp;quot;SICHERHEITSSCHLÜSSEL SENDEN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== 2. Registrierung mit einer Einweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Reset-Taste oder im Web-UI über PRODUKTSUCHE.&lt;br /&gt;
&lt;br /&gt;
Hierzu wird das Gerät über eine Fernbedienung oder direkt am Gerät in einen Anlernzustand versetzt und dann einigen sich KLF200 und das Gerät über einen Schlüssel.&lt;br /&gt;
&lt;br /&gt;
Bei manchen Somfy-Geräten scheint dieser Weg nicht zu funktionieren, z.B. einige Somfy Smoove Produkte. Hier bleibt nur die Möglichkeit, die Schlüssel wie in Variante 1 von einer Somfy Zweiweg-Bedienung zu kopieren.&lt;br /&gt;
&lt;br /&gt;
=== WARNUNG vor Reset der KLF200-Box! ===&lt;br /&gt;
Sollten an der KLF200-Box schon Geräte registriert sein, dann ist ein Factory-Reset unbedingt zu vermeiden!&lt;br /&gt;
Die Geräte, die mit der KLF200 bereits Schlüssel ausgetauscht haben, lassen sich nicht ohne weiteres noch einmal registrieren.&lt;br /&gt;
Um diese Geräte nach einem Reset der KLF200 trotzdem zu registrieren, sind folgende Schritte notwendig:&lt;br /&gt;
# Die registrierten Geräte müssen komplett zurückgesetzt werden.&lt;br /&gt;
# Die entsprechenden Fernbedienungen müssen neu angelernt werden.&lt;br /&gt;
# Die Geräte können an der KLF200-Box registriert werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:io-homecontrol]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=33702</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=33702"/>
		<updated>2020-08-26T09:42:19Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* Unterstützte Geräte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KLF200&#039;&#039;&#039; ist ein Modul zur Steuerung von &#039;&#039;&#039;io-homecontrol&#039;&#039;&#039; Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll &#039;&#039;io-homecontrol&#039;&#039;.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** VELUX SMG (Doppelrollladen noch nicht getrennt steuerbar)&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
** Somfy RS100 io&lt;br /&gt;
** Somfy Izymo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
** VELUX DML&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
** VELUX GPU&lt;br /&gt;
* Markisen:&lt;br /&gt;
** VELUX MSL&lt;br /&gt;
** VELUX MML&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
** Somfy Maestria+ 50 io&lt;br /&gt;
* Raffstore&lt;br /&gt;
** Somfy (Winkelsteuerung der Lamellen möglich)&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der [[#Registrieren von Geräten an der KLF200-Box|KLF 200 angelernt]] werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Raw-Befehle zum Testen von unbekannten Geräten ===&lt;br /&gt;
Die bisher beschriebenen Funktionen des KLF200Node-Moduls bieten einen vereinfachten Zugang zu io-homecontrol-Geräten mit nur einem Motor.&lt;br /&gt;
&lt;br /&gt;
Intern wird bei diesen Funktionen der Main Parameter (MP) für die Steuerung des Motors und der Functional Parameter 1 (FP1) für die Velocity gesetzt.&lt;br /&gt;
Theoretisch können Geräte bis zu 16 Functional Parameter (FP1 bis FP16) haben. Der Wertebereich aller Parameter ist 0 - 65535, wobei sich 0 - 100% auf 0 - 51200 abbilden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Für Experten&#039;&#039;&#039; bietet die Funktion &#039;&#039;&#039;set raw&#039;&#039;&#039; die Möglichkeit, mehrere Parameter gleichzeitig zu setzen. Damit lassen sich dann z.B. die Lamellen von Raffstores bewegen.&lt;br /&gt;
Zuvor wird empfohlen, in der [https://velcdn.azureedge.net/~/media/com/api/klf200/technical%20specification%20for%20klf%20200%20api-ver3-16.pdf KLF 200 API] die folgenden Kapitel zu lesen:&lt;br /&gt;
* 10.1.1 GW_COMMAND_SEND_REQ&lt;br /&gt;
* 10.1.1.4 ParameterActive parameter&lt;br /&gt;
* 13 Appendix 1: Standard Parameter definition&lt;br /&gt;
* 14 Appendix 2: List of actuator types and their use of Main Parameter and Functional Parameters&lt;br /&gt;
		&lt;br /&gt;
Beispiel-Aufrufe:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 raw MP=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 raw MP=0 FP1=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 raw ParameterActive=3 FP3=25600 FP2=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf muss man sich für einen Parameter entscheiden, von dem man Feedback erhalten will. Diesen wählt man mit ParameterActive aus. Default ist ParameterActive=0 für MP. Ein Functional Parameter kann mit 1 - 16 ausgewählt werden.&lt;br /&gt;
Die aktuell bekannten Werte stehen in den Readings MP und FP1 bis FP16, wobei nur Readings für tatsächlich genutzte Parameter angelegt werden.&lt;br /&gt;
&lt;br /&gt;
Die Funktion &#039;&#039;&#039;set updateCurrentPosition&#039;&#039;&#039; aktualisiert die Readings MP und FP1 - FP7, falls vorhanden.&lt;br /&gt;
&lt;br /&gt;
Beispiele für Geräte mit mehreren Motoren:&lt;br /&gt;
* Somfy J4 io Protect&lt;br /&gt;
* evtl. VELUX SMG Doppelrollladen&lt;br /&gt;
&lt;br /&gt;
Wenn sich Nutzer melden sollten, die auf diese Weise Geräte mit mehreren Motoren getestet haben, dann kann entschieden werden, wie dieses Modul auf sinnvolle Weise weiterentwickelt werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beispiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
=== Verbindungsabbrüche ===&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
==== FHEM Update ====&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
==== OpenSSL ====&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
==== Perl SSL-Bibliotheken ====&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
&lt;br /&gt;
=== Registrieren von Geräten an der KLF200-Box ===&lt;br /&gt;
&lt;br /&gt;
Die [https://velcdn.azureedge.net/~/media/marketing/ch/fachleute/einbauanleitungen/elektro-nachrustung/zubehor/klf-200_bedienungsanleitung_basic%20de.pdf KLF200-Dokumentation] Seite 11 - 19 beschreibt 2 Varianten, um Geräte mit der Box zu koppeln.&lt;br /&gt;
&lt;br /&gt;
==== 1. Registrierung mit einer Zweiweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Schlüssel-Taste oder im Web-UI über PRODUKTE KOPIEREN.&lt;br /&gt;
&lt;br /&gt;
Es ist eine Zweiweg-Bedienung erforderlich, die in der Lage ist, die IO-Schlüssel zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Dieser Weg geht z.B. mit dem Control Pad KLR200, Somfy TaHoma, [https://www.somfy.de/hilfe-center/faq/wie-binde-ich-produkte-ein-die-bereits-mit-einem-2-wege-sender-angesteuert-werden Nina io, Telis Composio io, Impresario Chronis io, Easy Sun io und Telis 1 io.].&lt;br /&gt;
&lt;br /&gt;
TaHoma: anmelden, Menü &amp;quot;Sicherheitseinstellungen&amp;quot;, Reiter &amp;quot;io-System&amp;quot;, &amp;quot;SICHERHEITSSCHLÜSSEL SENDEN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== 2. Registrierung mit einer Einweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Reset-Taste oder im Web-UI über PRODUKTSUCHE.&lt;br /&gt;
&lt;br /&gt;
Hierzu wird das Gerät über eine Fernbedienung oder direkt am Gerät in einen Anlernzustand versetzt und dann einigen sich KLF200 und das Gerät über einen Schlüssel.&lt;br /&gt;
&lt;br /&gt;
Bei manchen Somfy-Geräten scheint dieser Weg nicht zu funktionieren, z.B. einige Somfy Smoove Produkte. Hier bleibt nur die Möglichkeit, die Schlüssel wie in Variante 1 von einer Somfy Zweiweg-Bedienung zu kopieren.&lt;br /&gt;
&lt;br /&gt;
=== WARNUNG vor Reset der KLF200-Box! ===&lt;br /&gt;
Sollten an der KLF200-Box schon Geräte registriert sein, dann ist ein Factory-Reset unbedingt zu vermeiden!&lt;br /&gt;
Die Geräte, die mit der KLF200 bereits Schlüssel ausgetauscht haben, lassen sich nicht ohne weiteres noch einmal registrieren.&lt;br /&gt;
Um diese Geräte nach einem Reset der KLF200 trotzdem zu registrieren, sind folgende Schritte notwendig:&lt;br /&gt;
# Die registrierten Geräte müssen komplett zurückgesetzt werden.&lt;br /&gt;
# Die entsprechenden Fernbedienungen müssen neu angelernt werden.&lt;br /&gt;
# Die Geräte können an der KLF200-Box registriert werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:io-homecontrol]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31997</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31997"/>
		<updated>2019-12-16T14:26:02Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* Unterstützte Geräte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KLF200&#039;&#039;&#039; ist ein Modul zur Steuerung von &#039;&#039;&#039;io-homecontrol&#039;&#039;&#039; Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll &#039;&#039;io-homecontrol&#039;&#039;.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
** Somfy RS100 io&lt;br /&gt;
** Somfy Izymo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
** VELUX DML&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
* Markisen:&lt;br /&gt;
** VELUX MSL&lt;br /&gt;
** VELUX MML&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
** Somfy Maestria+ 50 io&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der [[#Registrieren von Geräten an der KLF200-Box|KLF 200 angelernt]] werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Raw-Befehle zum Testen von unbekannten Geräten ===&lt;br /&gt;
Die bisher beschriebenen Funktionen des KLF200Node-Moduls bieten einen vereinfachten Zugang zu io-homecontrol-Geräten mit nur einem Motor.&lt;br /&gt;
&lt;br /&gt;
Intern wird bei diesen Funktionen der Main Parameter (MP) für die Steuerung des Motors und der Functional Parameter 1 (FP1) für die Velocity gesetzt.&lt;br /&gt;
Theoretisch können Geräte bis zu 16 Functional Parameter (FP1 bis FP16) haben. Der Wertebereich aller Parameter ist 0 - 65535, wobei sich 0 - 100% auf 0 - 51200 abbilden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Für Experten&#039;&#039;&#039; bietet die Funktion &#039;&#039;&#039;set raw&#039;&#039;&#039; die Möglichkeit, mehrere Parameter gleichzeitig zu setzen. Damit lassen sich dann z.B. die Lamellen von Raffstores bewegen.&lt;br /&gt;
Zuvor wird empfohlen, in der [https://velcdn.azureedge.net/~/media/com/api/klf200/technical%20specification%20for%20klf%20200%20api-ver3-16.pdf KLF 200 API] die folgenden Kapitel zu lesen:&lt;br /&gt;
* 10.1.1 GW_COMMAND_SEND_REQ&lt;br /&gt;
* 10.1.1.4 ParameterActive parameter&lt;br /&gt;
* 13 Appendix 1: Standard Parameter definition&lt;br /&gt;
* 14 Appendix 2: List of actuator types and their use of Main Parameter and Functional Parameters&lt;br /&gt;
		&lt;br /&gt;
Beispiel-Aufrufe:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 raw MP=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 raw MP=0 FP1=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 raw ParameterActive=3 FP3=25600 FP2=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf muss man sich für einen Parameter entscheiden, von dem man Feedback erhalten will. Diesen wählt man mit ParameterActive aus. Default ist ParameterActive=0 für MP. Ein Functional Parameter kann mit 1 - 16 ausgewählt werden.&lt;br /&gt;
Die aktuell bekannten Werte stehen in den Readings MP und FP1 bis FP16, wobei nur Readings für tatsächlich genutzte Parameter angelegt werden.&lt;br /&gt;
&lt;br /&gt;
Die Funktion &#039;&#039;&#039;set updateCurrentPosition&#039;&#039;&#039; aktualisiert die Readings MP und FP1 - FP7, falls vorhanden.&lt;br /&gt;
&lt;br /&gt;
Beispiele für Geräte mit mehreren Motoren:&lt;br /&gt;
* Somfy J4 io Protect&lt;br /&gt;
* evtl. VELUX SMG Doppelrollladen&lt;br /&gt;
&lt;br /&gt;
Wenn sich Nutzer melden sollten, die auf diese Weise Geräte mit mehreren Motoren getestet haben, dann kann entschieden werden, wie dieses Modul auf sinnvolle Weise weiterentwickelt werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beispiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
=== Verbindungsabbrüche ===&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
==== FHEM Update ====&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
==== OpenSSL ====&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
==== Perl SSL-Bibliotheken ====&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
&lt;br /&gt;
=== Registrieren von Geräten an der KLF200-Box ===&lt;br /&gt;
&lt;br /&gt;
Die [https://velcdn.azureedge.net/~/media/marketing/ch/fachleute/einbauanleitungen/elektro-nachrustung/zubehor/klf-200_bedienungsanleitung_basic%20de.pdf KLF200-Dokumentation] Seite 11 - 19 beschreibt 2 Varianten, um Geräte mit der Box zu koppeln.&lt;br /&gt;
&lt;br /&gt;
==== 1. Registrierung mit einer Zweiweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Schlüssel-Taste oder im Web-UI über PRODUKTE KOPIEREN.&lt;br /&gt;
&lt;br /&gt;
Es ist eine Zweiweg-Bedienung erforderlich, die in der Lage ist, die IO-Schlüssel zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Dieser Weg geht z.B. mit dem Control Pad KLR200, Somfy TaHoma, [https://www.somfy.de/hilfe-center/faq/wie-binde-ich-produkte-ein-die-bereits-mit-einem-2-wege-sender-angesteuert-werden Nina io, Telis Composio io, Impresario Chronis io, Easy Sun io und Telis 1 io.].&lt;br /&gt;
&lt;br /&gt;
TaHoma: anmelden, Menü &amp;quot;Sicherheitseinstellungen&amp;quot;, Reiter &amp;quot;io-System&amp;quot;, &amp;quot;SICHERHEITSSCHLÜSSEL SENDEN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== 2. Registrierung mit einer Einweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Reset-Taste oder im Web-UI über PRODUKTSUCHE.&lt;br /&gt;
&lt;br /&gt;
Hierzu wird das Gerät über eine Fernbedienung oder direkt am Gerät in einen Anlernzustand versetzt und dann einigen sich KLF200 und das Gerät über einen Schlüssel.&lt;br /&gt;
&lt;br /&gt;
Bei manchen Somfy-Geräten scheint dieser Weg nicht zu funktionieren, z.B. einige Somfy Smoove Produkte. Hier bleibt nur die Möglichkeit, die Schlüssel wie in Variante 1 von einer Somfy Zweiweg-Bedienung zu kopieren.&lt;br /&gt;
&lt;br /&gt;
=== WARNUNG vor Reset der KLF200-Box! ===&lt;br /&gt;
Sollten an der KLF200-Box schon Geräte registriert sein, dann ist ein Factory-Reset unbedingt zu vermeiden!&lt;br /&gt;
Die Geräte, die mit der KLF200 bereits Schlüssel ausgetauscht haben, lassen sich nicht ohne weiteres noch einmal registrieren.&lt;br /&gt;
Um diese Geräte nach einem Reset der KLF200 trotzdem zu registrieren, sind folgende Schritte notwendig:&lt;br /&gt;
# Die registrierten Geräte müssen komplett zurückgesetzt werden.&lt;br /&gt;
# Die entsprechenden Fernbedienungen müssen neu angelernt werden.&lt;br /&gt;
# Die Geräte können an der KLF200-Box registriert werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:io-homecontrol]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31723</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31723"/>
		<updated>2019-11-22T19:40:28Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* Raw-Befehle zum Testen von unbekannten Geräten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KLF200&#039;&#039;&#039; ist ein Modul zur Steuerung von &#039;&#039;&#039;io-homecontrol&#039;&#039;&#039; Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll &#039;&#039;io-homecontrol&#039;&#039;.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
** Somfy RS100 io&lt;br /&gt;
** Somfy Izymo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
** VELUX DML&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
* Markisen:&lt;br /&gt;
** VELUX MSL&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
** Somfy Maestria+ 50 io&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der [[#Registrieren von Geräten an der KLF200-Box|KLF 200 angelernt]] werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Raw-Befehle zum Testen von unbekannten Geräten ===&lt;br /&gt;
Die bisher beschriebenen Funktionen des KLF200Node-Moduls bieten einen vereinfachten Zugang zu io-homecontrol-Geräten mit nur einem Motor.&lt;br /&gt;
&lt;br /&gt;
Intern wird bei diesen Funktionen der Main Parameter (MP) für die Steuerung des Motors und der Functional Parameter 1 (FP1) für die Velocity gesetzt.&lt;br /&gt;
Theoretisch können Geräte bis zu 16 Functional Parameter (FP1 bis FP16) haben. Der Wertebereich aller Parameter ist 0 - 65535, wobei sich 0 - 100% auf 0 - 51200 abbilden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Für Experten&#039;&#039;&#039; bietet die Funktion &#039;&#039;&#039;set raw&#039;&#039;&#039; die Möglichkeit, mehrere Parameter gleichzeitig zu setzen. Damit lassen sich dann z.B. die Lamellen von Raffstores bewegen.&lt;br /&gt;
Zuvor wird empfohlen, in der [https://velcdn.azureedge.net/~/media/com/api/klf200/technical%20specification%20for%20klf%20200%20api-ver3-16.pdf KLF 200 API] die folgenden Kapitel zu lesen:&lt;br /&gt;
* 10.1.1 GW_COMMAND_SEND_REQ&lt;br /&gt;
* 10.1.1.4 ParameterActive parameter&lt;br /&gt;
* 13 Appendix 1: Standard Parameter definition&lt;br /&gt;
* 14 Appendix 2: List of actuator types and their use of Main Parameter and Functional Parameters&lt;br /&gt;
		&lt;br /&gt;
Beispiel-Aufrufe:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 raw MP=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 raw MP=0 FP1=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 raw ParameterActive=3 FP3=25600 FP2=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf muss man sich für einen Parameter entscheiden, von dem man Feedback erhalten will. Diesen wählt man mit ParameterActive aus. Default ist ParameterActive=0 für MP. Ein Functional Parameter kann mit 1 - 16 ausgewählt werden.&lt;br /&gt;
Die aktuell bekannten Werte stehen in den Readings MP und FP1 bis FP16, wobei nur Readings für tatsächlich genutzte Parameter angelegt werden.&lt;br /&gt;
&lt;br /&gt;
Die Funktion &#039;&#039;&#039;set updateCurrentPosition&#039;&#039;&#039; aktualisiert die Readings MP und FP1 - FP7, falls vorhanden.&lt;br /&gt;
&lt;br /&gt;
Beispiele für Geräte mit mehreren Motoren:&lt;br /&gt;
* Somfy J4 io Protect&lt;br /&gt;
* evtl. VELUX SMG Doppelrollladen&lt;br /&gt;
&lt;br /&gt;
Wenn sich Nutzer melden sollten, die auf diese Weise Geräte mit mehreren Motoren getestet haben, dann kann entschieden werden, wie dieses Modul auf sinnvolle Weise weiterentwickelt werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beispiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
=== Verbindungsabbrüche ===&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
==== FHEM Update ====&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
==== OpenSSL ====&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
==== Perl SSL-Bibliotheken ====&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
&lt;br /&gt;
=== Registrieren von Geräten an der KLF200-Box ===&lt;br /&gt;
&lt;br /&gt;
Die [https://velcdn.azureedge.net/~/media/marketing/ch/fachleute/einbauanleitungen/elektro-nachrustung/zubehor/klf-200_bedienungsanleitung_basic%20de.pdf KLF200-Dokumentation] Seite 11 - 19 beschreibt 2 Varianten, um Geräte mit der Box zu koppeln.&lt;br /&gt;
&lt;br /&gt;
==== 1. Registrierung mit einer Zweiweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Schlüssel-Taste oder im Web-UI über PRODUKTE KOPIEREN.&lt;br /&gt;
&lt;br /&gt;
Es ist eine Zweiweg-Bedienung erforderlich, die in der Lage ist, die IO-Schlüssel zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Dieser Weg geht z.B. mit dem Control Pad KLR200, Somfy TaHoma, [https://www.somfy.de/hilfe-center/faq/wie-binde-ich-produkte-ein-die-bereits-mit-einem-2-wege-sender-angesteuert-werden Nina io, Telis Composio io, Impresario Chronis io, Easy Sun io und Telis 1 io.].&lt;br /&gt;
&lt;br /&gt;
TaHoma: anmelden, Menü &amp;quot;Sicherheitseinstellungen&amp;quot;, Reiter &amp;quot;io-System&amp;quot;, &amp;quot;SICHERHEITSSCHLÜSSEL SENDEN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== 2. Registrierung mit einer Einweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Reset-Taste oder im Web-UI über PRODUKTSUCHE.&lt;br /&gt;
&lt;br /&gt;
Hierzu wird das Gerät über eine Fernbedienung oder direkt am Gerät in einen Anlernzustand versetzt und dann einigen sich KLF200 und das Gerät über einen Schlüssel.&lt;br /&gt;
&lt;br /&gt;
Bei manchen Somfy-Geräten scheint dieser Weg nicht zu funktionieren, z.B. einige Somfy Smoove Produkte. Hier bleibt nur die Möglichkeit, die Schlüssel wie in Variante 1 von einer Somfy Zweiweg-Bedienung zu kopieren.&lt;br /&gt;
&lt;br /&gt;
=== WARNUNG vor Reset der KLF200-Box! ===&lt;br /&gt;
Sollten an der KLF200-Box schon Geräte registriert sein, dann ist ein Factory-Reset unbedingt zu vermeiden!&lt;br /&gt;
Die Geräte, die mit der KLF200 bereits Schlüssel ausgetauscht haben, lassen sich nicht ohne weiteres noch einmal registrieren.&lt;br /&gt;
Um diese Geräte nach einem Reset der KLF200 trotzdem zu registrieren, sind folgende Schritte notwendig:&lt;br /&gt;
# Die registrierten Geräte müssen komplett zurückgesetzt werden.&lt;br /&gt;
# Die entsprechenden Fernbedienungen müssen neu angelernt werden.&lt;br /&gt;
# Die Geräte können an der KLF200-Box registriert werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:io-homecontrol]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31722</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31722"/>
		<updated>2019-11-22T19:39:01Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* Raw-Befehle zum Testen von unbekannten Geräten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KLF200&#039;&#039;&#039; ist ein Modul zur Steuerung von &#039;&#039;&#039;io-homecontrol&#039;&#039;&#039; Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll &#039;&#039;io-homecontrol&#039;&#039;.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
** Somfy RS100 io&lt;br /&gt;
** Somfy Izymo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
** VELUX DML&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
* Markisen:&lt;br /&gt;
** VELUX MSL&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
** Somfy Maestria+ 50 io&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der [[#Registrieren von Geräten an der KLF200-Box|KLF 200 angelernt]] werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Raw-Befehle zum Testen von unbekannten Geräten ===&lt;br /&gt;
Die bisher beschriebenen Funktionen des KLF200Node-Moduls bieten einen vereinfachten Zugang zu io-homecontrol-Geräten mit nur einem Motor.&lt;br /&gt;
&lt;br /&gt;
Intern wird bei diesen Funktionen der MainParameter (MP) für die Steuerung des Motors und der Functional Parameter 1 (FP1) für die Velocity gesetzt.&lt;br /&gt;
Theoretisch können Geräte bis zu 16 Functional Parameter (FP1 bis FP16) haben. Der Wertebereich aller Parameter ist 0 - 65535, wobei sich 0 - 100% auf 0 - 51200 abbilden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Für Experten&#039;&#039;&#039; bietet die Funktion &#039;&#039;&#039;set raw&#039;&#039;&#039; die Möglichkeit, mehrere Parameter gleichzeitig zu setzen. Damit lassen sich dann z.B. die Lamellen von Raffstores bewegen.&lt;br /&gt;
Zuvor wird empfohlen, in der [https://velcdn.azureedge.net/~/media/com/api/klf200/technical%20specification%20for%20klf%20200%20api-ver3-16.pdf KLF 200 API] die folgenden Kapitel zu lesen:&lt;br /&gt;
* 10.1.1 GW_COMMAND_SEND_REQ&lt;br /&gt;
* 10.1.1.4 ParameterActive parameter&lt;br /&gt;
* 13 Appendix 1: Standard Parameter definition&lt;br /&gt;
* 14 Appendix 2: List of actuator types and their use of Main Parameter and Functional Parameters&lt;br /&gt;
		&lt;br /&gt;
Beispiel-Aufrufe:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 raw MP=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 raw MP=0 FP1=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 raw ParameterActive=3 FP3=25600 FP2=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf muss man sich für einen Parameter entscheiden, von dem man Feedback erhalten will. Diesen wählt man mit ParameterActive aus. Default ist ParameterActive=0 für MP. Ein Functional Parameter kann mit 1 - 16 ausgewählt werden.&lt;br /&gt;
Die aktuell bekannten Werte stehen in den Readings MP und FP1 bis FP16, wobei nur Readings für tatsächlich genutzte Parameter angelegt werden.&lt;br /&gt;
&lt;br /&gt;
Die Funktion &#039;&#039;&#039;set updateCurrentPosition&#039;&#039;&#039; aktualisiert die Readings MP und FP1 - FP7, falls vorhanden.&lt;br /&gt;
&lt;br /&gt;
Beispiele für Geräte mit mehreren Motoren:&lt;br /&gt;
* Somfy J4 io Protect&lt;br /&gt;
* evtl. VELUX SMG Doppelrollladen&lt;br /&gt;
&lt;br /&gt;
Wenn sich Nutzer melden sollten, die auf diese Weise Geräte mit mehreren Motoren getestet haben, dann kann entschieden werden, wie dieses Modul auf sinnvolle Weise weiterentwickelt werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beispiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
=== Verbindungsabbrüche ===&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
==== FHEM Update ====&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
==== OpenSSL ====&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
==== Perl SSL-Bibliotheken ====&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
&lt;br /&gt;
=== Registrieren von Geräten an der KLF200-Box ===&lt;br /&gt;
&lt;br /&gt;
Die [https://velcdn.azureedge.net/~/media/marketing/ch/fachleute/einbauanleitungen/elektro-nachrustung/zubehor/klf-200_bedienungsanleitung_basic%20de.pdf KLF200-Dokumentation] Seite 11 - 19 beschreibt 2 Varianten, um Geräte mit der Box zu koppeln.&lt;br /&gt;
&lt;br /&gt;
==== 1. Registrierung mit einer Zweiweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Schlüssel-Taste oder im Web-UI über PRODUKTE KOPIEREN.&lt;br /&gt;
&lt;br /&gt;
Es ist eine Zweiweg-Bedienung erforderlich, die in der Lage ist, die IO-Schlüssel zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Dieser Weg geht z.B. mit dem Control Pad KLR200, Somfy TaHoma, [https://www.somfy.de/hilfe-center/faq/wie-binde-ich-produkte-ein-die-bereits-mit-einem-2-wege-sender-angesteuert-werden Nina io, Telis Composio io, Impresario Chronis io, Easy Sun io und Telis 1 io.].&lt;br /&gt;
&lt;br /&gt;
TaHoma: anmelden, Menü &amp;quot;Sicherheitseinstellungen&amp;quot;, Reiter &amp;quot;io-System&amp;quot;, &amp;quot;SICHERHEITSSCHLÜSSEL SENDEN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== 2. Registrierung mit einer Einweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Reset-Taste oder im Web-UI über PRODUKTSUCHE.&lt;br /&gt;
&lt;br /&gt;
Hierzu wird das Gerät über eine Fernbedienung oder direkt am Gerät in einen Anlernzustand versetzt und dann einigen sich KLF200 und das Gerät über einen Schlüssel.&lt;br /&gt;
&lt;br /&gt;
Bei manchen Somfy-Geräten scheint dieser Weg nicht zu funktionieren, z.B. einige Somfy Smoove Produkte. Hier bleibt nur die Möglichkeit, die Schlüssel wie in Variante 1 von einer Somfy Zweiweg-Bedienung zu kopieren.&lt;br /&gt;
&lt;br /&gt;
=== WARNUNG vor Reset der KLF200-Box! ===&lt;br /&gt;
Sollten an der KLF200-Box schon Geräte registriert sein, dann ist ein Factory-Reset unbedingt zu vermeiden!&lt;br /&gt;
Die Geräte, die mit der KLF200 bereits Schlüssel ausgetauscht haben, lassen sich nicht ohne weiteres noch einmal registrieren.&lt;br /&gt;
Um diese Geräte nach einem Reset der KLF200 trotzdem zu registrieren, sind folgende Schritte notwendig:&lt;br /&gt;
# Die registrierten Geräte müssen komplett zurückgesetzt werden.&lt;br /&gt;
# Die entsprechenden Fernbedienungen müssen neu angelernt werden.&lt;br /&gt;
# Die Geräte können an der KLF200-Box registriert werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:io-homecontrol]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31721</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31721"/>
		<updated>2019-11-22T16:02:18Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KLF200&#039;&#039;&#039; ist ein Modul zur Steuerung von &#039;&#039;&#039;io-homecontrol&#039;&#039;&#039; Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll &#039;&#039;io-homecontrol&#039;&#039;.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
** Somfy RS100 io&lt;br /&gt;
** Somfy Izymo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
** VELUX DML&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
* Markisen:&lt;br /&gt;
** VELUX MSL&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
** Somfy Maestria+ 50 io&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der [[#Registrieren von Geräten an der KLF200-Box|KLF 200 angelernt]] werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Raw-Befehle zum Testen von unbekannten Geräten ===&lt;br /&gt;
Die bisher beschriebenen Funktionen des KLF200Node-Moduls bieten einen vereinfachten Zugang zu io-homecontrol-Geräten mit nur einem Motor.&lt;br /&gt;
&lt;br /&gt;
Intern wird bei diesen Funktionen der MainParameter (MP) für die Steuerung des Motors und der Functional Parameter 1 (FP1) für die Velocity gesetzt.&lt;br /&gt;
Theoretisch können Geräte bis zu 16 Functional Parameter (FP1 bis FP16) haben. Der Wertebereich aller Parameter ist 0 - 65535, wobei sich 0 - 100% auf 0 - 51200 abbilden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Für Experten&#039;&#039;&#039; bietet die Funktion &#039;&#039;&#039;set raw&#039;&#039;&#039; die Möglichkeit, mehrere Parameter gleichzeitig zu setzen. Damit lassen sich dann z.B. die Lamellen von Raffstores bewegen.&lt;br /&gt;
Zuvor wird empfohlen, in der [https://velcdn.azureedge.net/~/media/com/api/klf200/technical%20specification%20for%20klf%20200%20api-ver3-16.pdf KLF 200 API] die folgenden Kapitel zu lesen:&lt;br /&gt;
* 10.1.1 GW_COMMAND_SEND_REQ&lt;br /&gt;
* 10.1.1.4 ParameterActive parameter&lt;br /&gt;
* 13 Appendix 1: Standard Parameter definition&lt;br /&gt;
* 14 Appendix 2: List of actuator types and their use of Main Parameter and Functional Parameters&lt;br /&gt;
		&lt;br /&gt;
Beispiel-Aufrufe:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 raw MP=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 raw MP=0 FP1=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 raw ParameterActive=3 FP3=25600 FP2=51200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf muss man sich für einen Parameter entscheiden, von dem man Feedback erhalten will. Diesen wählt man mit ParameterActive aus. Default ist ParameterActive=0 für MP. Ein Functional Parameter kann mit 1 - 16 ausgewählt werden.&lt;br /&gt;
Die aktuell bekannten Werte stehen in den Readings MP und FP1 bis FP16, wobei nur Readings für tatsächlich genutzte Parameter angelegt werden.&lt;br /&gt;
&lt;br /&gt;
Die Funktion &#039;&#039;&#039;set updateCurrentPosition&#039;&#039;&#039; aktualisiert die Readings MP und FP1 - FP7, falls vorhanden.&lt;br /&gt;
&lt;br /&gt;
Wenn sich Nutzer melden sollten, die auf diese Weise Geräte mit mehreren Motoren getestet haben, dann kann entschieden werden, wie dieses Modul auf sinnvolle Weise weiterentwickelt werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beispiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
=== Verbindungsabbrüche ===&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
==== FHEM Update ====&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
==== OpenSSL ====&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
==== Perl SSL-Bibliotheken ====&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
&lt;br /&gt;
=== Registrieren von Geräten an der KLF200-Box ===&lt;br /&gt;
&lt;br /&gt;
Die [https://velcdn.azureedge.net/~/media/marketing/ch/fachleute/einbauanleitungen/elektro-nachrustung/zubehor/klf-200_bedienungsanleitung_basic%20de.pdf KLF200-Dokumentation] Seite 11 - 19 beschreibt 2 Varianten, um Geräte mit der Box zu koppeln.&lt;br /&gt;
&lt;br /&gt;
==== 1. Registrierung mit einer Zweiweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Schlüssel-Taste oder im Web-UI über PRODUKTE KOPIEREN.&lt;br /&gt;
&lt;br /&gt;
Es ist eine Zweiweg-Bedienung erforderlich, die in der Lage ist, die IO-Schlüssel zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Dieser Weg geht z.B. mit dem Control Pad KLR200, Somfy TaHoma, [https://www.somfy.de/hilfe-center/faq/wie-binde-ich-produkte-ein-die-bereits-mit-einem-2-wege-sender-angesteuert-werden Nina io, Telis Composio io, Impresario Chronis io, Easy Sun io und Telis 1 io.].&lt;br /&gt;
&lt;br /&gt;
TaHoma: anmelden, Menü &amp;quot;Sicherheitseinstellungen&amp;quot;, Reiter &amp;quot;io-System&amp;quot;, &amp;quot;SICHERHEITSSCHLÜSSEL SENDEN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== 2. Registrierung mit einer Einweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Reset-Taste oder im Web-UI über PRODUKTSUCHE.&lt;br /&gt;
&lt;br /&gt;
Hierzu wird das Gerät über eine Fernbedienung oder direkt am Gerät in einen Anlernzustand versetzt und dann einigen sich KLF200 und das Gerät über einen Schlüssel.&lt;br /&gt;
&lt;br /&gt;
Bei manchen Somfy-Geräten scheint dieser Weg nicht zu funktionieren, z.B. einige Somfy Smoove Produkte. Hier bleibt nur die Möglichkeit, die Schlüssel wie in Variante 1 von einer Somfy Zweiweg-Bedienung zu kopieren.&lt;br /&gt;
&lt;br /&gt;
=== WARNUNG vor Reset der KLF200-Box! ===&lt;br /&gt;
Sollten an der KLF200-Box schon Geräte registriert sein, dann ist ein Factory-Reset unbedingt zu vermeiden!&lt;br /&gt;
Die Geräte, die mit der KLF200 bereits Schlüssel ausgetauscht haben, lassen sich nicht ohne weiteres noch einmal registrieren.&lt;br /&gt;
Um diese Geräte nach einem Reset der KLF200 trotzdem zu registrieren, sind folgende Schritte notwendig:&lt;br /&gt;
# Die registrierten Geräte müssen komplett zurückgesetzt werden.&lt;br /&gt;
# Die entsprechenden Fernbedienungen müssen neu angelernt werden.&lt;br /&gt;
# Die Geräte können an der KLF200-Box registriert werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:io-homecontrol]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31411</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31411"/>
		<updated>2019-10-23T10:56:50Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* Unterstützte Geräte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KLF200&#039;&#039;&#039; ist ein Modul zur Steuerung von &#039;&#039;&#039;io-homecontrol&#039;&#039;&#039; Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll &#039;&#039;io-homecontrol&#039;&#039;.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
** Somfy RS100 io&lt;br /&gt;
** Somfy Izymo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
** VELUX DML&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
* Markisen:&lt;br /&gt;
** VELUX MSL&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
** Somfy Maestria+ 50 io&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der [[#Registrieren von Geräten an der KLF200-Box|KLF 200 angelernt]] werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beispiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
=== Verbindungsabbrüche ===&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
==== FHEM Update ====&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
==== OpenSSL ====&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
==== Perl SSL-Bibliotheken ====&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
&lt;br /&gt;
=== Registrieren von Geräten an der KLF200-Box ===&lt;br /&gt;
&lt;br /&gt;
Die [https://velcdn.azureedge.net/~/media/marketing/ch/fachleute/einbauanleitungen/elektro-nachrustung/zubehor/klf-200_bedienungsanleitung_basic%20de.pdf KLF200-Dokumentation] Seite 11 - 19 beschreibt 2 Varianten, um Geräte mit der Box zu koppeln.&lt;br /&gt;
&lt;br /&gt;
==== 1. Registrierung mit einer Zweiweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Schlüssel-Taste oder im Web-UI über PRODUKTE KOPIEREN.&lt;br /&gt;
&lt;br /&gt;
Es ist eine Zweiweg-Bedienung erforderlich, die in der Lage ist, die IO-Schlüssel zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Dieser Weg geht z.B. mit dem Control Pad KLR200, Somfy TaHoma, [https://www.somfy.de/hilfe-center/faq/wie-binde-ich-produkte-ein-die-bereits-mit-einem-2-wege-sender-angesteuert-werden Nina io, Telis Composio io, Impresario Chronis io, Easy Sun io und Telis 1 io.].&lt;br /&gt;
&lt;br /&gt;
TaHoma: anmelden, Menü &amp;quot;Sicherheitseinstellungen&amp;quot;, Reiter &amp;quot;io-System&amp;quot;, &amp;quot;SICHERHEITSSCHLÜSSEL SENDEN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== 2. Registrierung mit einer Einweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Reset-Taste oder im Web-UI über PRODUKTSUCHE.&lt;br /&gt;
&lt;br /&gt;
Hierzu wird das Gerät über eine Fernbedienung oder direkt am Gerät in einen Anlernzustand versetzt und dann einigen sich KLF200 und das Gerät über einen Schlüssel.&lt;br /&gt;
&lt;br /&gt;
Bei manchen Somfy-Geräten scheint dieser Weg nicht zu funktionieren, z.B. einige Somfy Smoove Produkte. Hier bleibt nur die Möglichkeit, die Schlüssel wie in Variante 1 von einer Somfy Zweiweg-Bedienung zu kopieren.&lt;br /&gt;
&lt;br /&gt;
=== WARNUNG vor Reset der KLF200-Box! ===&lt;br /&gt;
Sollten an der KLF200-Box schon Geräte registriert sein, dann ist ein Factory-Reset unbedingt zu vermeiden!&lt;br /&gt;
Die Geräte, die mit der KLF200 bereits Schlüssel ausgetauscht haben, lassen sich nicht ohne weiteres noch einmal registrieren.&lt;br /&gt;
Um diese Geräte nach einem Reset der KLF200 trotzdem zu registrieren, sind folgende Schritte notwendig:&lt;br /&gt;
# Die registrierten Geräte müssen komplett zurückgesetzt werden.&lt;br /&gt;
# Die entsprechenden Fernbedienungen müssen neu angelernt werden.&lt;br /&gt;
# Die Geräte können an der KLF200-Box registriert werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:io-homecontrol]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31408</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31408"/>
		<updated>2019-10-22T13:34:41Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* Unterstützte Geräte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;KLF200&#039;&#039;&#039; ist ein Modul zur Steuerung von &#039;&#039;&#039;io-homecontrol&#039;&#039;&#039; Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll &#039;&#039;io-homecontrol&#039;&#039;.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
** Somfy RS100 io&lt;br /&gt;
** Somfy Izymo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
** VELUX DML&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
* Markisen:&lt;br /&gt;
** VELUX MSL&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der [[#Registrieren von Geräten an der KLF200-Box|KLF 200 angelernt]] werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beispiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
=== Verbindungsabbrüche ===&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
==== FHEM Update ====&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
==== OpenSSL ====&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
==== Perl SSL-Bibliotheken ====&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
&lt;br /&gt;
=== Registrieren von Geräten an der KLF200-Box ===&lt;br /&gt;
&lt;br /&gt;
Die [https://velcdn.azureedge.net/~/media/marketing/ch/fachleute/einbauanleitungen/elektro-nachrustung/zubehor/klf-200_bedienungsanleitung_basic%20de.pdf KLF200-Dokumentation] Seite 11 - 19 beschreibt 2 Varianten, um Geräte mit der Box zu koppeln.&lt;br /&gt;
&lt;br /&gt;
==== 1. Registrierung mit einer Zweiweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Schlüssel-Taste oder im Web-UI über PRODUKTE KOPIEREN.&lt;br /&gt;
&lt;br /&gt;
Es ist eine Zweiweg-Bedienung erforderlich, die in der Lage ist, die IO-Schlüssel zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Dieser Weg geht z.B. mit dem Control Pad KLR200, Somfy TaHoma, [https://www.somfy.de/hilfe-center/faq/wie-binde-ich-produkte-ein-die-bereits-mit-einem-2-wege-sender-angesteuert-werden Nina io, Telis Composio io, Impresario Chronis io, Easy Sun io und Telis 1 io.].&lt;br /&gt;
&lt;br /&gt;
TaHoma: anmelden, Menü &amp;quot;Sicherheitseinstellungen&amp;quot;, Reiter &amp;quot;io-System&amp;quot;, &amp;quot;SICHERHEITSSCHLÜSSEL SENDEN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== 2. Registrierung mit einer Einweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Reset-Taste oder im Web-UI über PRODUKTSUCHE.&lt;br /&gt;
&lt;br /&gt;
Hierzu wird das Gerät über eine Fernbedienung oder direkt am Gerät in einen Anlernzustand versetzt und dann einigen sich KLF200 und das Gerät über einen Schlüssel.&lt;br /&gt;
&lt;br /&gt;
Bei manchen Somfy-Geräten scheint dieser Weg nicht zu funktionieren, z.B. einige Somfy Smoove Produkte. Hier bleibt nur die Möglichkeit, die Schlüssel wie in Variante 1 von einer Somfy Zweiweg-Bedienung zu kopieren.&lt;br /&gt;
&lt;br /&gt;
=== WARNUNG vor Reset der KLF200-Box! ===&lt;br /&gt;
Sollten an der KLF200-Box schon Geräte registriert sein, dann ist ein Factory-Reset unbedingt zu vermeiden!&lt;br /&gt;
Die Geräte, die mit der KLF200 bereits Schlüssel ausgetauscht haben, lassen sich nicht ohne weiteres noch einmal registrieren.&lt;br /&gt;
Um diese Geräte nach einem Reset der KLF200 trotzdem zu registrieren, sind folgende Schritte notwendig:&lt;br /&gt;
# Die registrierten Geräte müssen komplett zurückgesetzt werden.&lt;br /&gt;
# Die entsprechenden Fernbedienungen müssen neu angelernt werden.&lt;br /&gt;
# Die Geräte können an der KLF200-Box registriert werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:io-homecontrol]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Kategorie:Io-homecontrol&amp;diff=31297</id>
		<title>Kategorie:Io-homecontrol</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Kategorie:Io-homecontrol&amp;diff=31297"/>
		<updated>2019-10-01T20:02:24Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;io-homecontrol® ist eine verschlüsselte Zweiwege-Funktechnologie für Wohngebäude. Es werden Funkfrequenzen zwischen 868 MHz und 870 MHz genutzt. Das Funkprotokoll wird von diversen Haustechnik-Anbietern unterstützt. Die wichtigsten Anbieter sind Somfy und Velux. Die häufigsten Anwendungsfälle sind Rollladen, Dachfensteröffner und Markisen. Das Protokoll ist aber auch für weitere Gerätekategorien geeignet.&lt;br /&gt;
&lt;br /&gt;
Da das Protokoll und die Verschlüsselung nicht öffentlich bekannt sind ist für die Kommunikation von FHEM mit io-homecontrol-Aktoren und Sensoren eine Bridge erforderlich, z.B.&lt;br /&gt;
&lt;br /&gt;
* [[Velux KLF200]] (Nur Aktoren, lokales Netzwerk)&lt;br /&gt;
* Somfy TaHoma (Cloud)&lt;br /&gt;
* Somfy Connexoon Box (Cloud)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Hardware]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31033</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31033"/>
		<updated>2019-07-24T14:42:43Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* Problembehebung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
** Somfy Izymo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
** VELUX DML&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
* Markisen:&lt;br /&gt;
** VELUX MSL&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der [[#Registrieren von Geräten an der KLF200-Box|KLF 200 angelernt]] werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beispiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
=== Verbindungsabbrüche ===&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
==== FHEM Update ====&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
==== OpenSSL ====&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
==== Perl SSL-Bibliotheken ====&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
&lt;br /&gt;
=== Registrieren von Geräten an der KLF200-Box ===&lt;br /&gt;
&lt;br /&gt;
Die [https://velcdn.azureedge.net/~/media/marketing/ch/fachleute/einbauanleitungen/elektro-nachrustung/zubehor/klf-200_bedienungsanleitung_basic%20de.pdf KLF200-Dokumentation] Seite 11 - 19 beschreibt 2 Varianten, um Geräte mit der Box zu koppeln.&lt;br /&gt;
&lt;br /&gt;
==== 1. Registrierung mit einer Zweiweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Schlüssel-Taste oder im Web-UI über PRODUKTE KOPIEREN.&lt;br /&gt;
&lt;br /&gt;
Es ist eine Zweiweg-Bedienung erforderlich, die in der Lage ist, die IO-Schlüssel zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Dieser Weg geht z.B. mit dem Control Pad KLR200, Somfy TaHoma, [https://www.somfy.de/hilfe-center/faq/wie-binde-ich-produkte-ein-die-bereits-mit-einem-2-wege-sender-angesteuert-werden Nina io, Telis Composio io, Impresario Chronis io, Easy Sun io und Telis 1 io.].&lt;br /&gt;
&lt;br /&gt;
TaHoma: anmelden, Menü &amp;quot;Sicherheitseinstellungen&amp;quot;, Reiter &amp;quot;io-System&amp;quot;, &amp;quot;SICHERHEITSSCHLÜSSEL SENDEN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== 2. Registrierung mit einer Einweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Reset-Taste oder im Web-UI über PRODUKTSUCHE.&lt;br /&gt;
&lt;br /&gt;
Hierzu wird das Gerät über eine Fernbedienung oder direkt am Gerät in einen Anlernzustand versetzt und dann einigen sich KLF200 und das Gerät über einen Schlüssel.&lt;br /&gt;
&lt;br /&gt;
Bei manchen Somfy-Geräten scheint dieser Weg nicht zu funktionieren, z.B. einige Somfy Smoove Produkte. Hier bleibt nur die Möglichkeit, die Schlüssel wie in Variante 1 von einer Somfy Zweiweg-Bedienung zu kopieren.&lt;br /&gt;
&lt;br /&gt;
=== WARNUNG vor Reset der KLF200-Box! ===&lt;br /&gt;
Sollten an der KLF200-Box schon Geräte registriert sein, dann ist ein Factory-Reset unbedingt zu vermeiden!&lt;br /&gt;
Die Geräte, die mit der KLF200 bereits Schlüssel ausgetauscht haben, lassen sich nicht ohne weiteres noch einmal registrieren.&lt;br /&gt;
Um diese Geräte nach einem Reset der KLF200 trotzdem zu registrieren, sind folgende Schritte notwendig:&lt;br /&gt;
# Die registrierten Geräte müssen komplett zurückgesetzt werden.&lt;br /&gt;
# Die entsprechenden Fernbedienungen müssen neu angelernt werden.&lt;br /&gt;
# Die Geräte können an der KLF200-Box registriert werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31015</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31015"/>
		<updated>2019-07-19T15:03:32Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* 2. Registrierung mit einer Einweg-Bedienung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
** Somfy Izymo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
** VELUX DML&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
* Markisen:&lt;br /&gt;
** VELUX MSL&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der [[#Registrieren von Geräten an der KLF200-Box|KLF 200 angelernt]] werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beispiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
=== Verbindungsabbrüche ===&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
==== FHEM Update ====&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
==== OpenSSL ====&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
==== Perl SSL-Bibliotheken ====&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
&lt;br /&gt;
=== Registrieren von Geräten an der KLF200-Box ===&lt;br /&gt;
&lt;br /&gt;
Die [https://velcdn.azureedge.net/~/media/marketing/ch/fachleute/einbauanleitungen/elektro-nachrustung/zubehor/klf-200_bedienungsanleitung_basic%20de.pdf KLF200-Dokumentation] Seite 11 - 19 beschreibt 2 Varianten, um Geräte mit der Box zu koppeln.&lt;br /&gt;
&lt;br /&gt;
==== 1. Registrierung mit einer Zweiweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Schlüssel-Taste oder im Web-UI über PRODUKTE KOPIEREN.&lt;br /&gt;
&lt;br /&gt;
Es ist eine Zweiweg-Bedienung erforderlich, die in der Lage ist, die IO-Schlüssel zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Dieser Weg geht z.B. mit dem Control Pad KLR200, Somfy TaHoma, [https://www.somfy.de/hilfe-center/faq/wie-binde-ich-produkte-ein-die-bereits-mit-einem-2-wege-sender-angesteuert-werden Nina io, Telis Composio io, Impresario Chronis io, Easy Sun io und Telis 1 io.].&lt;br /&gt;
&lt;br /&gt;
TaHoma: anmelden, Menü &amp;quot;Sicherheitseinstellungen&amp;quot;, Reiter &amp;quot;io-System&amp;quot;, &amp;quot;SICHERHEITSSCHLÜSSEL SENDEN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== 2. Registrierung mit einer Einweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Reset-Taste oder im Web-UI über PRODUKTSUCHE.&lt;br /&gt;
&lt;br /&gt;
Hierzu wird das Gerät über eine Fernbedienung oder direkt am Gerät in einen Anlernzustand versetzt und dann einigen sich KLF200 und das Gerät über einen Schlüssel.&lt;br /&gt;
&lt;br /&gt;
Bei manchen Somfy-Geräten scheint dieser Weg nicht zu funktionieren, z.B. einige Somfy Smoove Produkte. Hier bleibt nur die Möglichkeit, die Schlüssel wie in Variante 1 von einer Somfy Zweiweg-Bedienung zu kopieren.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31014</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31014"/>
		<updated>2019-07-19T15:00:08Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* 1. Registrierung mit einer Zweiweg-Bedienung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
** Somfy Izymo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
** VELUX DML&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
* Markisen:&lt;br /&gt;
** VELUX MSL&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der [[#Registrieren von Geräten an der KLF200-Box|KLF 200 angelernt]] werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beispiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
=== Verbindungsabbrüche ===&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
==== FHEM Update ====&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
==== OpenSSL ====&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
==== Perl SSL-Bibliotheken ====&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
&lt;br /&gt;
=== Registrieren von Geräten an der KLF200-Box ===&lt;br /&gt;
&lt;br /&gt;
Die [https://velcdn.azureedge.net/~/media/marketing/ch/fachleute/einbauanleitungen/elektro-nachrustung/zubehor/klf-200_bedienungsanleitung_basic%20de.pdf KLF200-Dokumentation] Seite 11 - 19 beschreibt 2 Varianten, um Geräte mit der Box zu koppeln.&lt;br /&gt;
&lt;br /&gt;
==== 1. Registrierung mit einer Zweiweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Schlüssel-Taste oder im Web-UI über PRODUKTE KOPIEREN.&lt;br /&gt;
&lt;br /&gt;
Es ist eine Zweiweg-Bedienung erforderlich, die in der Lage ist, die IO-Schlüssel zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Dieser Weg geht z.B. mit dem Control Pad KLR200, Somfy TaHoma, [https://www.somfy.de/hilfe-center/faq/wie-binde-ich-produkte-ein-die-bereits-mit-einem-2-wege-sender-angesteuert-werden Nina io, Telis Composio io, Impresario Chronis io, Easy Sun io und Telis 1 io.].&lt;br /&gt;
&lt;br /&gt;
TaHoma: anmelden, Menü &amp;quot;Sicherheitseinstellungen&amp;quot;, Reiter &amp;quot;io-System&amp;quot;, &amp;quot;SICHERHEITSSCHLÜSSEL SENDEN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== 2. Registrierung mit einer Einweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Reset-Taste oder im Web-UI über PRODUKTSUCHE.&lt;br /&gt;
&lt;br /&gt;
Hierzu wird das Gerät über eine Fernbedienung oder direkt am Gerät in einen Anlernzustand versetzt und dann einigen sich KLF200 und das Gerät über einen Schlüssel.&lt;br /&gt;
&lt;br /&gt;
Bei manchen Somfy-Geräten scheint dieser Weg nicht zu funktionieren, z.B. einige Somfy Smoove Produkte. Hier bleibt nur die Möglichkeit, die Schlüssel wie in Variante 1 von einer Somfy Zweiweg-Bedienung wie z.B. TaHoma zu kopieren.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31013</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31013"/>
		<updated>2019-07-19T14:43:09Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
** Somfy Izymo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
** VELUX DML&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
* Markisen:&lt;br /&gt;
** VELUX MSL&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der [[#Registrieren von Geräten an der KLF200-Box|KLF 200 angelernt]] werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beispiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
=== Verbindungsabbrüche ===&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
==== FHEM Update ====&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
==== OpenSSL ====&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
==== Perl SSL-Bibliotheken ====&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
&lt;br /&gt;
=== Registrieren von Geräten an der KLF200-Box ===&lt;br /&gt;
&lt;br /&gt;
Die [https://velcdn.azureedge.net/~/media/marketing/ch/fachleute/einbauanleitungen/elektro-nachrustung/zubehor/klf-200_bedienungsanleitung_basic%20de.pdf KLF200-Dokumentation] Seite 11 - 19 beschreibt 2 Varianten, um Geräte mit der Box zu koppeln.&lt;br /&gt;
&lt;br /&gt;
==== 1. Registrierung mit einer Zweiweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Schlüssel-Taste oder im Web-UI über PRODUKTE KOPIEREN.&lt;br /&gt;
&lt;br /&gt;
Es ist eine Zweiweg-Bedienung erforderlich, die in der Lage ist, die IO-Schlüssel zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Dieser Weg geht z.B. mit dem Control Pad KLR200 und Somfy TaHoma.&lt;br /&gt;
&lt;br /&gt;
TaHoma: anmelden, Menü &amp;quot;Sicherheitseinstellungen&amp;quot;, Reiter &amp;quot;io-System&amp;quot;, &amp;quot;SICHERHEITSSCHLÜSSEL SENDEN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== 2. Registrierung mit einer Einweg-Bedienung ====&lt;br /&gt;
Dieser Weg funktioniert über die Reset-Taste oder im Web-UI über PRODUKTSUCHE.&lt;br /&gt;
&lt;br /&gt;
Hierzu wird das Gerät über eine Fernbedienung oder direkt am Gerät in einen Anlernzustand versetzt und dann einigen sich KLF200 und das Gerät über einen Schlüssel.&lt;br /&gt;
&lt;br /&gt;
Bei manchen Somfy-Geräten scheint dieser Weg nicht zu funktionieren, z.B. einige Somfy Smoove Produkte. Hier bleibt nur die Möglichkeit, die Schlüssel wie in Variante 1 von einer Somfy Zweiweg-Bedienung wie z.B. TaHoma zu kopieren.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31011</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=31011"/>
		<updated>2019-07-19T07:53:35Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* Unterstützte Geräte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
** Somfy Izymo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
** VELUX DML&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
* Markisen:&lt;br /&gt;
** VELUX MSL&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der KLF 200 angelernt werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beispiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
=== FHEM Update ===&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
=== OpenSSL ===&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
=== Perl SSL-Bibliotheken ===&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=30511</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=30511"/>
		<updated>2019-05-27T08:09:45Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
** VELUX DML&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
* Markisen:&lt;br /&gt;
** VELUX MSL&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der KLF 200 angelernt werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beispiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
=== FHEM Update ===&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
=== OpenSSL ===&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
=== Perl SSL-Bibliotheken ===&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=30427</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=30427"/>
		<updated>2019-05-11T15:26:52Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* Unterstützte Geräte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
* Markisen:&lt;br /&gt;
** VELUX MSL&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der KLF 200 angelernt werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beispiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
=== FHEM Update ===&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
=== OpenSSL ===&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
=== Perl SSL-Bibliotheken ===&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=30426</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=30426"/>
		<updated>2019-05-11T15:24:26Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* Unterstützte Geräte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
* Markisen:&lt;br /&gt;
** Velux MSL&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der KLF 200 angelernt werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beispiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
=== FHEM Update ===&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
=== OpenSSL ===&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
=== Perl SSL-Bibliotheken ===&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=30407</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=30407"/>
		<updated>2019-05-07T14:41:59Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* Extra Reading für den Regensensor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
* Markisen:&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der KLF 200 angelernt werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beispiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
=== FHEM Update ===&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
=== OpenSSL ===&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
=== Perl SSL-Bibliotheken ===&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=30266</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=30266"/>
		<updated>2019-04-25T20:50:25Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* Verbereitung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
* Markisen:&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Vorbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der KLF 200 angelernt werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beipiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde. &lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
=== FHEM Update ===&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
=== OpenSSL ===&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
=== Perl SSL-Bibliotheken ===&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=30233</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=30233"/>
		<updated>2019-04-23T08:12:10Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* Unterstützte Geräte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
* Markisen:&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Verbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der KLF 200 angelernt werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beipiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde. &lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
=== FHEM Update ===&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
=== OpenSSL ===&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
=== Perl SSL-Bibliotheken ===&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=30232</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=30232"/>
		<updated>2019-04-23T08:11:41Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* Unterstützte Geräte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
* Markisen&lt;br /&gt;
** Somfy Sunea io&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Verbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der KLF 200 angelernt werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beipiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde. &lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
=== FHEM Update ===&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
=== OpenSSL ===&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
=== Perl SSL-Bibliotheken ===&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=30030</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=30030"/>
		<updated>2019-04-01T14:33:47Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* state */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Verbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der KLF 200 angelernt werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch &#039;&#039;&#039;off&#039;&#039;&#039; ersetzt wird und 100 durch &#039;&#039;&#039;on&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten.&lt;br /&gt;
&lt;br /&gt;
Es werden die &#039;&#039;&#039;set extensions&#039;&#039;&#039; unterstützt. Damit können mit einem Set ein oder mehrere Befehle zeitgesteuert abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
Doku: [https://fhem.de/commandref_DE.html#set set extensions in der commandref] und im [[DevelopmentModuleIntro#X_Set]] jeweils etwas weiter unten.&lt;br /&gt;
&lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beipiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde. &lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
=== FHEM Update ===&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
=== OpenSSL ===&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
=== Perl SSL-Bibliotheken ===&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29908</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29908"/>
		<updated>2019-03-15T09:23:23Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Verbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der KLF 200 angelernt werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch off ersetzt wird und 100 durch on.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten. &lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beipiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde. &lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Problembehebung ==&lt;br /&gt;
Sollte es zu Verbindungsabbrüchen zwischen FHEM und der KLF200-Box kommen, dann sind folgende Dinge zu überprüfen:&lt;br /&gt;
=== FHEM Update ===&lt;br /&gt;
Ist FHEM aktuell? Am 18.12.2018 gab es ein wichtiges FHEM-Update, das die Stabilität von SSL-Verbindungen wesentlich verbessert hat.&lt;br /&gt;
=== OpenSSL ===&lt;br /&gt;
OpenSLL sollte immer aktuell sein.&lt;br /&gt;
=== Perl SSL-Bibliotheken ===&lt;br /&gt;
Wenn die Perl SSL-Bibliotheken zu alt sind, ist das oben genannte FHEM-Update wirkungslos.&lt;br /&gt;
* IO::Socket::SSL&lt;br /&gt;
* Net::SSL&lt;br /&gt;
* Net::SSLeay&lt;br /&gt;
* Net::SSLeay::Handle&lt;br /&gt;
* Crypt::SSLeay&lt;br /&gt;
* Net::Server::Proto::SSL&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29907</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29907"/>
		<updated>2019-03-15T09:07:25Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* Vorschläge zur schöneren Darstellung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Verbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der KLF 200 angelernt werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch off ersetzt wird und 100 durch on.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten. &lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beipiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde. &lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachschrägenfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachschrägenfenster in drei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 59%: halb geöffnet&lt;br /&gt;
&lt;br /&gt;
60% - 100%: ganz geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_4 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_4 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_window_roof:toggle [1-5]\d.\(.*:fts_window_roof_open_1:toggle [6-9]\d.\(.*:fts_window_roof_open_2:toggle 100.\(.*:fts_window_roof_open_2:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dachkuppelfenster mit Regensensor ===&lt;br /&gt;
Dieses Beispiel stellt ein Dachkuppelfenster in zwei Stufen dar:&lt;br /&gt;
&lt;br /&gt;
0% - 9%: geschlossen&lt;br /&gt;
&lt;br /&gt;
10% - 100%: geöffnet&lt;br /&gt;
&lt;br /&gt;
Bei Bewegung erscheint ein Pfeil nach oben bzw. nach unten.&lt;br /&gt;
&lt;br /&gt;
Wenn es regnet, erscheint eine Regenwolke. (limitationMax = 7)&lt;br /&gt;
&lt;br /&gt;
Ein Klick auf das Icon setzt das Fenster in Bewegung oder hält es an (toggle).&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_5 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 stateFormat pct (limitationMin - limitationMax) execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_5 devStateIcon .*up:control_arrow_up:toggle .*down:control_arrow_down:toggle .*-.7\).*:weather_rain:toggle \d.\(.*:fts_light_dome:toggle [1-9]\d.\(.*:fts_light_dome_open:toggle 100.\(.*:fts_light_dome_open:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29874</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29874"/>
		<updated>2019-03-13T16:06:01Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Verbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der KLF 200 angelernt werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch off ersetzt wird und 100 durch on.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten. &lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beipiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde. &lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Datei:RollerShutterUpDown.png|300px|Rollladen mit Pfeilen]]&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Datei:RollerShutterUpDown.png&amp;diff=29873</id>
		<title>Datei:RollerShutterUpDown.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Datei:RollerShutterUpDown.png&amp;diff=29873"/>
		<updated>2019-03-13T15:58:16Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: devStateIcon für Rollladen mit Pfeilen bei aktueller Bewegung.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Beschreibung ==&lt;br /&gt;
devStateIcon für Rollladen mit Pfeilen bei aktueller Bewegung.&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29850</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29850"/>
		<updated>2019-03-11T13:54:50Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Verbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der KLF 200 angelernt werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux scene &amp;quot;Alle zu&amp;quot; SILENT&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch off ersetzt wird und 100 durch on.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten. &lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.&lt;br /&gt;
==== Reading velocity ====&lt;br /&gt;
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann.&lt;br /&gt;
Selbst bei Not supported wäre es einen Versuch wert, es zu testen.&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200Node das Attribut velocity setzen, das bei der Ausführung von Kommandos herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beipiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde. &lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29794</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29794"/>
		<updated>2019-03-08T13:40:09Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: /* Modul KLF200 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Verbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der KLF 200 angelernt werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== Verbindungsstatus ===&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== Ausführung von Programmen (Szenen) ===&lt;br /&gt;
Obwohl man mit dem Modul KLF200Node jedes Gerät unabhängig und auch gleichzeitig steuern kann, sind Szenen eine nützliche Ergänzung. So kann man mit Szenen wie &amp;quot;Alle zu&amp;quot; oder &amp;quot;Alle auf&amp;quot; viele Geräte gleichzeitig mit einem Befehl bedienen.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.&lt;br /&gt;
&lt;br /&gt;
=== Ausführungsgeschwindigkeit: Schnell, Flüstermodus ===&lt;br /&gt;
Bei vielen aktuellen Geräten lässt sich die Ausführungsgeschwindigkeit (Velocity) variieren. So lässt sich die Geschwindigkeit gegenüber der Default-Geschwindigkeit noch erhöhen oder auch deutlich reduzieren. So ist eine besonders leise Bedienung möglich.&lt;br /&gt;
&lt;br /&gt;
==== Argument DEFAULT, FAST, SILENT ====&lt;br /&gt;
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen.&lt;br /&gt;
Unterstützte Werte sind DEFAULT, FAST und SILENT&lt;br /&gt;
==== Attribut velocity ====&lt;br /&gt;
Alternativ kann man im Modul KLF200 das Attribut velocity setzen, das bei der Ausführung von Szenen herangezogen wird, wenn das oben genannte Argument nicht gesetzt ist.&lt;br /&gt;
&lt;br /&gt;
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch off ersetzt wird und 100 durch on.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten. &lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beipiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde. &lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29767</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29767"/>
		<updated>2019-03-04T20:44:23Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Verbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der KLF 200 angelernt werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch off ersetzt wird und 100 durch on.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten. &lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Tests mit 120 sind erfolgreich durchgelaufen. Dieser Wert ist vielleicht etwas übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ein Intervall von 600 ist vielleicht sinnvoller. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra Reading für den Regensensor ====&lt;br /&gt;
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen.&lt;br /&gt;
Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beipiel &amp;quot;Regen&amp;quot; oder &amp;quot;trocken&amp;quot;.&lt;br /&gt;
Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_3 userReadings sensor {(ReadingsVal($name,&amp;quot;limitationMax&amp;quot;,100) == 7)?&amp;quot;Regen&amp;quot;:&amp;quot;trocken&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde. &lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29715</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29715"/>
		<updated>2019-03-03T20:52:48Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Verbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der KLF 200 angelernt werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch off ersetzt wird und 100 durch on.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten. &lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Ich habe es mal mit 120 durchlaufen lassen und es lief alles gut. Ich halte das aber für übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ich denke, 600 ist eine gute Zahl, muss aber jeder selbst wissen. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vorschläge zur schöneren Darstellung ==&lt;br /&gt;
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.&lt;br /&gt;
&lt;br /&gt;
=== Rollladen ===&lt;br /&gt;
Dieses Beispiel stellt den Status des Rollladen 10-Prozent genau im Icon dar. Bewegen sich der Rollladen, hat das Icon einen Pfeil nach oben oder unten. Ein Klick auf das Icon setzt den Rollladen in Bewegung oder hält ihn an (toggle).&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 stateFormat pct execution&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 devStateIcon .*up:fts_shutter_up:toggle .*down:fts_shutter_down:toggle \d.stop:fts_shutter_100:toggle 1\d.stop:fts_shutter_90:toggle 2\d.stop:fts_shutter_80:toggle 3\d.stop:fts_shutter_70:toggle 4\d.stop:fts_shutter_60:toggle 5\d.stop:fts_shutter_50:toggle 6\d.stop:fts_shutter_40:toggle 7\d.stop:fts_shutter_30:toggle 8\d.stop:fts_shutter_20:toggle 9\d.stop:fts_shutter_10:toggle 100.stop:fts_window_2w:toggle&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So erhält man einen Slider für die Rollladenposition:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 webCmd pct&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29706</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29706"/>
		<updated>2019-03-03T20:28:51Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Verbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der KLF 200 angelernt werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
==== STATE ====&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
==== scene/sceneID ====&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch off ersetzt wird und 100 durch on.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten. &lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.&lt;br /&gt;
:&amp;lt;code&amp;gt;attr Velux_2 directionOn down&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Begrenzung des Bewegungsradius / Limitation ===&lt;br /&gt;
Die io-homecontrol Geräte haben ein Feature eingebaut, um den Bewegungsradius der Geräte einzuschränken, egal von wo aus sie gesteuert werden. Dieses Limitation-Feature ist in dieses FHEM-Modul ebenfalls integriert.&lt;br /&gt;
==== limitationMin und limitationMax ====&lt;br /&gt;
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen.&lt;br /&gt;
Natürlich kann man auch selbst von der Limitation Gebrauch machen. Man kann z.B. einen Rollladen begrenzen, wenn man weiß, dass das Dachfenster weit offen ist. Dann kann der Rollladen nicht gegen das Fenster stoßen, selbst wenn man ihn mit der Fernbedienung bewegt. &lt;br /&gt;
==== limiationClear ====&lt;br /&gt;
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.&lt;br /&gt;
==== updateLimiation ====&lt;br /&gt;
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
=== Auswerten der Regensensoren ===&lt;br /&gt;
Die Regensensoren von Velux Fensteröffnern machen von diesem Limitation-Feature Gebrauch. Wenn es regnet, wird der Bewegungsradius der Fenster eingeschränkt. Zum Beispiel (evtl. Geräte-abhängig):&lt;br /&gt;
* limitationMax = 7 bei Regen,&lt;br /&gt;
* limitationMax = 100 wenn es aufhört.&lt;br /&gt;
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.&lt;br /&gt;
&lt;br /&gt;
==== limitationUpdateInterval ====&lt;br /&gt;
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:&lt;br /&gt;
* off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.&lt;br /&gt;
* onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.&lt;br /&gt;
* interval in s: Ein Poll-Intervall in Sekunden. Ich habe es mal mit 120 durchlaufen lassen und es lief alles gut. Ich halte das aber für übertrieben, man denke an das Funkfeuer und den Akku der Geräte. Ich denke, 600 ist eine gute Zahl, muss aber jeder selbst wissen. Beispiele:&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_1 limitationUpdateInterval off&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_2 limitationUpdateInterval onChange&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;set Velux_3 limitationUpdateInterval 600&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29687</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29687"/>
		<updated>2019-03-01T08:53:02Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=x&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModFTopic=92907&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ({{Link2FU|21440|Forum}} / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Verbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der KLF 200 angelernt werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;update all &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
:&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
:&amp;lt;code&amp;gt;define Velux KLF200 192.168.0.66&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== STATE ===&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== scene/sceneID ===&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
=== Aktueller Status ===&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
==== pct ====&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.&lt;br /&gt;
&lt;br /&gt;
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
==== state ====&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch off ersetzt wird und 100 durch on.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten. &lt;br /&gt;
==== execution ====&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
==== Attribut directionOn ====&lt;br /&gt;
Wie oben beschrieben, entspricht per Default on = 100 = up.&lt;br /&gt;
&lt;br /&gt;
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. &lt;br /&gt;
Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
attr Velux_2 directionOn down&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Support im Forum gibt es unter {{Link2Forum|Topic=92907|LinkText=Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol}} &lt;br /&gt;
* Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29683</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29683"/>
		<updated>2019-02-28T21:42:41Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=d&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModForumArea=&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ([https://forum.fhem.de/index.php?action=profile;u=21440 Forum] / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktorenfunktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
=== Verbereitung ===&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der KLF 200 angelernt werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update all https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&lt;br /&gt;
shutdown restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update add https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anlegen der Geräte ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define &amp;lt;name&amp;gt; KLF200 &amp;lt;host&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define Velux KLF200 192.168.0.66&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach Login durch Eingabe des Passwortes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set &amp;lt;name&amp;gt; login &amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. &lt;br /&gt;
Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI.&lt;br /&gt;
Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde.&lt;br /&gt;
Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum  KLF200Node angelegt.&lt;br /&gt;
Die Namen der Geräte folgen dem Muster &amp;lt;name&amp;gt;_&amp;lt;NodeID&amp;gt;.&lt;br /&gt;
Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.&lt;br /&gt;
&lt;br /&gt;
Die Geräte sind jetzt einsatzbereit.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200 ==&lt;br /&gt;
=== STATE ===&lt;br /&gt;
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.&lt;br /&gt;
=== scene/sceneID ===&lt;br /&gt;
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen.&lt;br /&gt;
Im entsprechenden Reading steht die zuletzt aufgerufene Szene.&lt;br /&gt;
&lt;br /&gt;
== Modul KLF200Node ==&lt;br /&gt;
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt&lt;br /&gt;
und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.&lt;br /&gt;
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.&lt;br /&gt;
=== pct ===&lt;br /&gt;
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen.&lt;br /&gt;
Per Default entspricht 100 auf der Fernbedienung oben und 0 unten. &lt;br /&gt;
=== state ===&lt;br /&gt;
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch off ersetzt wird und 100 durch on.&lt;br /&gt;
&lt;br /&gt;
Die Set-Funktion funktioniert analog.&lt;br /&gt;
Per Default entspricht on auf der Fernbedienung oben und off unten. &lt;br /&gt;
=== execution ===&lt;br /&gt;
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop.&lt;br /&gt;
Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.&lt;br /&gt;
&lt;br /&gt;
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten.&lt;br /&gt;
Bei stop wird die aktuelle Ausführung angehalten.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
Support im Forum gibt es unter [https://forum.fhem.de/index.php/topic,92907.0.html Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol]&lt;br /&gt;
&lt;br /&gt;
Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29682</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29682"/>
		<updated>2019-02-28T20:11:28Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=d&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModForumArea=&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ([https://forum.fhem.de/index.php?action=profile;u=21440 Forum] / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
== Velux KLF 200 ==&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann.&lt;br /&gt;
Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern.&lt;br /&gt;
Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktorenfunktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rollladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
&lt;br /&gt;
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der KLF 200 angelernt werden.&lt;br /&gt;
Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben.&lt;br /&gt;
Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen,&lt;br /&gt;
um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen und aktualisiert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update all https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&lt;br /&gt;
shutdown restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update add https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Support im Forum gibt es unter [https://forum.fhem.de/index.php/topic,92907.0.html Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol]&lt;br /&gt;
&lt;br /&gt;
Github: [https://github.com/buennerbernd/fhem/tree/master/KLF200/2.0 FHEM modules KLF200 and KLF200Node] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29676</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29676"/>
		<updated>2019-02-28T11:59:25Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=d&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModForumArea=&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ([https://forum.fhem.de/index.php?action=profile;u=21440 Forum] / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich sollten alle io-homecontrol Aktoren unterstützt sein. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden&lt;br /&gt;
von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.&lt;br /&gt;
&lt;br /&gt;
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:&lt;br /&gt;
&lt;br /&gt;
* Rolladen:&lt;br /&gt;
** VELUX SML&lt;br /&gt;
** VELUX SSL&lt;br /&gt;
** Somfy Oximo io&lt;br /&gt;
* Sichtschutz innen:&lt;br /&gt;
** VELUX FSK&lt;br /&gt;
* Fensteröffner mit integriertem Regensensor:&lt;br /&gt;
** VELUX KMG&lt;br /&gt;
** VELUX CVP&lt;br /&gt;
** VELUX KSX&lt;br /&gt;
&lt;br /&gt;
== Benutzung in FHEM ==&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update all https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&lt;br /&gt;
shutdown restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Support im Forum gibt es unter [https://forum.fhem.de/index.php/topic,92907.0.html Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29674</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29674"/>
		<updated>2019-02-27T21:51:18Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=d&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModForumArea=&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ([https://forum.fhem.de/index.php?action=profile;u=21440 Forum] / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol.&lt;br /&gt;
Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. [https://www.velux.com/api/klf200 Download und weitere Informationen]&lt;br /&gt;
&lt;br /&gt;
Das Gateway hat keine Cloud-Integration.&lt;br /&gt;
&lt;br /&gt;
Das Modul wird momentan noch nicht über FHEM ausgeliefert.&lt;br /&gt;
Es wird wie folgt geladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
update all https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt&lt;br /&gt;
shutdown restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Support im Forum gibt es unter [https://forum.fhem.de/index.php/topic,92907.0.html Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol] &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29673</id>
		<title>Velux KLF200</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KLF200&amp;diff=29673"/>
		<updated>2019-02-27T21:28:08Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: Die Seite wurde neu angelegt: „{{Baustelle}} {{Infobox Modul |ModPurpose=Anbindung io-homecontrol Aktoren an FHEM |ModType=d |ModCmdRef=KLF200 |ModForumArea= |ModTechName=83_KLF200.pm  |ModO…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Baustelle}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Anbindung io-homecontrol Aktoren an FHEM&lt;br /&gt;
|ModType=d&lt;br /&gt;
|ModCmdRef=KLF200&lt;br /&gt;
|ModForumArea=&lt;br /&gt;
|ModTechName=83_KLF200.pm &lt;br /&gt;
|ModOwner=buennerbernd ([https://forum.fhem.de/index.php?action=profile;u=21440 Forum] / [[Benutzer Diskussion:Buennerbernd|Wiki]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[KLF200]] ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Velux_KUX_100&amp;diff=29672</id>
		<title>Velux KUX 100</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Velux_KUX_100&amp;diff=29672"/>
		<updated>2019-02-27T21:26:53Z</updated>

		<summary type="html">&lt;p&gt;Buennerbernd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Vorwort==&lt;br /&gt;
Wird ein VELUX Rolladen neu eingebaut und man hat die Absicht diesen mit FHEM zu steuern so sollte zwingend darauf geachtet werden KEINE Steuerbox (zb. KLF-100) anzuschließen. Auch nicht mal zu testen. Hat der Rollen einmal solche Steuerbox erkannt, schaltet er intern auf diesen SteuerboxModus um und ist nicht mehr per Polumschaltung steuerbar!&lt;br /&gt;
&lt;br /&gt;
Wenn der Rolladen im SteuerboxModus ist, muss hier weitergelesen werden. &lt;br /&gt;
&lt;br /&gt;
==Wenn VELUX io-homecontrol bereits genutzt wird==&lt;br /&gt;
Einbindung von Velux io-homecontrol Rollos (Velux KUX 100) lässt sich ohne Weiteres nicht mit FHEM erreichen.&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Velux hat den [[KLF200]] als &amp;quot;Schnittstelle für VELUX INTEGRA® Produkte (Verfügbar ab Dezember 2016)&amp;quot; angekündigt. Eine einfache Lösung naht also.&lt;br /&gt;
Bei mir habe ich folgende Lösung in der Umsetzung:&lt;br /&gt;
Die originalen Handsender der KUX100 werden zerlegt. Die 3 Kontakte für Auf - Stop - Ab werden mit 3 Relais verbunden.&lt;br /&gt;
Die Relais wiederum werden von einem FS20 SM8 Modul geschaltet.&lt;br /&gt;
&lt;br /&gt;
Die notwendigen Auslöseschritte für das Auf - Ab Schalten der Relais werden dann in einem neuen FS20 Dummy Device zusammengefasst.&lt;br /&gt;
&lt;br /&gt;
Anbei der Code aus meiner Fhem.cfg für 1 Rollo.&lt;br /&gt;
&lt;br /&gt;
Update 04-Mai-2012:&lt;br /&gt;
Die 50% Auf und Ab Lösung mit Verwendung der Sleep Funktion bereitete einige Probleme, daher hier eine angepasste Version mit &amp;quot;Notify at&amp;quot; anstatt Sleep, um die Rollo Auf/Ab Bewegung nach einer definierten Zeit zu stoppen.&lt;br /&gt;
&lt;br /&gt;
Der Aufruf mehrerer verketteter Rollo Auf Aufrufe funktioniert dann auch wieder (war mit Sleep schwierig).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# ---------- START Definition Schlafzimmer_Oben_Nord ROLLLADEN -------------&lt;br /&gt;
# Definition Schalter AUF Adresse vom FS20 SM8 - Kanal1 / Über Relais den &amp;amp;quot;Auf&amp;amp;quot; Schalter der OriginalFernbedienung schalten&lt;br /&gt;
define RS_SZO_N_Auf FS20 ab01 00&lt;br /&gt;
attr RS_SZO_N_Auf IODev CUNO_O&lt;br /&gt;
attr RS_SZO_N_Auf model fs20&lt;br /&gt;
attr RS_SZO_N_Auf room 5_SYSTEM&lt;br /&gt;
# Definition Schalter AB Adresse vom FS20 SM8 - Kanal2 / Über Relais den &amp;amp;quot;Ab&amp;amp;quot; Schalter der OriginalFernbedienung schalten&lt;br /&gt;
define RS_SZO_N_Ab FS20 ab02 00&lt;br /&gt;
attr RS_SZO_N_Ab IODev CUNO_O&lt;br /&gt;
attr RS_SZO_N_Ab model fs20&lt;br /&gt;
attr RS_SZO_N_Ab room 5_SYSTEM&lt;br /&gt;
# Definition Schalter STOP Adresse vom FS20 SM8 - Kanal3 / Über Relais den &amp;amp;quot;Stop&amp;amp;quot; Schalter der OriginalFernbedienung schalten&lt;br /&gt;
define RS_SZO_N_Stop FS20 ab03 00&lt;br /&gt;
attr RS_SZO_N_Stop IODev CUNO_O&lt;br /&gt;
attr RS_SZO_N_Stop model fs20&lt;br /&gt;
attr RS_SZO_N_Stop room 5_SYSTEM&lt;br /&gt;
# Definition eines Dummy FS20 der im entsprechenden Raum (OG) angezeigt wird, und die Schaltvorgänge triggert&lt;br /&gt;
#define Rollo_SchlafZ_O_N FS20 f1f1 00&lt;br /&gt;
define Rollo_SchlafZ_O_N dummy&lt;br /&gt;
attr Rollo_SchlafZ_O_N eventMap /on:Ab/off:Auf/dim06%:Ab50/dim93%:Auf50/&lt;br /&gt;
attr Rollo_SchlafZ_O_N room 2_ROLLLADEN&lt;br /&gt;
attr Rollo_SchlafZ_O_N webCmd Ab:Auf:Ab50:Auf50&lt;br /&gt;
#Rollo AB 100% - AB Taste 1 Sekunde auslösen&lt;br /&gt;
define RSZO_N_Ab notify Rollo_SchlafZ_O_N.on set RS_SZO_N_Ab on-for-timer 1&lt;br /&gt;
attr RSZO_N_Ab room 5_SYSTEM&lt;br /&gt;
#Rollo AUF 100% - AUF Taste 1 Sekunde auslösen&lt;br /&gt;
define RSZO_N_Auf notify Rollo_SchlafZ_O_N.off set RS_SZO_N_Auf on-for-timer 1&lt;br /&gt;
attr RSZO_N_Auf room 5_SYSTEM&lt;br /&gt;
#Rollo AB50% - 15 Sekunden Rolladen Abwärts - ggf. die Sleep Zeit anpassen&lt;br /&gt;
define RSZO_N_Ab50 notify Rollo_SchlafZ_O_N.dim06% {\&lt;br /&gt;
 fhem &amp;amp;quot;set RS_SZO_N_Ab on-for-timer 1&amp;amp;quot;;;\  &lt;br /&gt;
 fhem &amp;amp;quot;define Rollo_SZO_N_Stop at +*{1}00:00:41 set RS_SZO_N_Stop on-for-timer 1&amp;amp;quot;;;\&lt;br /&gt;
 fhem &amp;amp;quot;attr Rollo_SZO_N_Stop room 5_SYSTEM&amp;amp;quot;;;\&lt;br /&gt;
}&lt;br /&gt;
attr RSZO_N_Ab50 room 5_SYSTEM&lt;br /&gt;
#Rollo AUF50% - 15 Sekunden Rolladen Aufwärts - ggf. die Sleep Zeit anpassen&lt;br /&gt;
define RSZO_N_Auf50 notify Rollo_SchlafZ_O_N.dim93% {\&lt;br /&gt;
 fhem &amp;amp;quot;set RS_SZO_N_Auf on-for-timer 1&amp;amp;quot;;;\  &lt;br /&gt;
 fhem &amp;amp;quot;define Rollo_SZO_N_Stop at +*{1}00:00:30 set RS_SZO_N_Stop on-for-timer 1&amp;amp;quot;;;\&lt;br /&gt;
 fhem &amp;amp;quot;attr Rollo_SZO_N_Stop room 5_SYSTEM&amp;amp;quot;;;\&lt;br /&gt;
}&lt;br /&gt;
attr RSZO_N_Auf50 room 5_SYSTEM&lt;br /&gt;
# ---------- ENDE Definition Schlafzimmer_Oben_Nord ROLLLADEN -------------&lt;br /&gt;
# ---------- Routine um mehrere Rollos zeitversetzt nach Sunrise / Sunset Notify zu steuern (um SM8 Befehle zeitlich zu entspannen).&lt;br /&gt;
define Rollladen_OG_Morgens_Auf at *{sunrise(-210,&#039;05:30&#039;,&#039;08:00&#039;)} {\&lt;br /&gt;
 fhem &amp;amp;quot;set Rollo_ArbeitsZ Auf50%&amp;amp;quot;;;\  &lt;br /&gt;
 fhem &amp;amp;quot;define Rollladen_OG_Morgens_Timer_N at +*{1}00:00:30 set Rollo_SchlafZ_O_N Auf50&amp;amp;quot;;;\&lt;br /&gt;
 fhem &amp;amp;quot;attr Rollladen_OG_Morgens_Timer_N room 5_SYSTEM&amp;amp;quot;;;\&lt;br /&gt;
 fhem &amp;amp;quot;define Rollladen_OG_Morgens_Timer_SL at +*{1}00:01:00 set Rollo_SchlafZ_O_SL Auf50&amp;amp;quot;;;\&lt;br /&gt;
 fhem &amp;amp;quot;attr Rollladen_OG_Morgens_Timer_SL room 5_SYSTEM&amp;amp;quot;;;\&lt;br /&gt;
 fhem &amp;amp;quot;define Rollladen_OG_Morgens_Timer_SR at +*{1}00:01:30 set Rollo_SchlafZ_O_SR Auf50&amp;amp;quot;;;\&lt;br /&gt;
 fhem &amp;amp;quot;attr Rollladen_OG_Morgens_Timer_SR room 5_SYSTEM&amp;amp;quot;;;\&lt;br /&gt;
}&lt;br /&gt;
attr Rollladen_OG_Morgens_Auf room 2_ROLLLADEN&lt;br /&gt;
define Rollladen_OG_Abends_Ab at *{sunset(330,&#039;19:00&#039;,&#039;22:00&#039;)} {\&lt;br /&gt;
 fhem &amp;amp;quot;set Rollo_ArbeitsZ Ab&amp;amp;quot;;;\  &lt;br /&gt;
 fhem &amp;amp;quot;define Rollladen_OG_Morgens_Timer_N at +*{1}00:00:30 set Rollo_SchlafZ_O_N Ab&amp;amp;quot;;;\&lt;br /&gt;
 fhem &amp;amp;quot;attr Rollladen_OG_Morgens_Timer_N room 5_SYSTEM&amp;amp;quot;;;\&lt;br /&gt;
 fhem &amp;amp;quot;define Rollladen_OG_Morgens_Timer_SL at +*{1}00:01:00 set Rollo_SchlafZ_O_SL Ab&amp;amp;quot;;;\&lt;br /&gt;
 fhem &amp;amp;quot;attr Rollladen_OG_Morgens_TimerSL room 5_SYSTEM&amp;amp;quot;;;\&lt;br /&gt;
 fhem &amp;amp;quot;define Rollladen_OG_Morgens_Timer_SR at +*{1}00:01:30 set Rollo_SchlafZ_O_SR Ab&amp;amp;quot;;;\&lt;br /&gt;
 fhem &amp;amp;quot;attr Rollladen_OG_Morgens_Timer_SR room 5_SYSTEM&amp;amp;quot;;;\&lt;br /&gt;
}&lt;br /&gt;
attr Rollladen_OG_Abends_Ab room 2_ROLLLADEN&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Code Snippets]]&lt;br /&gt;
[[Kategorie:Rollladensteuerung]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;/div&gt;</summary>
		<author><name>Buennerbernd</name></author>
	</entry>
</feed>