Garagentor-Automatisierung: Erfahrungen mit Integration in FHEM gesucht

Begonnen von MartinDolf, 07 Juli 2026, 03:09:40

Vorheriges Thema - Nächstes Thema

MartinDolf

Hallo zusammen,
ich bin gerade dabei, meine Garagensteuerung weiter zu automatisieren. Da ich mein Zuhause bereits fast komplett über FHEM steuere und mittlerweile vieles per Sprachbefehl läuft, ist jetzt das Garagentor an der Reihe.
Das alte System ist technisch leider am Ende und ich überlege derzeit, ein neues Sektionaltor kaufen zu wollen, das sich sauber in mein bestehendes Setup einbinden lässt. Mir ist dabei weniger die "High-End-Lösung" mit Cloud-Zwang wichtig, sondern eher etwas, das ich lokal anbinden kann, vielleicht über einen Shelly oder ähnliche Aktoren.
Hat jemand von euch schon mal ein modernes Tor nachgerüstet und in FHEM integriert? Mir geht es primär darum, den Status (offen/zu) sauber abzufragen und das Tor per Sprachbefehl (oder eben FHEM-Routine) zu steuern. Habt ihr da Empfehlungen für Hersteller oder Systeme, die da offen für Bastler sind und kein geschlossenes System erzwingen?
Danke für eure Tipps!

JoWiemann

Die meisten Garagentorantriebe bieten immer noch, neben einer Fernbedienung, den klassischen Taster an. Wäre ja auch blöd, wenn man beim Verlassen der Garage nach einer Fernbedienung oder dem SmartPhone suchen müsste. Hierfür gibt es eine HomeMatic IP Lösung. Ich habe zusätzlich oben und unten einen HomeMatic IP Fenstersensor angebracht. So weiß ich, ob das Garagentor offen oder zu ist.

Grüße Jörg
Jörg Wiemann

RPi 4 B mit 4 GByte bookworm, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM; zigbee2mqtt

ioBroker als Datenlieferant für z.B. Anker, Samsung

rudolfkoenig

ZitatHierfür gibt es eine HomeMatic IP Lösung.
Das kann man mit einem beliebigen anderen Funksystem auch realisieren, wenn der Funk-Empfaenger zwei Eingaenge kurzschliesschen kann.
Ich habe das mal mit einem Shelly Qubino Wave 1 realisiert, und als Fernbedienung eine Z-Wave Me Mini verwendet.

rabehd

Vorsicht mit dem klassischen Taster. Meiner hat 3 Tasten, aber nur 2 Drähte zur Steuereinheit. Da muss also Logik drin sein.
Für mein Tor gibt es eine "Smartbox", mit einem unattraktiven Preis.
Wenn neu, dann Frage doch gleich nach der Einbindung in Smarthome.
Auch funktionierende Lösungen kann man hinterfragen.

Gisbert

Hallo Rudi, Jörg und rabehd,

ich war schon geneigt zu antworten und meine Lösung darzustellen, die mit anderen Komponenten funktioniert, aber vom Konzept identisch zu Lösungen von Jörg und Rudi ist.

Wenn man sich das Registrierungsdatum und die Anzahl der Beiträge (= einer) des Users im Forum anschaut, verbunden mit der Aussage, dass er fast sein ganzes Zuhause mit Fhem steuert, dabei aber bisher noch nie auf ein Problem oder eine Frage gestoßen ist, für die er Hilfe hier im Forum benötigt hätte, dann deutet das doch schon sehr auf einen Bot hin. Mich würde es sehr verwundern, wenn wir noch etwas von ihm hören werden. Falls ich mich irren sollte, verspreche ich, dass ich meine Lösung bis ins letzte Detail posten werde.

Viele Grüße Gisbert
Proxmox | UniFiRHASSPY | DEYE | JK-BMS | ESPHome | Panasonic Heishamon | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Rauchmelder FA21/22RF

MartinDolf

