Einführung
Es gibt Familienmitglieder, die gelegentlich vergessen, ein Garagentor zu
schliessen. Aus vermutlich diesem Grund hatten wir im Sommer 2023 einen jungen
Marder dort...
Da die Torantriebe nach etlichen Jahrzehnten die Lebensdauer erreicht hatten,
beschlossen wir, diese durch das Produkt "Hörmann Supramatic P 4"
zu ersetzen. Da diese Tore mittels BiSecur-Funkverbindung gesteuert werden,
haben wir gleichzeitig einen "Hörmann Basiswürfel homee brain"
beschafft. Damit können die Tore einerseits mittels der homee-App gesteuert und
zudem überwacht werden.
Überwachung der Garagetoröffnungszeiten
Nachdem die Tore an den Homee angelernt waren, wurde in der App ein
"Homeegram" wie folgt definiert:
- Name: Garagetor 1 15'Damit erhalten wir eine Nachricht auf die Handys, wenn dieses Tor länger als 15 Minuten offen ist, was im Normalfall eigentlich nie so sein sollte.
- WENN die Position bei Garagetor 1 unter 100% fällt...
- UND NUR wenn die Position bei Garagetor 1 sich unter 100% befindet...
(Prüfzeitpunkt: Beim Auslösen und Ausführen)
- DANN sende eine Push-Benachrichtigung mit dem Text "Garage 1 seit
15 Min. offen" nach 15 Min. an XXX und YYY
Überwachung der Garagetorzustände
Analog stellt ein zweites Homeegram sicher, dass dieser Shelly ausgeschaltet
wird, sobald die Position über 98% steigt.
Mit dieser Methode (und zwei weiteren Homeegrams für das zweite Tor)
kann der Status der Garagetore einfach ermittelt werden
und auf einer Übersichtswebseite z.B. wie folgt dargestellt werden:
Automatische Schliessung der Garagetore
Gelegentlich vergessen einige Mitbewohner bei uns, ein Garagetor zu schliessen,
bevor sie das Haus verlassen. Nachdem wir vor einigen Jahren ungebetene
Steinmarder in einer unserer Garagen hatten, möchten wir dies vermeiden.
Aus diesem Grund wurde nun eine automatiche Schliessung der Garagetore
realisiert. Das Prinzip funktioniert wie folgt: Sobald ein Garagetor fünf
Minuten offen ist, beginnt ein
Heidemann Zweiklanggong IBIS, in den ein Shelly eingebaut wurde, sich
bemerkbar zu machen.
Um die Tore in unser Mosliboss SmartHome einzubinden,
sollte der Öffnungs-Zustand der Tore jeweils irgendwo abgespeichert werden.
Dazu bot sich für das Tor 1 ein "Shelly Plus 1" der
Heizungsüberwachung an: Dieser Shelly hat
einen Schaltzustand, der bisher nicht benutzt wird.
Mittels einem weiteren Homeegram wird dieser Schaltzustand nun wie folgt
geändert:
- Name: Garagetor 1 offen
- WENN die Position bei Garagetor 1 unter 100% fällt...
- DANN shellyplus1-abc123def456 einschalten.
Dadurch ist es nun möglich, jederzeit mittels HTTP-Request an diesen
Shelly Plus 1 festzustellen, ob der Shelly ein- bzw. ausgeschaltet ist und
somit, ob das Tor offen oder geschlossen ist.
In diesem Beispiel ist das Tor bei Garage 1 geschlossen, bei Garage 2 offen;
der SSID des WLANs ist hier natürlich fiktiv...
![]() | Im Foto links ist die Stromzufuhr von unten zu sehen (dickes schwarzes Kabel) und von den dortigen Anschlüssen werden die Phase (schwarzer Draht) und der Neutralleiter (blauer Draht) zum "Shelly 1 Mini Gen3" zu den Klemmen "L" und "N" geführt. Beim Gong werden jeweils die Klemmen "0" und "2" mit dem Shelly (Klemmen I und O) verbunden (orange Drähte). |
Wir benötigen deshalb zwei Webhooks, weil wir ein redundantes Hochverfügbarkeit-System mit zwei Rechnern betreiben. Derjenige Rechner, der nicht MASTER ist, beendet das Script nach dem Aufruf sofort.
Im File /etc/webhook.conf sieht der Teil für diesen Hook wie folgt aus (dieses File muss mittels sudo bearbeitet werden):
{ "id": "garagegong", "execute-command": "/home/kradi/smarthome/webhooks/shelly_schalten.sh", "command-working-directory": "/home/kradi/smarthome/webhooks", "pass-arguments-to-command": [ { "source": "string", "name": "garagegong" }, { "source": "string", "name": "on" } ] },und das Script $HOME/smarthome/webhooks/shelly_schalten.sh, welches das Garagetor automatisch schliesst, sieht so aus:
#!/bin/bash # shelly_schalten.sh 01Jul2024/uk # Version nur für den Gong in der Garage garagegong_starten () { # echo "garagegong starten" taskON="http://$shelly/relay/0?turn=on" curl --fail --silent --show-error --no-sessionid --request $request_method \ $taskON --output $OUTFILE sleep 1.0 taskOFF="http://$shelly/relay/0?turn=off" curl --fail --silent --show-error --no-sessionid --request $request_method \ $taskOFF --output $OUTFILE sleep 1.6 } # cd $HOME/smarthome/webhooks source $HOME/smarthome/HA/MASTER.file if test "$MASTER" = "no" ; then # echo "Nicht Master. shelly_schalten.sh - exit! `date +%d.%m.%Y_%H:%M`" exit fi # shelly="garagegong" # ist definiert im File /etc/hosts OUTFILE="/mnt/ramdisk/${0##*/}.result" # echo "`uname -n` : `date +%d.%m.%Y_%H:%M` garage_GONG" >> garagetore.log for i in {1..25} do garagegong_starten done exit #
Im obigen Script wird das Outputfile OUTFILE in eine RAM-Disk geschrieben, um die SD-Karte des Raspi-Systems zu schonen.
Damit läutet der Gong etwas über 5 Minuten und nach 5 Minuten beginnt sich das Garagetor zu schliessen - genügend Zeit, um ein allfällig im Weg befindliches Auto wegzubewegen! Ok, mit einer Lichtschranke könnte man die ganze Sache noch sicherer machen, doch so viel Aufwand wollte ich nicht betreiben...