Velux Integra Dachfenster Rollladen - ESP8266 (KLI 310)

Steuerung der Rollläden via Home Assistant  mit ESP8266 und KLI 310


Ich habe mir dieses Jahr ein Rollladen mit Photovoltaik/Solar[eBay Werbung] für mein großes Velux Dachfenster gegönnt. Dabei ist eine kleine Integra KLI 310 Funkfernbedienung. Leider hab ich schnell gemerkt, dass man ziemlich oft die Rollladen hoch- und runterfährt und im Sommer täglich zur gleichen Zeit. Abends wollte ich gerne immer Sternenhimmel sehen, darum wieder hoch fahren. Das Teil muss man doch irgendwie in mein Home Assistant System einbinden, dachte ich.... Ja es gibt da sowas. Wieder eine eigene Zentrale von Velux, teuer und wieder ein Gerät mehr, nein das wollte ich nicht.

 

Gut, was macht man da als Bastler? Genau, die Fernbedienung öffnen und mal reinschauen.

Nun hat man die nackte Platine in der Hand. Auf der Oberseite sieht man die 3 Taster zur Steuerung. Auf der anderen Seite sind zum Glück Durchkontaktierungen für die Taster, so dass man diese nicht auslöten muss. Die ganze Platine läuft mit 3V. Platinennummer: 3LI D13 WW, BG-RC011-02.

Die 3 Pins UP, STOP, DOWN sind direkt mit den GPIOs des Funk-Mikrocontroller verbunden und intern über ein Pullup mit 3V verbunden. Man muss also die Pins nur kurz auf GND ziehen und schon sendet die Fernbedienung den Befehl. Also perfekt für kleine mini SMD Transistoren und einem ESP01s. Das ganze wird dann leider etwas Strom fressen, also muss ich das Teil dann extern mit einem kleinen Netzteil versorgen. Muss also noch ein kleiner DC/DC Wandler rein oder man kauft sich direkt ein Netzteil mit 3V/200mA.

 

Anleitung

 

Was wird benötigt:

  • KLI 310 (ihr könnt auch 2 gleichzeitig betreiben, der 2. kann ganz einfach mit dem 1. angelernt werden)
  • Lötkolben
  • gute Lötkenntnisse oder man holt sich keine SMD Transistoren
  • ESP8266 -> ESP01s[eBay Werbung]
  • serial-to-USB Adapter zum Flashen von Tasmota. Muss auf 3,3V umschaltbar sein!!!
  • NPN Transistoren z.B. BC547[eBay Werbung] (egal welche Version, B, C ...)
  • ein paar 10K Widerstände SMD oder bedrahtet[eBay Werbung]
  • 3V/200mA Netzteil[eBay Werbung] oder vorhandenes 5V Handynetzteil + 5V zu 3.3V DC/DC-Wandler[eBay Werbung]
  • kleine dünne Kabel oder Kupferlackdraht[eBay Werbung]
  • ggf. alte WLAN Antenne mit Kabel zur Verbesserung der Reichweite

Tasmota Flashen

Zuerst müsst ihr euren ESP erstmal mit Tasmota flashen. Dazu verbindet ihr den ESP mit eurem Serial-To-USB Adapter. TX->RX, RX-TX, 3.3V und GND verbinden. Der ESP01s muss dann in den sogenannten  Flash Modus booten. Dazu einfach GPIO0 auf GND legen. Dann den Adapter in euren PC stecken und via Web-Flashtool Tasmota auf euren ESP flashen. Wenn das Tool Fehler anzeigt, versucht es einfach nochmal. Wenn es nicht funktioniert, liefert der Adapter nicht genügend Strom für den ESP oder schaut einfach hier. Dann muss noch eine 3,3V Energiequelle her. Ist das geschafft müsst ihr die Kiste nur noch mit eurem Router verbinden. Anleitung hier. Danach könnt ihr mit dem Löten beginnen.

 

Verdrahten

Der ESP passt fast in eins der beiden Batteriefächer. Der DC/DC in das andere. die Transistoren sind auch recht klein und passen dort mit rein.

Nun müsst ihr nach Schaltplan verdrahten. Nimmt eure dünnen Kabel/Adern und lötet zuerst auf der Platine der Fernbedienung. Die 3 Steuerpins für Down, Stop und Up. Und hinter der Diode + und auf der anderen Seite - direkt am Batteriepin. Wichtig ist der 10K Pullup Widerstand an GPIO2. An GPIO2 hängt auch noch die Onboard-LED. Bei mir war es so, dass der ESP nicht mehr booten wollte, wenn ich kein 10K Pullup Widerstand verwendet habe. Die anderen GPIOs benötigen keine Pullups. Eigentlich haben alle GPIOs, die für den Bootvorgang wichtig sind, interne Pullups. Nur beim GPIO2 funktioniert es wie gesagt nicht, liegt wohl an der LED + Transistor... ESP Pinbelegung findet ihr hier.

Dann baut ihr die Platine wieder ins Gehäuse und führt die Kabel irgendwo wo es passt heraus. Ansonsten einfach mit dem Lötkolben ein Loch durchstechen (zum Batteriefach).Vom einen Fach wo der DCDC sitzt müssen auch noch 2 Kabel für die 3..3,3V Versorgung zum anderen Fach zum ESP gezogen werden. Dann einfach wie geschrieben nach Schaltplan zusammen braten. Habt ihr die Transistoren mit den eingebauten Widerständen, so könnt ihr diese natürlich weg lassen. Aber ihr benötigt trotzdem noch ein Pullup Widerstand an GPIO2.

 

Schaltplan

 

Tasmota Konfiguration