Hallo Gisbert,
danke für die direkte Nachfrage – das kann ich absolut verstehen, bei der Flut an Bots hier ist Vorsicht ja besser als Nachsicht.
Um das kurz aufzuklären: Unser Haus wurde tatsächlich von Profis auf FHEM umgestellt. Ich war bisher eher der klassische Nutzer, der sich über die bequeme Steuerung gefreut hat, ohne tief unter die Haube zu schauen. Ich habe hier im Forum zwar immer mal wieder mitgelesen, aber für eigene Beiträge gab es bisher nie die Notwendigkeit.
Jetzt habe ich allerdings Urlaub und wollte die Zeit nutzen, um mich endlich mal selbst ein wenig tiefer in die Materie einzuarbeiten. Die Garagensteuerung ist quasi mein "Projekt", an dem ich testen will, wie weit ich bei der Konfiguration selbst komme. Ich habe mir schon einiges angelesen und verstehe inzwischen die Grundlagen, aber an manchen Stellen habe ich noch Wissenslücken – daher ist jetzt der richtige Zeitpunkt, um auch mal aktiv nachzufragen.
Viele Grüße!

rabehd

Wenn Du mehr über Dein FHEM und die Garage (incl. Usecase) erzählst, dann könnten die Tipps konkret werden.
Auch funktionierende Lösungen kann man hinterfragen.

Nobbynews

Ich würde mal sagen, dafür gibt es unendlich viele Möglichkeiten.
Mein 1. Versuch war ein Intertechno Fensterkontakt. Wg. der Knopfzelle war das aber gerade bei niedrigen Temperaturen ziemlich unzuverlässig.
Dann habe ich das auf einen D1-Mini mit EspEasy umgebaut. Strom ist in der Garage vorhanden. An der Zugstange habe ich einen Mikroschalter mit Rollenhebel montiert und eine einfache Holzbastelei an die Decke gedübelt. Der Motor wird über den Tasterkontakt (2-polig) über ein Relais angesteuert.
Für mich reicht das aus. Offen ist halt offen, egal wie weit das Tor hochgefahren ist.

Hängt natürlich alles ganz stark von Deinen Gegebenheiten ab, wie @rabehd schon schrieb.
WLan, Zigbee, 433Mhz etc.

Gisbert

Zitat von: MartinDolf am 07 Juli 2026, 11:56:47Jetzt habe ich allerdings Urlaub und wollte die Zeit nutzen, um mich endlich mal selbst ein wenig tiefer in die Materie einzuarbeiten. Die Garagensteuerung ist quasi mein "Projekt", an dem ich testen will, wie weit ich bei der Konfiguration selbst komme. Ich habe mir schon einiges angelesen und verstehe inzwischen die Grundlagen, aber an manchen Stellen habe ich noch Wissenslücken – daher ist jetzt der richtige Zeitpunkt, um auch mal aktiv nachzufragen.
Viele Grüße!

Dann muss ich jetzt auch liefern, kann mich aber erst ab Donnerstag drum kümmern.
Wichtig wäre es zu wissen - wie die anderen Beiträge auch sagen, welche Geräte du bisher im Einsatz hast. Daran würde man sich idealerweise anschließen, bevor man eine neue Geräteklasse mit einem neuen Funkstandard verwendet. Vorausgesetzt ist natürlich, dass in einem Bestandsobjekt Funklösungen bereits vorliegen, was i.d.R. die einzig wirtschaftliche Lösung ist.

Viele Grüße Gisbert
Proxmox | UniFiRHASSPY | DEYE | JK-BMS | ESPHome | Panasonic Heishamon | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Rauchmelder FA21/22RF

Beta-User

Im Moment eiere ich mit meinem Hörmann-Tor auch noch mit "klassischen" dry contact-Lösungen rum (konkret doppelt ein Zigbee-Aktor für <15 Euro den Schlüsselschalter), aber mittelfristig wollte ich das umstellen auf eine ZigBee-Variante von https://github.com/Gifford47/HCPBridgeMqtt (das kann man auch fertig für WLAN kaufen). Damit sollten sich alle relevanten Infos aus einer Supramatic auslesen lassen können (läuft physikalisch über RS485, die Steuerung erwartet aber beim Anlernen eine zeitnahe Rückmeldung auf die Anfrage, was denn da am Bus hängt).

