Smarthome-BlogVelux Integra KLI313 Rollladensteuerung
Velux Integra KLI313 Rollladensteuerung
Mit ESP8266 und ESPHome
Lesezeit: 7 min
Veröffentlicht: 2024.04.26
Letztes Update: 2024.09.08
Das Ziel dieses Projektes war es, meine Velux Außenrollläden, welche über Velux Integra KLI313 Funkschalter ferngesteuert werden, in meinen Homeassistant einzubinden.
Dies ermöglicht es verschiedene Automatisierungen zu realisieren, z.B. können sich die Rollläden im Winter bei Nacht schließen um Heizenergie zu sparen, oder im Sommer bei gewissen Sonnenständen oder Temperaturen schließen um die Wohnung kühler zu halten.
Die offizielle Lösung für die Smarthome-Integration wäre eine proprietäre "Bridge" von Velux. Zum Zeitpunkt wo ich diesen Artikel schreibe, kostet diese ca. 140€, was ich für in meinem Fall 2 Außenrollos für ziemlich übertrieben halte.
In diesem Beitrag werde ich zeigen, wie man das mit je einem ESP8266 pro Schalter und ein paar Kabeln für eine Handvoll Euros haben kann.
Der aus meiner Sicht zusätzliche Vorteil der dabei entsteht ist, dass die Funkschalter anschließend direkt vom ESP8266 mit Strom versorgt werden, wodurch man sich die Batterien sparen kann.
Ich bin grundsätzlich der Meinung, dass Smarthome-Projekte den Alltag nur erleichtern und niemals verkomplizieren dürfen. Deshalb war es für mich wichtig, dass der Schalter anschließend auch weiterhin mit der Hand bedient werden kann.
Verkabelung des Funkschalters
Zuerst müssen die Laschen auf der Rückseite des Funkschalters gelöst werden. Dafür verwendet ihr einfach einen kleinen Schraubenzieher oder ein Buttermesser:
Zum Vorschein kommt die Platine. Auf dieser müssen mehre Kabel angelötet werden, welche wir anschließend mit dem ESP8266 verbinden werden. Hier eine Übersicht über die Anschlusspunkte:
Wenn ihr die Kabel anlötet, achtet darauf, dass alle ungefähr in dieselbe Richtung liegen, das ist für den nächsten Punkt wichtig, wenn wir die Kabel aus dem Gehäuse führen:
Für den nächsten Schritt habe ich sowohl die Rückwand, als auch die Wandhalterung des Funkschalters mit einem scharfen Messer ein wenig eingekerbt:
Jetzt kann man die Kabel durch diese Einkerbung führen und den Schalter wieder verschließen. Leider ist im Gehäuse nicht besonders viel Platz, deshalb war meines danach leicht gewölbt. Es lässt sich aber trotzdem problemlos wieder in die Wandhalterung stecken und bedienen:
ESP8266
Nun geht es an den Anschluss und die Einrichtung des ESP8266. Um dieser Anleitung folgen zu können, müsst ihr diesen mit ESPHome flashen und in Homeassistant einbinden.
Wie das funktioniert, könnt ihr in diesem Artikel nachlesen: ESPHome flashen
Die Taster des Funkschalters werden ausgelöst, wenn der jeweilige Pin auf LOW gezogen wird. Dabei müssen wir beachten, wie sich der ESP8266 während des Boot-Vorgangs (also beim Einstecken der Stromversorgung) verhält.
Während dessen haben die verschiedenen Pins nämlich verschiedene Zustände. Bei meinem ersten Versuch hatte ich z.B. für "Rollo Runter" den Pin D3 verwendet. Dieser hat jedoch beim Boot-Vorgang den Zustand LOW, wodurch sofort eine Rollladen-Fahrt ausgelöst wird.
Wenn ihr mehr du diesem Thema wissen wollt, könnt ihr hier:
https://randomnerdtutorials.com/esp8266-pinout-reference-gpios/
oder hier:
https://rabbithole.wwwdotorg.org/2017/03/28/esp8266-gpio.html
nachlesen.
Oder ihr übernehmt einfach meine Verkabelung. Diese sieht so aus:
- D1: Rollo Rauf
- D2: Rollo Stop
- D5: Rollo Runter
- 3,3V: 3,3V
- GND: GND
Diese Pins haben beim Boot-Vorgang keinen LOW Zustand und es wird keine ungewollte Fahrt ausgelöst.
Folgende Konfiguration habe ich in ESPHome vorgenommen:
YAML
button:
- platform: template
name: "Rollo Büro auf"
id: rollo_buero_auf
on_press:
then:
- output.turn_on: rollo_buero_auf_output
- delay: 200ms
- output.turn_off: rollo_buero_auf_output
- platform: template
name: "Rollo Büro stop"
id: rollo_buero_stop
on_press:
then:
- output.turn_on: rollo_buero_stop_output
- delay: 200ms
- output.turn_off: rollo_buero_stop_output
- platform: template
name: "Rollo Büro ab"
id: rollo_buero_ab
on_press:
then:
- output.turn_on: rollo_buero_ab_output
- delay: 200ms
- output.turn_off: rollo_buero_ab_output
# Inverted Weil Aktivierung durch LOW State erfolgt
output:
- platform: gpio
pin: D1
id: rollo_buero_auf_output
inverted: true
- platform: gpio
pin: D2
id: rollo_buero_stop_output
inverted: true
- platform: gpio
pin: D5
id: rollo_buero_ab_output
inverted: true
Der Code definiert 3 button
für die 3 Taster des Funkschalters.
Wird einer in Homeassistant aktiviert, wird der entsprechende output
aktiviert (turn_on
). Nach einem delay
von 200ms wird der output
wieder deaktiviert (turn_off
).
Damit simulieren wir ein kurzes Drücken des Tasters, wodurch die Rollo in die entsprechende Richtung zu laufen beginnt (oder gestoppt wird).
Der KLI313 Funktaster verhält sich so, dass durch ein längeres gedrückt-halten die Fahrt so lange fortgesetzt wird, bis der Taster wieder losgelassen wird. Dieses Verhalten habe ich für meine Zwecke aber als nicht notwendig empfunden.
Weil die Taster des Funkschalters durch einen LOW Zustand ausgelöst werden, ist es außerdem wichtig, die GPIO Pins mit inverted: true
zu invertieren.
Die Bezeichnungen im Code könnt ihr natürlich nach euren Bedürfnissen anpassen.
Abschlussarbeiten
Jetzt muss unser neuer smarter Funkschalter nur noch an die Wand montiert werden. Als Gehäuse für den ESP8266 habe ich eine kleine Aufputz-Klemmdose aus dem Baumarkt verwendet:
Falls ihr Fragen oder Verbesserungsvorschläge zu meinem Projekt habt, könnt ihr euch gerne bei mir melden.
Welche Automatisierungen habt ihr mit eurer Rollladensteuerung umgesetzt? Auch dafür würde ich mich sehr interessieren.
Verwendete Produkte:
(Affiliate-Links)?
- ESP8266 D1 Mini: https://amzn.to/4bsXN8s
- Jumper Kabel: https://amzn.to/47koPhB
- Velux Integra KLI313: https://amzn.to/3WGuo6m
- Lötstation: https://amzn.to/4cociu5