HomeKit Garagentor- und Drehtoröffner EPS8266 Arduino - Hörmann / Sommer Antriebe

37 Kommentare
HomeKit Garagentor- und Drehtoröffner EPS8266 Arduino - Hörmann / Sommer Antriebe

In diesem Blogbeitrag geht es um ein HomeKit Garagentoröffner, gebaut mit einem Wemos D1 mini, Wemos D1 mini pro oder auch jedem anderen ESP8266. Sicher kann man sich solche Sachen einfach kaufen, aber das macht ja kein Spaß. Deswegen möchte ich euch an diesem Projekt teilhaben lassen.

Ziel ist es den ESP8266 mit dem HomeKit zu verbinden und steuern zu können. Das hört sich erst mal sehr kompliziert an, ist es aber nicht. Den es haben sich schon andere über das HomeKit Thema Gedanken gemacht. Aus diesem Grund gibt es hier schon fertige Librarys die wir hier nutzen können.

Der Aufbau

Wie können wir den ESP8266 dazu bringen das Garagentor zu öffnen und zu schließen?
Hier haben die Hersteller der Antriebe, in dem Fall Hörmann und Sommer, ein Anschluss auf Ihren Platinen für externe Funksender (Hörmann) oder Schlüsseltaster (Sommer). Diesen können wir für unseren ESP8266 benutzen. (Sicher gibt es das auch für andere Antriebshersteller, habe ich aber nur für die beiden rausgesucht.)

Bei Welchem Antrieb welche Klemme benutzt werden kann, könnt Ihr in der List nachsehen.

Die Klemmenbezeichnung auf dern Platinen stimmen mit dem aktuellen Modellen überein, bei älteren Modellen kann es zu Abweichungen kommen. Daher bitte in die Liste gucken oder selber recherchieren. Ich habe die Angaben aus den Handbücher rausgesucht, übernehme aber keine Haftung dafür.

 

Hörmann

 

Sommer


Liste Hörmann Antriebe

Prinzipiell kann man sagen überall wo die Externen Funksender HE1, HE2, HE3, HEI1, HEI2 und HEI3 angeschlossen werden können, kann auch meine Platine angeschlossen werden.

Garagentor

ProMatic
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
ProMatic 21a Impulseingang 100mA 16, 22 HE1
20 0V
5 24V

ProMatic 2
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
ProMatic 2 21 Impulseingang 100mA 13, 3 HE1
20 0V
5 24V

ProMatic 3
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
ProMatic 3 21 Impulseingang ??? 25 HE3
20 0V
5 24V
23 Teilöffnung

ProMatic 4
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
ProMatic 4 21 Impulseingang 350mA 26 ???
20 0V
5 24V
23 Teilöffnung


ProMatic/ProMatic P
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
ProMatic/ProMatic P 21a Impulseingang 100mA 16, 22  
20 0V
5 24V

RollMatic ab Mai 2009 - Juni 2012
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
RollMatic 21 Impulseingang ??? 22 HE1, HE2, HE3
23 Teilöffnung
5 24V
20 0V

RollMatic BiSecur ab Juli 2012
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
RollMatic BiSecur 21 Impulseingang ??? 21 HE3
23 Teilöffnung
5 24V
20 0V

SupraMatic E P Serie1 9-Menüs Okt.2000-Aug.2005
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
ProMaticSupra
Matic E P
21 Impulseingang 100mA 17, 18, 30 HE1
20 0V
5 24V

SupraMatic E P Serie1 7-Menüs Bildteil Jan.1999-Sept.2000
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
SupraMatic E P 21 Impulseingang ??? 18 HE1
20 0V
5 24V

SupraMatic E2 mit externen Funk Sept. 2005-Jan.2006
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
SupraMatic E2 21 Impulseingang ??? 13, 33 HE2, HE3
23 Teilöffnung
5 24V
20 0V


SupraMatic T
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
SupraMatic T 21 Impulseingang 250mA 12, 47 HE2, HE3
20 0V
5 24V
23 Teilöffnung


SupraMatic H Serie1 A FS mit Zahngurt März.2001-Okt.2004
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
SupraMatic H Serie1 A 21 Impulseingang ??? 23, 34 HE1
20 0V
5 24V

SupraMatic H b
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
SupraMatic H b 21 Impulseingang ??? 23, 34 HE1
20 0V
5 24V

SupraMatic H Serie1 C FS mit Zahnriemen Nov.2004-Aug.2005
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
SupraMatic H Serie1 C 21 Impulseingang 100mA 29, 30, 42 HE1, HE2
20 0V
5 24V

