Wenn man ein Hörmann Garagentor mit SupraMatic Antrieb in FHEM einbinden und bedienen möchte benötigt man eine Erweiterung des Antriebes. Mit der Hörmann Universaladapterplatine UAP 1 erweitert man den Hörmann Antrieb um die benötigten Ein- und Ausgänge. Damit ist es dann möglich, dass Tor mit einem Knopfdruck in die entsprechende Richtung fahren zu lassen und, was noch viel wichtiger ist, auch zu sehen ob das Tor gerade geöffnet oder geschlossen ist..

Die Ausgänge sind als potentialfreie Relaiskontakte ausgeführt. Die Eingänge werden einfach, mit einem Impuls auf Masse gezogen. Im einzelnen bietet die Universaladapterplatine UAP1 folgende Ein,-Ausgänge.

Eingang Klemme  Ausgang Klemme
Tor öffnen S2 Endlagenmeldung Tor offen O1
Tor schließen S4 Endlagenmeldung Tor zu O2
Tor Teilöffnung S3 Entspricht der Programierung des Optionsrelais (Blinklicht, Beleuchtung etc.) O3
Antriebsbeleuchtung toggeln S5    
Antrieb ausschalten S0    

Weiterhin befindet sich ein 24V Anschluss auf der UAP 1 der mit 100mA belastet werden kann. Außerdem ein weiterer Anschluss um das Tor komplett außer Betrieb zu nehmen. Dieser ist aber ab Werk mit einer Drahtbrücke versehen.

Stückliste:

1x Hörmann Universaladapterplatine UAP 1 ca. 50,00€ Shop
1x Wemos D1 ca. 7,00€ Shop
1x DC-DC Step Down Power Supply Module ca. 1,70€ Shop
  Div. Kleinteile aus der Grabbelkiste    
  Universalplatine, Schaltdraht, Lötkolben    

Schaltungsaufbau:

Im wesentlichen besteht die Schaltung aus einem Wemos D1 und ein paar Bauteilen aus der Grabbelkiste. Die beiden Ausgänge der UAP 1 für Tor Endlage offen und Tor Endlage geschlossen sind als Relaisausgänge ausgeführt. Sie können direkt an den Wemos D1 angeschlossen werden. Die Entprellung der Relais-kontakte übernimmt dabei die Software (ESPEasy) auf dem ESP8266. Mit dem Relaisausgang O3 habe ich das jetzt weggefallene Hörmann Optionsrelais HOR1 für das Licht ersetzt.

Um die vier Eingänge der UAP 1 ansteuern zu können, benötigt man noch vier einfache Schalttransistoren. Diese Transistoren können mit den 3,3V Signalen des ESP die 24V der UAP 1 schalten. Der Blogger Otto gibt auf seinem Blog einen Strom von 4,8mA an, wenn die Eingänge der UAP 1 auf Masse gezogen werden. Die Spannung an den offenen Eingängen gibt er mit 21V an. Da bei mir noch Unmengen an DDR Transistoren in den Kisten liegen habe ich mich für einen SC237 npn-Tansistor entschieden. Der Vergleichstyp ist heute der BC237. Dieser kann laut Datenblatt Spannungen bis zu 45V und Ströme bis zu 100mA schalten. Also völlig ausreichend für diesen Einsatzzweck. Die Pull-Down Widerstände (R1,R4,R7,R10) bringen Ordnung in das etwas zickige Bootverhalten der GPIO des ESP. Ohne diese Widerstände werden die GPIO beim Booten des ESP einmal kurz auf High gezogen. Das ist natürlich unbedingt zu Vermeiden. Die Tiefpässe sollen weitere Störungen verhindern die zu einem ungewollten Schalten der Ausgänge führen können.

Der Spannungswandler ist ebenfalls ein "Cent" Artikel aus dem Onlineshop. Fünf Stück für derzeit 8,50 €. Dieser wandelt nach dem Datenblatt Spannungen zwischen 4,5V bis 28V auf 0,8V bis 20V bei einem Dauerstrom von 3A um. Die 24V der UAP1 werden mit diesem Wandler nahezu Verlustfrei auf 3,3V gewandelt. 

ESP Wemos D1 Funktion UAP1 Funktion UAP1 
GPIO5 D1 Eingang O1 Tor Endlage oben (Geöffnet)
GPIO0 D3 Eingang O2 Tor Endlager unten (Geschlossen)
GPIO14 D5 Ausgang S4 Tor schließen
GPIO12 D6 Ausgang S5 Antriebsbeleuchtung toggeln
GPIO13 D7 Ausgang S2 Tor öffnen
GPIO15 D8 Ausgang S3 Tor Teilöffnung 

 

Zusammengefasst in einem Schaltbild sieht es dann so aus. Links die Relaisausgänge der UAP 1, rechts die Eingänge inkl. der Stromversorgung von der UAP 1.

 

Aufbau auf der Universalplatine 

Aufgebaut habe ich das Ganze auf einer universal Lochrasterplatine. Die Platine hat die Maße 9x7cm. Damit die Platine in das Kästchen der UAP1 passt, muss diese noch zurecht geschnitten werden. In der UAP 1 Box sind seitlich kleine Stege. Diese habe ich in der Platine ausgeschnitten.

Geräte auf dem Wemos D1 (ESPEasy) einrichten

