Velux KLF200
An dieser Seite wird momentan noch gearbeitet. |
KLF200 | |
---|---|
Zweck / Funktion | |
Anbindung io-homecontrol Aktoren an FHEM | |
Allgemein | |
Typ | Inoffiziell |
Details | |
Dokumentation | Thema |
Modulname | 83_KLF200.pm |
Ersteller | buennerbernd (Forum / Wiki) |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
KLF200 ist ein Modul zur Steuerung von io-homecontrol Aktoren über das Gateway Velux KLF 200.
Velux KLF 200
Die KLF-200-Box ist über LAN mit FHEM verbunden und steuert die Aktoren über das verschlüsselte Funkprotokoll io-homecontrol. Die Aktoren geben Rückmeldung über ihren aktuellen Zustand.
Die Box hat 10 elektrische Eingänge mit denen man 5 Geräte oder Gerätegruppen steuern kann. Damit kann man z.B. mit Doppeltastern an der Wand seine Rollladen oder Fenster steuern. Über den LAN-Anschluss lassen sich mit FHEM bis zu 200 Geräte mit einer KLF 200 verwalten.
Das Modul erfordert die Firmware-Version 2.0.0.71 und basiert auf der dokumentierten API von Velux. Download und weitere Informationen
Das Gateway hat keine Cloud-Integration.
Unterstützte Geräte
Grundsätzlich sollten alle io-homecontrol Aktoren funktionieren. Alleinstehende Sensoren (z.B. Lichtsensor, Windsensor) werden von der KLF-200-Box nicht unterstützt. Es besteht aber die Möglichkeit, den Status von Sensoren auszuwerten, die in Aktoren integriert sind.
Aktuell werden folgende Geräte erfolgreich mit diesem Modul verwendet:
- Rollladen:
- VELUX SML
- VELUX SSL
- Somfy Oximo io
- Sichtschutz innen:
- VELUX FSK
- Fensteröffner mit integriertem Regensensor:
- VELUX KMG
- VELUX CVP
- VELUX KSX
Benutzung in FHEM
Verbereitung
Bevor die Aktoren in FHEM verwendet werden können, müssen sie in der KLF 200 angelernt werden. Das geschieht über das WebUI der KLF 200, das über einen Wifi-Hotspot erreichbar ist. Dieser Vorgang ist im Handbuch beschrieben. Im WebUI können die angeschlossenen Geräte auch benannt werden. Zusätzlich hat man die Möglichkeit, Programme (Szenen) aufzuzeichnen, um ein oder mehrere Geräte in eine definierte Position zu bringen. Diese Szenen kann man aus FHEM ebenfalls ansteuern.
Das Modul wird momentan noch nicht über FHEM ausgeliefert.
Es wird wie folgt geladen und aktualisiert:
update all https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt
shutdown restart
Mit diesem Befehl wird das Modul so eingerichtet, dass es ebenfalls aktualisiert wird, wenn man FHEM aktualisiert:
update add https://raw.githubusercontent.com/buennerbernd/fhem/master/KLF200/2.0/controls_KLF200.txt
Anlegen der Geräte
define <name> KLF200 <host>
Beispiel:
define Velux KLF200 192.168.0.66
Danach Login durch Eingabe des Passwortes:
set <name> login <password>
Hinweis: Das Passwort ist laut Dokumentation das Wifi-Passwort, das auf den Boden der Box gedruckt ist. Das funktioniert bei einigen Nutzern. Bei vielen Nutzern funktioniert hingegen das Passwort des WebUI. Scheinbar hängt das davon ab, mit welcher Firmware die Box ausgeliefert wurde und ob schon einmal ein Reset durchgeführt wurde. Das Passwort wird verschleiert im FHEM-Backend gespeichert. Es muss nach erfolgreichem Login nicht mehr eingegeben werden.
Die angeschlossenen Aktoren werden jetzt durch autocreate als Instanzen von KLF200Node im Raum KLF200Node angelegt. Die Namen der Geräte folgen dem Muster <name>_<NodeID>. Wurde im WebUI der KLF200 ein Name für das Gerät vergeben dann wird dieser als Alias übernommen.
Die Geräte sind jetzt einsatzbereit.
Modul KLF200
Verbindungsstatus
STATE
Im STATE des Moduls sieht man den aktuellen Verbindungsstatus. Im Idealfall ist er nach der Initialisierung Logged in.
Ausführung von Programmen (Szenen)
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 "Alle zu" oder "Alle auf" viele Geräte gleichzeitig mit einem Befehl bedienen.
Hinweis: Während der Abarbeitung einer Szene werden weitere Befehle gepuffert.
scene/sceneID
Mit diesen Set-Funktionen kann man eine aufgezeichnete Szene aufrufen. Im entsprechenden Reading steht die zuletzt aufgerufene Szene.
Die Zuordnung zwischen sceneID und scene sieht man in den Internals unter scenes.
Ausführungsgeschwindigkeit: Schnell, Flüstermodus
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.
Argument DEFAULT, FAST, SILENT
Die Velocity kann man bei der Ausführung von Szenen als zusätzliches Argument von set scene oder set sceneID setzen. Unterstützte Werte sind DEFAULT, FAST und SILENT
set Velux scene "Alle zu" SILENT
Attribut velocity
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.
Hinweis: Dieses Attribut hat keine Auswirkungen auf Befehle, die vom Modul KLF200Node abgesetzt werden.
Modul KLF200Node
Dieses Modul wurde dem Homematic-Modul CUL_HM nachempfunden, da es ebenfalls ein breites Spektrum an Geräten unterstützt und möglichst kompatibel zu vorhandenen Hilfsmodulen sein soll.
Aktueller Status
Im Folgenden wird der Zusammenhang zwischen den wichtigsten Readings/Set-Funktionen pct, state, execution erklärt.
pct
Dieses Reading enthält den aktuell bekannten Status des Gerätes in Prozent.
Wird das Gerät über die KLF-200-Box gesteuert, wird das Reading beim Erreichen der Zielposition sofort aktualisiert.
Wird das Gerät über eine Fernbedienung oder einen Sensor gesteuert, kann sich die Aktualisierung wenige Minuten verzögern.
Mit der Set-Funktion kann man das Gerät in diesen Status versetzen. Per Default entspricht 100 auf der Fernbedienung oben und 0 unten.
state
Dieses Reading entspricht dem Reading pct, mit der Ausnahme, dass 0 durch off ersetzt wird und 100 durch on.
Die Set-Funktion funktioniert analog. Per Default entspricht on auf der Fernbedienung oben und off unten.
execution
Dieses Reading gibt den aktuellen Ausführungsstatus wieder. Die meiste Zeit ist der Wert stop. Wird gerade ein Befehl ausgeführt, ist der Wert up oder down.
Mit der Set-Funktion werden entsprechende Befehle ausgeführt, up entspricht auf der Fernbedienung oben und down unten. Bei stop wird die aktuelle Ausführung angehalten.
Attribut directionOn
Wie oben beschrieben, entspricht per Default on = 100 = up.
Das kann bei bestimmten Geräten für manchen Nutzer verwirrend sein. Wenn man z.B. bei einem Rollladen lieber im geschlossenen Zustand 100 Prozent sehen möchte, dann setzt man das Attribut directionOn, z.B.
attr Velux_2 directionOn down
Ausführungsgeschwindigkeit: Schnell, Flüstermodus
Wie bei Szenen lässt sich auch bei Kommandos auf KLF200Node die Ausführungsgeschwindigkeit beeinflussen, soweit das vom Gerät unterstützt ist.
Reading velocity
Dieses Reading hat den Wert supported, wenn die Geschwindigkeit bei diesem Gerät geändert werden kann. Selbst bei Not supported wäre es einen Versuch wert, es zu testen.
Argument DEFAULT, FAST, SILENT
Alle set-Funktionen, die eine Bewegung auslösen unterstützen das optionale Argument DEFAULT, FAST oder SILENT.
Attribut velocity
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.
Begrenzung des Bewegungsradius / Limitation
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.
limitationMin und limitationMax
Mit den Settern und Readings limitationMin und limitationMax kann man die Limitation setzen und auslesen. 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.
limiationClear
Mit dem Setter limiationClear kann man alle Limitations (auch von fremden Geräten ausgelöste) löschen.
updateLimiation
Der Setter updateLimiation aktualisiert die Readings limitationMin und limitationMax auf diesem Gerät, falls die Limitation außerhalb von FHEM gesetzt wurde.
Auswerten der Regensensoren
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):
- limitationMax = 7 bei Regen,
- limitationMax = 100 wenn es aufhört.
Diese Werte kann man auslesen, ohne dass sich das Fenster dazu bewegt haben muss.
limitationUpdateInterval
Mit set limitationUpdateInterval kann man festlegen, wie oft diese Werte ausgelesen werden:
- off: Dieser Wert ist für Geräte ohne integrierte Sensoren der Beste, denn zusätzliche Updates sind überflüssig.
- onChange: Hier wird limitationMin und limitationMax aktualisiert, wenn das Gerät bewegt wurde.
- 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:
set Velux_1 limitationUpdateInterval off
set Velux_2 limitationUpdateInterval onChange
set Velux_3 limitationUpdateInterval 600
Extra Reading für den Regensensor
Wem die Auswertung vom Reading limitationMax zu indirekt ist, der kann sich ein neues Reading anlegen. Der folgende Code legt ein Reading namens sensor an, die Werte sind im Beipiel "Regen" oder "trocken". Es besteht die Annahme, dass bei limitationMax = 7 der Regensensor angeschlagen hat.
attr Velux_3 userReadings sensor {(ReadingsVal($name,"limitationMax",100) == 7)?"Regen":"trocken"}
Hinweis: Das neue Reading sensor erscheint erst, wenn das Reading limitationMax einmal aktualisiert wurde.
Vorschläge zur schöneren Darstellung
Wie Homematic-Geräte kommt KLF200Node im FHEM-Web sehr schlicht daher. Dieses Kapitel gibt Vorschläge zur Konfiguration einer schöneren Darstellung.
Rollladen
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).
attr Velux_2 stateFormat pct execution
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
So erhält man einen Slider für die Rollladenposition:
attr Velux_2 webCmd pct
Links
- Support im Forum gibt es unter Velux KLF200 mit Firmware 2.0.0.71 für io-homecontrol
- Github: FHEM modules KLF200 and KLF200Node