SupraMatic HT
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
SupraMatic HT 21 Impulseingang 250mA 24 HE3
20 0V
5 24V
23 Teilöffnung

SupraMatic 2 (E, P, H) Sept.2005-Juni.2012
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
SupraMatic 2 (E, P, H) 21 Impulseingang 250mA 10, 33 HE2, HE3
23 Teilöffnung
5 24V
20 0V


SupraMatic 3 ab Juli 2012
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
SupraMatic 3
21 Impulseingang 250mA 24 HE3
20 0V
5 24V
23 Teilöffnung

SupraMatic 4
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
SupraMatic 4 21 Impulseingang 350mA 27 ESE
23 Teilöffnung
5 24V
20 0V

Turbo 75
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
Turbo 75 21 Impulseingang 250mA 14, 33 HE2, HE3
20 0V
5 24V
23 Teilöffnung



Drehtor

Drehtorantrieb DTA
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
Drehtorantrieb DTA 21 Impulseingang ??? 26, 51  
23 Gehtür
5 24V
20 0V

Portronic D 5000
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
Portronic D 5000 21 Impulseingang ??? 16, 34  
23 Gehtür
5 24V
20 0V

RotaMatic 12 DIL-Schalter März 2006
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
RotaMatic 12 DIL-Schalter 21 Impulseingang 100mA 13, 25  
23 Gehtür
5 24V
20 0V

RotaMatic II
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
RotaMatic II 21 Impulseingang ??? 21, 44  
23 Gehtür
5 24V
20 0V

RotaMatic II BiSecur
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
RotaMatic II BiSecur 21 Impulseingang 100mA 17, 46 HE3
23 Gehtür
5 24V
20 0V

RotaMatic 2
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
RotaMatic 2 21 Impulseingang 250mA 21 HEI3
23 Gehtür
5 24V
20 0V

RotaMatic P-PL
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
RotaMatic P-PL 21 Impulseingang 100mA 13, 27  
23 Gehtür
5 24V
20 0V

VersaMatic
Model Klemme Beschreibung Max Strom PDF Seite Externer Sender
VersaMatic 21 Impulseingang 250mA 26 HEI3
23 Gehtür
5 24V
20 0V

Liste Sommer Antriebe

Garagentor

base / base+
Model Klemme Beschreibung Max Strom PDF Seite Info
twist 200 E     100mA 41, 42  
duo rapido 650+
Model Klemme Beschreibung Max Strom PDF Seite Info
duo rapido 650+ 7 + 8 Taster 100mA 23 DIP-Schalter 2 ON
10 0V
9 24V
duo vision / duo rapido
Model Klemme Beschreibung Max Strom PDF Seite Info
duo vision / duo rapido 7 + 8 Taster 100mA 23 DIP-Schalter 2 ON
10 0V
9 24V
marathon SL
Model Klemme Beschreibung Max Strom PDF Seite Info
marathon SL 2 + 3 Taster Innen 100mA 22, 23  
4 + 5 Taster Außen
10 24V
11 0V
marathon tiga SL
Model Klemme Beschreibung Max Strom PDF Seite Info
marathon tiga SL 2 + 3 Taster Innen 100mA 20, 21  
4 + 5 Taster Außen
10 24V
11 0V
marathon tiga SLX
Model Klemme Beschreibung Max Strom PDF Seite Info
marathon tiga SLX 2 + 3 Taster Innen 100mA 25, 26  
4 + 5 Taster Außen
10 24V
11 0V
pro / pro+
Model Klemme Beschreibung Max Strom PDF Seite Info
pro / pro+     100mA 46, 47  
sprint evolution
Model Klemme Beschreibung Max Strom PDF Seite Info
sprint evolution 7 + 8 Taster 100mA 19 DIP-Schalter 2 ON
10 0V
9 24V
tiga
Model Klemme Beschreibung Max Strom PDF Seite Info
tiga 100mA 46,49
tiga+
Model Klemme Beschreibung Max Strom PDF Seite Info
tiga+     300mA 46, 48, 50  

Drehtor

twist 200 E
Model Klemme Beschreibung Max Strom PDF Seite Info
twist 200 E 13 + 14 Impulseingang 1,25A 26, 27, 28  
15 + 16 Gehtür
10 24V
9 0V
twist 200 EL
Model Klemme Beschreibung Max Strom PDF Seite Info
twist 200 E L 13 + 14 Impulseingang 1,25A 30, 31  
15 + 16 Gehtür
10 24V
9 0V
twist 350 / twist 350 rapido
Model Klemme Beschreibung Max Strom PDF Seite Info
twist 350 / twist 350 rapido 21 + 22 Impulseingang 100mA 31, 34
23 + 24 Gehtür
35 24V
36 0V
twist UG / twist UG+
Model Klemme Beschreibung Max Strom PDF Seite Info
twist UG / twist UG+ 21 + 22 Impulseingang 100mA 31, 33  
23 + 24 Gehtür
35 24V
36 0V