Im ESPEasy, auf dem Wemos D1, habe ich für die Relaisausgänge der Endlage "offen" und "geschlossen" jeweils ein Task "Switch input" mit folgenden Parametern angelegt. Wenn das Relais für das Licht zusätzlich noch mit abgefragt werden soll muss man hier einen dritten Task anlegen. Zusätzlich zu diesen Task kann man auch noch weitere Task's mit Devices der "System Info" anlegen. Damit bekommt man auch die RSSI Werte oder die Laufzeit des ESP in FHEM angezeigt. Die System Info kann vier Werte bereitstellen. Die prozentuale Auslastung der CPU, den Wert der CPU Spannung, den RSSI Wert der Funkverbindung und die Gesamtlaufzeit in Minuten. Ich lege diese Geräte immer komplett und in den Task 9-12 an.

Task Settings Value
Device Switch input
Name <Eigener Name>
Delay 0
IDX/Var 0
1st GPIO  
Pull UP an
Inversed an
Switch Type switch
Switch Button Type Normal Switch
Send Boot state aus
Send Data an
Optional Settings Value
Value Name 1 <Eigener Name>

Einbindung in FHEM

Die Integration in FHEM ist auch hier recht einfach. Sofern die ESPEasy Bridge in FHEM korrekt eingerichtet wurde und das ESPEasy kontinuierlich Daten sendet wird der ESP mit seinen Geräten automatisch in FHEM angelegt. Es sollten also mindestens die Relais der UAP1 für offen und geschlossen als Reading automatisch angelegt werden. Wenn das noch nicht der Fall ist dann hat das ESPEasy noch keine Daten gesendet. Sobald das Gerät Daten sendet wird das entsprechende Reading automatisch angelegt.
Um die Eingänge der UAP1 zu steuern habe ich eine entsprechende eventMap angelegt. In dieser wird für den entsprechend GPIO ein Impuls vereinbart. Die Impulslänge habe ich auf 1 Sekunde festgelegt. Die Transistoren reagieren ja durch den Tiefpass an der Basis etwas Träge. Die Definition in FHEM sieht dann bei mir so aus:

Das ESPEasy Device:

defmod ESPEasy_SupraMatic ESPEasy 192.168.3.210 80 ESP_Bridge SupraMatic
attr ESPEasy_SupraMatic IODev ESP_Bridge
attr ESPEasy_SupraMatic Interval 300
attr ESPEasy_SupraMatic eventMap /pulse 13 1 1000:opening/pulse 15 1 1000:part/pulse 14 1 1000:closing/pulse 12 1 1000:light
attr ESPEasy_SupraMatic group ESPEasy Device
attr ESPEasy_SupraMatic presenceCheck 1
attr ESPEasy_SupraMatic readingSwitchText 1
attr ESPEasy_SupraMatic room 1.20_Garage,9.7_ESPEasy
attr ESPEasy_SupraMatic setState 0
attr ESPEasy_SupraMatic webCmd opening:part:closing:light

Das würde zum steuern in FHEM und der Anzeige zum Beispiel in der FTUI schon völlig ausreichen. Bei mir fehlt hier noch die Anbindung an Apple's HomeKit. Dafür habe ich ein Dummy eingerichtet der von einem Notify bedient wird. Dieser lässt sich dann auch ganz einfach in Apple's HomeKit integrieren. Da die UAP1 die aktuelle Lage des Tores anzeigt, kann mit diesem Notify auch der Dummy entsprechend gesetzt werden. Damit wird die aktuelle Lage des Tores auch direkt im Homekit angezeigt. Genau so funktioniert es auch anders herum. Bediene ich das Tor aus Homekit heraus, wird die entsprechende Aktion ausgeführt und der Staus entsprechend in FHEM angezeigt.

Der Dummy:

defmod Garagentor dummy
attr Garagentor genericDeviceType garage
attr Garagentor homebridgeMapping CurrentDoorState=Garagentor:state,values=open:0;;;;closed:1;;;;opening:2;;;;closing:3 \
TargetDoorState=Garagentor:state,cmds=OPEN:opening;;;;CLOSED:closing,values=open:OPEN;;;;closed:CLOSED;;;;opening:OPENING;;;;closing:CLOSING
attr Garagentor room 1.20_Garage,9.6_Homekit
attr Garagentor setList opening closing open closed

Das Notify:

defmod Steuerung_Garagentor notify ESPEasy_SupraMatic:close:.*|ESPEasy_SupraMatic:open:.*|Garagentor:closing.*|Garagentor:opening.* {\
if($NAME eq "Garagentor" and $EVENT eq "opening") {\
 fhem("set ESPEasy_SupraMatic opening");;\
}\
if($NAME eq "Garagentor" and $EVENT eq "closing") {\
 fhem("set ESPEasy_SupraMatic closing");;\
}\
\
if($NAME eq "ESPEasy_SupraMatic" and $EVENT eq "close: on") {\
 fhem("set Garagentor closed");;\
}\
if($NAME eq "ESPEasy_SupraMatic" and $EVENT eq "open: on") {\
fhem("set Garagentor open");;\
}\
}
attr Steuerung_Garagentor room 1.20_Garage

Das ist schon alles.

Das fertige Gerät wird dann in der nähe des Antriebes und gutem WLAN-Empfang installiert.

Kommentare powered by CComment