Ansonsten war im Vorhinein auch die Frage an den Torbauer, wie man das in eine Automatisierung einbinden könnte: terra incognita bei ihm, er verwies mich auch auf die sauteure Schnittstelle, die am Ende auch nichts anderes bietet wie ein paar "dumme" Signalausgänge...

Wichtiger Hinweis aber von ihm: wenn man sowas wie ein Garagentor nicht vor Ort bedient und unmittelbar sehen kann, was passiert, sollte man eine Lichtschranke einbauen ;) .
Server: HP-elitedesk@Debian 13, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Gisbert

Zitat von: Beta-User am 07 Juli 2026, 17:17:28Wichtiger Hinweis aber von ihm: wenn man sowas wie ein Garagentor nicht vor Ort bedient und unmittelbar sehen kann, was passiert, sollte man eine Lichtschranke einbauen ;) .
Der Hinweis ist extrem wichtig - und vielleicht generell zu empfehlen. Ich hab eine Funklösung und hatte den Fall, dass das 1. Signal verzögert durchkam - für mich sah es so aus, als wenn sich gar nichts getan hätte. Das hat es dann doch getan; in der Zwischenzeit hatte ich aber schon das 2. oder 3. Mal die Fernbedienung betätigt. Während ich dabei war rauszufahren, ging das Tor runter. Seither bin ich etwas paranoid, was Garagentorsteuerungen und Funk betrifft.
Proxmox | UniFiRHASSPY | DEYE | JK-BMS | ESPHome | Panasonic Heishamon | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Rauchmelder FA21/22RF

JoWiemann

Dafür habe ich eine Blink. Mit der habe ich Einfahrt und Garagentor im Blick.

Grüße Jörg
Jörg Wiemann

RPi 4 B mit 4 GByte bookworm, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM; zigbee2mqtt

ioBroker als Datenlieferant für z.B. Anker, Samsung

Gisbert

Hallo MartinDolf,

hier ist meine Garagentorsteuerung - Hardware und Steuerung in Fhem.

Am Tastereingang meines Garagentorantriebs hängen bereits ein Schlüsselschalter (außen) und ein Taster (innen). An diesen Eingang habe ich ein potentialfreies (!) Relais angeschlossen, das durch einen ESP8266 mit ESPEasy als Software gesteuert wird. Potentialfrei bedeutet, das kein Potential an diesem Relais anliegt, und schon garnicht (!) 230V.

Am ESP8266 hängt ein induktiver Näherungssensor, der die komplette Öffnung anzeigt. Dieser hängt an GPIO14. In ESPEasy hab ich ihn Reedsensor genannt, was vermutlich nicht richtig ist (aber so ist halt der Namen). Desweiteren gibt es einen Homematic Fenstersensor, der die komplette Schließung anzeigt.

In ESPEasy sind Rules definiert, die die Befehle von Fhem umsetzen; an GPIO12 hängt das potentialfreie Relais:
on Homematic0 do
  taskvalueset 5,1,0
  Publish /Garage/Homematic/Homematic,0
endon

on Homematic1 do
  taskvalueset 5,1,1
  Publish /Garage/Homematic/Homematic,1
endon