Die Platinen

Es gibt hier einmal die Version 1 mit den Bauteilen neben dem ESP8266 und die Version 2 mit den Bauteilen unter dem ESP8266.

Mit der Platine werden die entsprechenden Schalter via Optokoppler geschalten. Das hat den Vorteil das hier ein galvanische Trennung vorliegt. Sprich die beiden Stromkreise ESP8266 und der Schaltkontakt haben keine Verbindung. Sicher könnte man das auch über eine Transistorschaltung realisieren.

Version 1: 70,3mm x 50,3mm x 1,5mm
Version 2: 48,2mm x 50,3mm x 1,5mm
Stromverbrauch: ca. 40mA


Die 24 Volt von der Antriebssteuerung müss auf 5 Volt runtergeregelt werden. Dafür habe ich paar Bauteile rausgesucht, die dafür verwendet werdenkönnen.





Der Programmcode

Der Code kann hier runtergeladen werden.

Download Sketch (19kb .zip)


Library Homekit


Datei xx_homekit_AP.ino

An dieser Stelle wird der Access Point Name und Passwort festgelegt.

#ifndef APSSID
#define APSSID "AP_HomeKit_GSwitch"
#define APPSK  "ESP-HomeKit24"
#endif

Access Point Zugangsadresse.

/* hostname  http://homekit.local */
const char *myHostname = "homekit";
  
IPAddress apIP(192, 168, 100, 1);
IPAddress netMsk(255, 255, 255, 0);

Hier wird die Webansicht definiert und in der Datei handleHttp.ino ausgeführt.

  server.on("/", handleRoot);
  server.on("/reset", handleReset);
  server.on("/reset_do", handleResetDo);
  server.on("/wifi", handleWifi);
  server.on("/wifisave", handleWifiSave);
  server.on("/generate_204", handleRoot);  //Android captive portal. Maybe not needed. Might be handled by notFound handler.
  server.on("/fwlink", handleRoot);  //Microsoft captive portal. Maybe not needed. Might be handled by notFound handler.
  server.onNotFound(handleNotFound);
  server.begin(); // Web server start

Definition der Schaltanweisung für das HomeKit.

// Diese Funktion wird aufgerufen, wenn der Schalter in HomeKit betätigt wird
void switch_S1_setter(const homekit_value_t value) {
  digitalWrite(PIN_SWITCH_S1, HIGH);
  delay(1000);
  digitalWrite(PIN_SWITCH_S1, LOW);
}
  
void switch_S2_setter(const homekit_value_t value) {
  digitalWrite(PIN_SWITCH_S2, HIGH);
  delay(1000);
  digitalWrite(PIN_SWITCH_S2, LOW);
}
  
void my_homekit_setup() {
  pinMode(PIN_SWITCH_S1, OUTPUT);
  digitalWrite(PIN_SWITCH_S1, LOW);
  switch_S1.setter = switch_S1_setter;
  pinMode(PIN_SWITCH_S2, OUTPUT);
  digitalWrite(PIN_SWITCH_S2, LOW);
  switch_S2.setter = switch_S2_setter;
  arduino_homekit_setup(&config);
}

Datei my_accessory.c

Definition was im Homekit als Name für das Gerät angezeigt werden soll und was es ist. Zum Beispiel ein Schalter oder ein Sensor usw. Was es da für Möglichkeiten gibt findet Ihr in der Library.

C:\Users\EuerName\Documents\Arduino\libraries\HomeKit-ESP8266\src\homekit

In der Datei types.h und characteristics.h siehe auch das Video.

homekit_characteristic_t nameS1 = HOMEKIT_CHARACTERISTIC_(NAME, "Garagentor");
homekit_characteristic_t nameS2 = HOMEKIT_CHARACTERISTIC_(NAME, "Garagenteilöffnung");