Habt ihr alles soweit verdrahtet, auf Fehler/Kurzschlüsse durchgemessen (Pieper/Multimeter) dann steckt das Netzteil ein und hofft dass nichts abraucht. Gibt die Schaltung keine Rauchzeichen und die blaue LED blinkt/leuchtet, dann könnt ihr auf die Seite eures ESPs wechseln. Dort müssen erstmal ein paar Einstellungen gemacht werden, damit ihr die Schaltung testen könnt.

 

Configuration -> Configure Template:

Name = Denkt euch was aus z.B. Veluxcontrol

Based on = Generic (18)

GPIO0 = Relay 1

GPIO2 = Relay 3

GPIO3 = Relay 2

=> Save

 

Configuration -> Configure Module:

Module type = Der von euch eben vergebene Template Name

=> Save 

 

Configuration -> Configure Logging:

Serial log level = 0 None

=> Save

 

Console:

PulseTime1 3

PulseTime2 3

PulseTime3 3

WebButton1 Down

WebButton2 Stop

WebButton3 Up

 

Mit PulseTimeX Y könnt ihr ein als Ausgang (Relay) definierten GPIOX als Monostabile Kippstufe einstellen. D.h. sobald ihr über die Weboberfläche ein Ausgang via Button schaltet, wird der Ausgang X nur für die Zeit Y (3 = 0,3s) geschaltet und fällt danach wieder ab. Wir simulieren hier also einen Druck auf einer der 3 Tasten der Fernbedienung.

Mit WebButtonX Y könnt ihr den Namen Y des Buttons X ändern.

 

Jetzt könnt ihr mal testen ob die Steuerung funktioniert!! Wenn das nicht funktioniert, seid ihr vielleicht zu weit vom Dachfenster entfernt. Ansonsten muss euer Multimeter her und ihr müsst nachmessen. Dazu würde ich die PulseTime auf 10s (Y=100) erhöhen.

 

Wenn euer ESP nicht bootet (er nicht erreichbar ist, die blaue LED leuchtet z.B. nicht), dann müsst ihr die Stromversorgung trennen und nochmal versuchen. Da fast alle GPIOs wichtig sind zum Booten und wir diese als Ausgang für den Transistor verwenden, kann es passieren, dass der ESP mal nicht bootet.

 

Klappt alles, dann könnt ihr die ganze Kiste zusammenbauen und irgendwo hinstellen. Der ESP hat leider eine kleine schwache Antenne, also achtet auf den Aufstellort. Als nächstes folgt die Anbindung an Home Assistant. Wie das geht habe ich allerdings schon mehrmals auf meiner Seite beschrieben. Schaut mal unter Stromzähler auslesen. Ansonsten könnt ihr hier nachschauen.

 

Einfaches Home Assistant Automation Template

Name = VeluxControl - Mittags

Triggers: (1) type = Time, Fixed Time 12:00

Conditions: (1) type = Device = OpenWeatherMap, Condition = Current OpenWeatherMap Forecast Temperature, Above = 24

Actions: (1) Device = VeluxControl, Action = Turn on Runter

 

ESP01s externe Antenne nachrüsten

Bei mir war die Antenne zu schwach, ich hatte nur -90dBm. Sehr oft kam dann der Befehl zum Öffnen nicht beim ESP an. Deshalb habe ich mir eine externe Antenne besorgt (aus einem defekten Laptop). Diese ist aber nicht sehr viel besser darum werde ich die Tage mal eine Rundstabantenne versuchen.

 

Home Assistant Automatisierung - Beispiele (von mir)

Hier findet ihr ein paar Automatisierungen für Home Assistant. Ich habe sie alle in dem UI Editor erstellt. Da man sie aber nicht exportieren kann habe ich einfach den YAML Code kopiert.

Bilder


Kommentare: 3
  • #3

    ottelo (Mittwoch, 27 Dezember 2023 10:53)

    @nooby
    Ja, ich glaube als ich die Anleitung erstellt hatte, kannte ich noch nicht diese Seite:
    https://randomnerdtutorials.com/esp8266-pinout-reference-gpios/

    Dort steht genau, welche Spannungslevel beim Booten an welchem pin anliegen und welche man nicht auf GND ziehen darf, damit der ESP sauber booten kann. Durch die Vorwiderstände der Transistoren werden die GPIOs in meinem Beispiel auf GND gezogen. Bei mir klappt es anscheinend, bei dir nicht. Ich werde mal den Schaltplan umändern und GPIO1 auf GPIO3 ändern.

  • #2

    nooby (Dienstag, 26 Dezember 2023 10:44)

    Hi,
    Danke für die Anleitung. Ich konnte es erfolgreich nachbauen.

    Ich habe allerdings irgendwo einen Fehler gemacht oder irgendwo eine Einstellung vergessen. Wenn ich "Stop" auf GPIO1 gelegt habe, hat er nach einer Trennung vom Strom nicht mehr gebootet (ich vermute er ging in den Flashmodus, weil ja auch Gnd und 1 dazu gebrückt werden).

    Sicherlich gibt es dafür eine Lösung, ich habe mir schlicht damit geholfen, den Switch auf einen anderen Pin zu legen.

    Jetzt funktioniert es. Vielleicht hilft es jemanden beim Fehlersuchen oder jemand weiß was ich falsch gemacht habe, damit es in Zukunft besser klappt.

  • #1

    Buzz Yip (Dienstag, 31 Oktober 2023 20:45)

    Schon mal Danke im Voraus für das Tutorial.
    Ich hoffe meine Lötkünste verbessern sich langsam - und ich komme in der Anleitung endlich mal weiter ;-)