on Handsender do
  if [IRDetector#IRDetector]=1
    GPIO,12,1
     delay 500
    GPIO,12,0
     delay 1000
    publish /Garage/Garagentor/state,Handsender
  endif
endon

on FhemPush do
  if [IRDetector#IRDetector]=1
    GPIO,12,1
     delay 500
    GPIO,12,0
     delay 1000
    publish /Garage/Garagentor/state,FhemPush
  endif
endon

on FhemSlit do
  if [IRDetector#IRDetector]=1
    GPIO,12,1
     delay 500
    GPIO,12,0
     delay 1200
    GPIO,12,1
     delay 500
    GPIO,12,0
     delay 1000
    publish /Garage/Garagentor/state,FhemSlit
  endif
endon

on HandSlit do
  if [IRDetector#IRDetector]=1
    GPIO,12,1
     delay 500
    GPIO,12,0
     delay 1000
    GPIO,12,1
     delay 500
    GPIO,12,0
     delay 1000
    publish /Garage/Garagentor/state,HandSlit
  endif
endon

In Fhem sieht das Device so aus (ich lasse bewusst mal alle Kommentare drin, auch wenn sie auf den 1. Blick etwas verwirrend aussehen - also bitte erstmal ignorieren):
defmod Garage MQTT_DEVICE
attr Garage IODev MyBroker
attr Garage autoSubscribeReadings /Garage/+/+
attr Garage cmdIcon Push:fts_garage@#2e5e87 Slit:fts_garage_door_60@green Leer1:rc_BLANK Leer2:rc_BLANK
attr Garage comment Es ist ein DHT12-Sensor am Kannix, sowie ein seperates Relais angeschlossen.\
Tasmota liefert als Auswahl nur DHT11 und DHT22 (DHT21, AM2301, AM2302, AM2321).\
Mit der Auswahl DHT11 erscheinen sinnvolle Messgrößen, mit der anderen Option (AM2301) nicht.\
In ESPEasy kann man den DHT12-Sensor auswählen.\
Homematic0 bzw. 1 sind Informationen vom Tür/Fenstersensor, die von einem notify zum ESP geschickt werden,\
und von dort zum Device Garage.\
Erreichbar über ESP Wifi Repeater: http://192.168.2.35:81\
\
12.9.2022:\
GPIO12 (/Garage/Garagentor/state) darf keinen Wert bei Intervall haben, da ansonsten ein Wert von 0 oder 1 gesendet wird.\
Da state auch für FhemPush, FhemSlit, Handsender und HandSlit benutzt wird, würde letztlich eine 0/1 übertragen.\
Dies ist eine unglückliche Kombination.\
event-on-change-reading darf nur in Kombination mit event-min-interval für das Reading Fahrzustand gesetzt werden, \
da ansonsten das Reading Fahrzustand nicht erneuert wird, was für das überwachende DOIF notwendig ist. \
\
24.3.3024: \
Wegen Fehlfunktion des Handsenders wurden folgende http-Befehle generiert: \
http://192.168.2.35:81/control?cmd=event,FhemPush \
http://192.168.2.35:81/control?cmd=event,FhemSlit
attr Garage event-min-interval Fahrzustand:300,Reedsensor:300
attr Garage event-on-change-reading Fahrzustand,Humidity,Temperature,dewpoint,Reedsensor,Zeitstempel
attr Garage eventMap /cmd event,FhemPush:Push/cmd event,FhemSlit:Slit/cmd event,Handsender:Hand/cmd event,HandSlit:HandSlit/cmd event,Homematic1:Homematic1/cmd event,Homematic0:Homematic0
attr Garage group Garage
attr Garage icon fts_garage
attr Garage publishSet_cmd Push Slit Hand HandSlit Homematic1 Homematic0 /Garage/cmd
attr Garage room Home HM,Rollladen
attr Garage sortby 1
attr Garage stateFormat <b><span style='color:#2e5e87'>[$name:Fahrzustand]</span></b></br>\
<i>last Fhem action:</i> [$name:state]</br>\
[$name:IPaddress]</br>\
RSSI:<span style="font-size:8px"> </span>[$name:Garage.Wifi] Load:<span style="font-size:8px"> </span>[$name:System.load]</br>\
uptime: [$name:Laufzeit]</br>\
T[$name:f_temperature] H[$name:Humidity]<span style='vertical-align: +4px;; font-size: 75%;;'>% r.h.</span> D[$name:f_dewpoint]<br/>\
<span style='vertical-align: middle;; font-size: 85%'>[$name:Zeitstempel]</span>
attr Garage subscribeReading_Free.Stack /Garage/Garage.Info/Free.Stack
attr Garage subscribeReading_Garage.System.Info /Garage/Garage.Info/Garage.System.Info
attr Garage subscribeReading_Garage.Wifi /Garage/Garage.Info/Garage.Wifi
attr Garage subscribeReading_Homematic /Garage/Homematic/Homematic
attr Garage subscribeReading_Humidity /Garage/DHT12-Sensor/Humidity
attr Garage subscribeReading_IRDetector /Garage/IRDetector/IRDetector
attr Garage subscribeReading_LWT /Garage/status/LWT
attr Garage subscribeReading_Reedsensor /Garage/Reedsensor/Reedsensor
attr Garage subscribeReading_System.load /Garage/Garage.Info/System.load
attr Garage subscribeReading_Temperature /Garage/DHT12-Sensor/Temperature
attr Garage subscribeReading_cmd /Garage/cmd
attr Garage subscribeReading_state /Garage/Garagentor/state
attr Garage userReadings Zeitstempel {substr(ReadingsTimestamp($name,'Garage.System.Info',''),0,16)}, \
Laufzeit {min2human(ReadingsVal($name,'Garage.System.Info',''))}, \
LastActivity {substr(ReadingsTimestamp($name,'Garage.System.Info',''),11,5)}, \
f_temperature {int(ReadingsVal($name,'Temperature',''))."<span style='vertical-align: +4px;; font-size: 75%;;'>".substr(round(abs(ReadingsVal($name,'Temperature','')-int(ReadingsVal($name,'Temperature',''))),3),2,1)."</span>"}, \
f_dewpoint {int(ReadingsVal($name,'dewpoint',''))."<span style='vertical-align: +4px;; font-size: 75%;;'>".substr(round(abs(ReadingsVal($name,'dewpoint','')-int(ReadingsVal($name,'dewpoint',''))),3),2,1)."</span>"}, \
dewpoint:Temperature.* {urDewpoint($name,'Temperature','Humidity')}, \
Fahrzustand {if (ReadingsVal($name,'Reedsensor','') == 1 and ReadingsVal('Garagentor.Kontakt','contact','') =~ /closed/) {return 'geschlossen'} \
elsif (ReadingsVal($name,'Reedsensor','') == 0 and ReadingsVal('Garagentor.Kontakt','contact','') =~ /open/) {return 'offen'} \
elsif (ReadingsVal($name,'Reedsensor','') == 1 and ReadingsVal('Garagentor.Kontakt','contact','') =~ /open/) {return 'in Fahrt oder teilgeöffnet'}}, \
IPaddress {"<a href='http://192.168.xx.yy' style='color: green;; text-decoration: underline;;' target='_blank' rel='noopener noreferrer'>http://192.168.2.xx.yy</a>"}
attr Garage webCmd Push:Slit:Leer1:Leer2

Fenstersensor:
defmod Garagentor.Kontakt CUL_HM XXXXX
attr Garagentor.Kontakt .mId 00C7
attr Garagentor.Kontakt IOgrp VCCU:myHmUARTLGW1,myHmUARTLGW2
attr Garagentor.Kontakt actCycle 002:50
attr Garagentor.Kontakt actStatus alive
attr Garagentor.Kontakt alias Garagentor Kontakt
attr Garagentor.Kontakt autoReadReg 4_reqStatus
attr Garagentor.Kontakt devStateIcon open:fts_garage@red closed:fts_garage_door_100@gray
attr Garagentor.Kontakt expert defReg,rawReg
attr Garagentor.Kontakt firmware 1.0
attr Garagentor.Kontakt group Garage
attr Garagentor.Kontakt icon fts_garage
attr Garagentor.Kontakt model HM-SEC-SCO
attr Garagentor.Kontakt peerIDs 00000000
attr Garagentor.Kontakt room Home HM
attr Garagentor.Kontakt serialNr OEQxxxxxx
attr Garagentor.Kontakt subType threeStateSensor
attr Garagentor.Kontakt userReadings Zeitstempel {substr(ReadingsTimestamp($name,'contact',''),0,16)}, \
timestamp_trigger_cnt {substr(ReadingsTimestamp($name,'trigger_cnt',''),0,16)}

Die Fernsteuerung erfolgt durch eine Homematic Funkfernsteuerung mit 4 Bedienknöpfen. Alle 4 Bedienknöpfe haben unterschiedliche Funktionen (hoch, runter, stop, ...) und zudem werden Mehrfachbedienungen durch Fhem unterbunden, was meine Paranoia bzgl. unbeabsichtigter Mehrfachbedienung befriedigt.

Fernbedienung:
defmod HandsenderGarage CUL_HM XXXXX
attr HandsenderGarage .mId 00D4
attr HandsenderGarage IOgrp VCCU:myHmUARTLGW1,myHmUARTLGW2
attr HandsenderGarage alias Handsender Garage
attr HandsenderGarage autoReadReg 4_reqStatus
attr HandsenderGarage devStateIcon HandsenderGarage_Btn_01.Short:fts_garage_door_50 HandsenderGarage_Btn_02.Short:fts_garage_door_down HandsenderGarage_Btn_03.Short:fts_garage_door_80 HandsenderGarage_Btn_04.Short:fts_garage_door_up
attr HandsenderGarage expert defReg,rawReg
attr HandsenderGarage firmware 1.1
attr HandsenderGarage group remote
attr HandsenderGarage icon it_remote
attr HandsenderGarage model HM-RC-4-3
attr HandsenderGarage msgRepeat 0
attr HandsenderGarage room Home HM
attr HandsenderGarage rssiLog 1
attr HandsenderGarage serialNr UEQxxxxxx
attr HandsenderGarage subType remote
attr HandsenderGarage webCmd getConfig:clear msgEvents

defmod HandsenderGarage_Btn_01 CUL_HM XXXXX
attr HandsenderGarage_Btn_01 event-on-change-reading .*
attr HandsenderGarage_Btn_01 group remote
attr HandsenderGarage_Btn_01 icon fts_garage_door_50
attr HandsenderGarage_Btn_01 model HM-RC-4-3
attr HandsenderGarage_Btn_01 peerIDs 00000000
attr HandsenderGarage_Btn_01 room Home HM
attr HandsenderGarage_Btn_01 stateFormat trigger
attr HandsenderGarage_Btn_01 verbose 2

defmod HandsenderGarage_Btn_02 CUL_HM XXXXX
attr HandsenderGarage_Btn_02 event-on-change-reading .*
attr HandsenderGarage_Btn_02 group remote
attr HandsenderGarage_Btn_02 icon fts_garage_door_down
attr HandsenderGarage_Btn_02 model HM-RC-4-3
attr HandsenderGarage_Btn_02 peerIDs 00000000
attr HandsenderGarage_Btn_02 room Home HM
attr HandsenderGarage_Btn_02 stateFormat trigger
attr HandsenderGarage_Btn_02 verbose 2

defmod HandsenderGarage_Btn_03 CUL_HM XXXXX
attr HandsenderGarage_Btn_03 event-on-change-reading .*
attr HandsenderGarage_Btn_03 group remote
attr HandsenderGarage_Btn_03 icon fts_garage_door_80
attr HandsenderGarage_Btn_03 model HM-RC-4-3
attr HandsenderGarage_Btn_03 peerIDs 00000000
attr HandsenderGarage_Btn_03 room Home HM
attr HandsenderGarage_Btn_03 stateFormat trigger
attr HandsenderGarage_Btn_03 verbose 2

defmod HandsenderGarage_Btn_04 CUL_HM XXXXX
attr HandsenderGarage_Btn_04 event-on-change-reading .*
attr HandsenderGarage_Btn_04 group remote
attr HandsenderGarage_Btn_04 icon fts_garage_door_up
attr HandsenderGarage_Btn_04 model HM-RC-4-3
attr HandsenderGarage_Btn_04 peerIDs 00000000
attr HandsenderGarage_Btn_04 room Home HM
attr HandsenderGarage_Btn_04 stateFormat trigger
attr HandsenderGarage_Btn_04 verbose 2

Die Bedienung der Fernbedienung wird durch entsprechende notifys in Fhem registriert und letztlich in Befehle für den ESP8266 umgesetzt.
defmod Garage.open.notify notify HandsenderGarage_Btn_04:trigger_cnt:.* {if (ReadingsVal('Garagentor.Kontakt','contact','') =~ /closed/ \
and (ReadingsAge('HandsenderGarage_Btn_01','trigger_cnt','')>30) \
and (ReadingsAge('HandsenderGarage_Btn_02','trigger_cnt','')>30) \
and (ReadingsAge('HandsenderGarage_Btn_03','trigger_cnt','')>30)) \
{Log 3, "$NAME Garagentor fährt hoch";; fhem('set Garage Hand');;}}
attr Garage.open.notify alias Garage open
attr Garage.open.notify disabledAfterTrigger 30
attr Garage.open.notify room Home HM

defmod Garage.down.notify notify HandsenderGarage_Btn_02:trigger_cnt:.* {if (ReadingsVal('Garagentor.Kontakt','contact','') =~ /open/ \
and ReadingsVal('Garage','Reedsensor','') == 0 \
and (ReadingsAge('HandsenderGarage_Btn_01','trigger_cnt','')>30) \
and (ReadingsAge('HandsenderGarage_Btn_03','trigger_cnt','')>30) \
and (ReadingsAge('HandsenderGarage_Btn_04','trigger_cnt','')>30)) \
{Log 3, "$NAME Garagentor fährt runter";; fhem('set Garage Hand');;}}
attr Garage.down.notify alias Garage down
attr Garage.down.notify disabledAfterTrigger 30
attr Garage.down.notify room Home HM

defmod Garage.slit.notify notify HandsenderGarage_Btn_03:trigger_cnt:.* {if (ReadingsVal('Garagentor.Kontakt','contact','') =~ /closed/ \
and (ReadingsAge('HandsenderGarage_Btn_01','trigger_cnt','')>30) \
and (ReadingsAge('HandsenderGarage_Btn_02','trigger_cnt','')>30) \
and (ReadingsAge('HandsenderGarage_Btn_04','trigger_cnt','')>30)) \
{Log 3, "$NAME Garagentor fährt auf Lücke";; fhem('set Garage HandSlit');;}}
attr Garage.slit.notify alias Garage HandSlit
attr Garage.slit.notify disabledAfterTrigger 30
attr Garage.slit.notify room Home HM

defmod Garage.closeslit.notify notify HandsenderGarage_Btn_01:trigger_cnt:.* {if (ReadingsVal('Garagentor.Kontakt','contact','') =~ /open/ \
and ReadingsVal('Garage','Reedsensor','') == 1 \
and (ReadingsAge('HandsenderGarage_Btn_02','trigger_cnt','')>5) \
and (ReadingsAge('HandsenderGarage_Btn_03','trigger_cnt','')>5) \
and (ReadingsAge('HandsenderGarage_Btn_04','trigger_cnt','')>5)) \
{Log 3, "$NAME Garagentor in Fahrt oder teilgeöffnet";; fhem('set Garage Hand');;}}
attr Garage.closeslit.notify alias Garage closeslit
attr Garage.closeslit.notify disabledAfterTrigger 5
attr Garage.closeslit.notify room Home HM

Viel Spaß beim Nachbauen.
Gisbert
Proxmox | UniFiRHASSPY | DEYE | JK-BMS | ESPHome | Panasonic Heishamon | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Rauchmelder FA21/22RF