homekit_accessory_t *accessories[] = {
  HOMEKIT_ACCESSORY(.id = 1, .category = homekit_accessory_category_garage, .services = (homekit_service_t*[]) {
    HOMEKIT_SERVICE(ACCESSORY_INFORMATION, .characteristics = (homekit_characteristic_t*[]) {
      HOMEKIT_CHARACTERISTIC(NAME, "Garagentor"),
      HOMEKIT_CHARACTERISTIC(MANUFACTURER, "arduino-projekte.info"),
      HOMEKIT_CHARACTERISTIC(SERIAL_NUMBER, "SN081523"),
      HOMEKIT_CHARACTERISTIC(MODEL, "ESP8266 D1 Mini"),
      HOMEKIT_CHARACTERISTIC(FIRMWARE_REVISION, "1.0"),
      HOMEKIT_CHARACTERISTIC(IDENTIFY, my_accessory_identify),
      NULL
    }),

Hier wird der Pin vergeben der beim Verbinden (Pairing) mit dem Homekit abgefragt wird.

  homekit_server_config_t config = {
  .accessories = accessories,
  .password = "111-11-111"
};

Hinweis:

Je nach Modell kann es sein das der Access Point nicht gleich startet, hier einfach das Modul nochmal aus und einstecken.

Update: vom 17.08.2021

Mit dem letzten IOS Update funktioniert das Garagenprogramm nicht mehr. Der Grund ist hier der lange Name in der my_accessory.c Datei "Garagentorteilöffnung" dieser muss gekürzt werden, dann geht es auch wieder. Scheinbar gibt es eine Begrenzung der Zeichen für die HomeKit Namen.

homekit_characteristic_t nameS1 = HOMEKIT_CHARACTERISTIC_(NAME, "Garagentor");

homekit_characteristic_t nameS2 = HOMEKIT_CHARACTERISTIC_(NAME, "Garagenteilöffnung");
  HOMEKIT_ACCESSORY(.id = 2, .category = homekit_accessory_category_garage, .services = (homekit_service_t*[]) {
    HOMEKIT_SERVICE(ACCESSORY_INFORMATION, .characteristics = (homekit_characteristic_t*[]) {
      HOMEKIT_CHARACTERISTIC(NAME, "Garagenteilöffnung"),
                             HOMEKIT_CHARACTERISTIC(MANUFACTURER, "arduino-projekte.info"),
                             HOMEKIT_CHARACTERISTIC(SERIAL_NUMBER, "SN081523"),
                             HOMEKIT_CHARACTERISTIC(MODEL, "ESP8266 D1 Mini"),
                             HOMEKIT_CHARACTERISTIC(FIRMWARE_REVISION, "1.0"),
                             HOMEKIT_CHARACTERISTIC(IDENTIFY, my_accessory_identify),
                             NULL
    }),

Update: vom 14.08.2023

Das System bzw. die Platinen können auch für Home Assistant via ESP Home genutzt werden.

Folgende Bauteile wurden verwendet:

1x Garagen- und Hoftoröffner für ESP8266 / HomeKit / Home Assistant / ESP Home Neue Version - https://arduino-projekte.info/produkt/garagen-und-hoftoroeffner-fuer-esp8266-homekit-home-assistant-esp-home/
1x HomeKit Garagen- und Hoftoröffner für ESP8266 - https://arduino-projekte.info/produkt/homekit-garagen-und-hoftoroeffner-fuer-esp8266/
1x D1 mini Pro v1.1.0 16MB ESP8266 - https://ap-url.de/d1minipro
1x Wemos Lolin D1 mini Pro V2.0 - https://ap-url.de/d1miniprov2
ESP8266 HomeKit Schalter Projekte

37 Kommentare

Hallo Johannes,
leider ist das in der Anleitung nicht so ganz eindeutig aber ich würde denke die Hörmann Platine passt hier am besten. Angangen ohne Gewehr.

Gruß
Tobias

arduino projekte

Hallo!
Super Projekt, vielen Dank!
Ich habe die Tousek ST12/5
Daten hier http://download.tousek.at/downloads/DE/DE_04_ST-12-5.pdf und frage mich, welche Platine die Richtige sein könnte.
Ich dachte die Hörmann, weil Impuls/Gehflügel den selben Gemeinsamen haben, oder?
Würde ich über einen Tipp freuen.
Danke!

Johannes Wagner

Gut, danke. Dann steht die Bestellliste :-)

Mike93

Hallo,
ja eine 4MB Version reicht auch aus.

arduino projekte

Ja, ist die gleiche Firma. Auch die HE3-Fernbedienung nutzen wir. Hat es einen bestimmten Grund, warum ein 16 MB Wemos genutzt wird? Hätte nämlich noch einen 4MB hier rumliegen ;-)

Mike93

Hinterlassen Sie einen Kommentar

Bitte beachten Sie, dass Kommentare vor der Veröffentlichung genehmigt werden müssen.