Im Rahmen des Projektes Smarthome haben wir unsere über
30 Jahre alten Dachfenster auf der Südseite ersetzt durch solche mit
Sonnenschutzstoren auf der Aussenseite. Gerade im Sommer wurde das Obergeschoss
im Sommer wegen
Sonneneinstrahlung recht warm. Im Winter erhoffen wir uns durch diese
Rollos, dass die Wärme besser im Haus gehalten werden kann.
Ausgeführt wurden die Arbeiten von der Firma
Fleischmann Holzbau.
In diversen Foren ist nachzulesen, dass etliche Leute Probleme hatten, Velux-Rollläden in ein SmartHome einzubinden. Nach der Lektüre der Seite Velux Dachfenster in Loxone mit KLF200 und Shelly (DIY) beschloss ich, die Steuerung ebenfalls mittels Shellys zu bewerkstelligen.
Gleichzeitig mit den Fenstern und den Storen wurde das Gateway
"Velux KLF 200" mitbestellt. Mittels den mitglieferten Hand-Funksendern
kann das KLF-200 dank guter Dokumentation rasch angelernt werden. Dazu wurde
der im Set enthaltene Kabelstrang mit den acht Kabeln benutzt. Das Bild unten
zeigt, wie die Rollläden angesteuert werden können.
Für jedes der beiden Fenster wird nun für beide Richtungen der Storenbewegung
ein eigener
Shelly 1 Mini Gen3
wie folgt angeschlossen:
- Jeder Shelly wird mit 230V versorgt (L und N-Eingänge)
- Der Eingang "I" wird mit dem roten Kabel des KLF-200 verbunden
- Der Eingang "0" wird mit dem schwarzen Kabel des KLF-200 verbunden
Um die Übersicht nicht zu verlieren, werden die Shellys beschriftet (z.B.
"WU" für "West Up" etc.). Es empfiehlt sich auch, die Shellys jeweils einzeln
und nacheinander mit Strom zu versorgen, um sie einzeln zu aktiveren und ihnen
entsprechende Namen (z.B. veluxwestup) zuzuweisen. Gleich anschliessend sollte
die Firmware aktualisiert und auf dem Rechner im File
/etc/hosts ein entsprechender Eintrag
(z.B. 192.168.0.65 veluxwestup
)
gemacht werden. Diese
fixe IP-Nummer muss natürlich auch auf dem Shelly selbst aktiviert werden.
Das Foto unten zeigt links die Installation in einer Verteilbox:
Sowohl das Stromversorgungskabel wie auch die roten und schwarzen Kabel, die zum
KLF-200 führen, wurden jeweils innerhalb und ausserhalb der Verteilbox mittels
Kabelbindern fixiert.
Die Steuerung der Fenster wird nun unter Linux durch folgendes Shell-Script
namens veluxstoren.sh vollzogen:
#!/bin/bash # veluxstoren.sh 05Sep2024/uk # # Steuert die beiden VELUX-Storen, welche mittels insgesamt vier # 'Shelly 1 Mini Gen3' gesteuert werden (via KLF-200 von Velux) # cd $HOME/smarthome/veluxstoren # source $HOME/smarthome/HA/MASTER.file if test "$MASTER" = "no" ; then # echo "Nicht Master. storen.sh - exit! `date +%d.%m.%Y_%H:%M`" exit fi # n=$# if test $n -ne 2 ; then cat veluxstoren.help fi seite=`echo $1 | tr '[:upper:]' '[:lower:]'` cmd=`echo $2 | tr '[:upper:]' '[:lower:]'` # OUTFILE="/mnt/ramdisk/${0##*/}.velux_result" # N=0 S=0 # case "$seite" in "o") ipIN="veluxost" ;; "w") ipIN="veluxwest" ;; *) echo "" echo "Unbekannte Seite!" echo "veluxstoren.sh - exit! `date +%d.%m.%Y_%H:%M`" exit ;; esac # case "$cmd" in "o") ip=${ipIN}up task="http://$ip/relay/0?turn=on" curl --no-sessionid "$task" --output $OUTFILE 2>/dev/null sleep 1 task="http://$ip/relay/0?turn=off" curl --no-sessionid "$task" --output $OUTFILE 2>/dev/null ;; "c") ip=${ipIN}down task="http://$ip/relay/0?turn=on" curl --no-sessionid "$task" --output $OUTFILE 2>/dev/null sleep 1 task="http://$ip/relay/0?turn=off" curl --no-sessionid "$task" --output $OUTFILE 2>/dev/null ;; "c80") ip=${ipIN}up task="http://$ip/relay/0?turn=on" curl --no-sessionid "$task" --output $OUTFILE 2>/dev/null sleep 42 task="http://$ip/relay/0?turn=off" curl --no-sessionid "$task" --output $OUTFILE 2>/dev/null ip=${ipIN}down task="http://$ip/relay/0?turn=on" curl --no-sessionid "$task" --output $OUTFILE 2>/dev/null sleep 27 task="http://$ip/relay/0?turn=off" curl --no-sessionid "$task" --output $OUTFILE 2>/dev/null ;; "s") ip=${ipIN}up task="http://$ip/rpc/Shelly.GetStatus" curl --no-sessionid "$task" --output $OUTFILE 2>/dev/null echo "STATUS $ip :" cat $OUTFILE ip=${ipIN}down task="http://$ip/rpc/Shelly.GetStatus" curl --no-sessionid "$task" --output $OUTFILE 2>/dev/null echo " " echo " " echo "STATUS $ip :" cat $OUTFILE ;; *) echo "" echo "Unbekannter Storenbefehl!" echo "veluxstoren.sh - exit! `date +%d.%m.%Y_%H:%M`" exit ;; esac #Das File veluxstoren.help sieht übrigens wie folgt aus:
Aufruf des Scripts veluxstoren.sh ./veluxstoren.sh SEITE BEFEHL SEITE: O für OG Ost W für OG West STORENBEFEHL: o --> open c --> close c --> close 80% s --> Status für die beiden Shellys der Store
Nun können die Rollläden mittels crontab im Sommer automatisch tagsüber geschlossen und nach Sonnenuntergang hochgefahren werden:
52 06 * * * $HOME/smarthome/veluxstoren/veluxstoren.sh O c >> $HOME/smarthome/veluxstoren/VeluxStorenMorgen.log 2>>$HOME/smarthome/veluxstoren/VeluxStorenMorgen.errlog 52 06 * * * $HOME/smarthome/veluxstoren/veluxstoren.sh W c >> $HOME/smarthome/veluxstoren/VeluxStorenMorgen.log 2>>$HOME/smarthome/veluxstoren/VeluxStorenMorgen.errlog 59 19 * * * $HOME/smarthome/veluxstoren/veluxstoren.sh O o >> $HOME/smarthome/veluxstoren/VeluxStorenAbend.log 2>>$HOME/smarthome/veluxstoren/VeluxStorenAbend.errlog 59 19 * * * $HOME/smarthome/veluxstoren/veluxstoren.sh W o >> $HOME/smarthome/veluxstoren/VeluxStorenAbend.log 2>>$HOME/smarthome/veluxstoren/VeluxStorenAbend.errlogDie Zeiten (hier 06:52 und 19:59 Uhr) des Sonnenauf- bzw. -untergangs werden jeweils in der Nacht für den folgenden Tag automatisch bestimmt und das crontab-File entsprechend angepasst.