(Meine) Lösung für den HmIP-WGC als Garagentortaster mit SIRI

Begonnen von Dirk070, 02 November 2023, 10:42:40

Vorheriges Thema - Nächstes Thema

Dirk070

Hallo zusammen,

an einem Garagentor mit Marantec Comfort (wird z.B. von Zapf umgelabelt genutzt) habe ich einen HmIP-WGC angeschlossen. Der Antrieb liefert praktischerweise auch die notwendige Spannung für den Schalter.
Zudem habe ich 2 HMIP-SWDO montiert (an der Laufschiene), die die Position des Schlittens erfassen. Das Tor kann eine Lüftungsposition anfahren, daher sind es 2 HMIP-SWDO geworden.
Schaltet man auf der GUI der CCU3, öffnet und schliesst der Schalter im Sinne eines Tasters. Via FHEM bleibt der Schalter in seinem Zustand und "springt" nicht zurück.

Meine(!) Lösung:

Für den Schalter in FHEM einen Notify anlegen.
CCU_EG_GAR_HMIP_WGC:on {
fhem("sleep 0.5; set CCU_EG_GAR_HMIP_WGC off");
return
}

Einen Dummy definieren:
define Garage dummy
attr Garage devStateIcon closed:fts_garage_door_100 open:fts_garage_door_10@red opening:fts_garage_door_up closing:fts_garage_door_down stopped:fts_garage_door_30
attr Garage event-on-change-reading state
attr Garage genericDeviceType garage
attr Garage homebridgeMapping CurrentDoorState=state,values=closed:CLOSED;;open:OPEN;;opening:OPENING;;closing:CLOSING;;stopped:STOPPED\
TargetDoorState=state,cmds=OPEN:open;;CLOSED:closed;;OPENING:opening;;CLOSING:closing;;STOPPED:stopped,values=closed:CLOSED;;open:OPEN;;opening:OPENING;;closing:CLOSING;;stopped:STOPPED
attr Garage icon fts_garage
attr Garage room EG->Garage,System->Homekit
attr Garage setList open closed opening closing stopped
attr Garage siriName Garage
attr Garage webCmd open:closed

Besonderheit: der CCU_EG_GAR_HMIP_SWDO_LF ist in der CCU3 mit Meldung in Position offen "geschlossen" definiert und umgekehrt. Zudem ist eine Eventverzögerung von 3 Sekunden definiert.
Der 2. SWDO hat nur die Eventverzögerung von 3 Sekunden.

Einen DOIF definieren:
([CCU_EG_GAR_HMIP_SWDO_OC] eq 'closed')
( {
## In Homematic ist eine Eventverzögerung von 3 Sekunden hinterlegt, damit beim Vorbeifahren der Status nicht wechselt
## Garagensensor Open/Close ist geschlossen, Garagentor ist geschlossen
Log 1, "TEST: Garage OC close ";;
fhem ("set Garage closed");;
} )
DOELSEIF ([CCU_EG_GAR_HMIP_SWDO_OC] eq 'open' )
( {
## Wait hier im DOIF verzögert nur diesen Zweig mit 5 Sekunden, damit der LF-Sensor den finalen Status melden kann
## Garagensensor Open/Close ist offen, wenn Sensor Lüftung geschlossen ist, ist Garagentor auf Lüftung
Log 1, "TEST: Garage OC open ";;
 if ("[CCU_EG_GAR_HMIP_SWDO_LF:state]" eq 'open')
 {
 Log 1, "TEST: Garage LF open, also Sensor zu ";;
## fhem ("set Garage auf");;
  fhem ("set Garage stopped");;
 }
 elsif ("[CCU_EG_GAR_HMIP_SWDO_LF:state]" eq 'closed')
 {
 Log 1, "TEST: Garage LF close, also Sensor auf ";;
 ##fhem ("set Garage Lueftung");;
 fhem ("set Garage open");;
 }
 } )
 DOELSEIF ([Garage] eq 'open' )
( {
 ## Bedienung über den Garagentor Dummy, also über Apple Home
 Log 1, "TEST: Apple Home AUF / [di_Garagentor:Device]";;
  fhem ("set CCU_EG_GAR_HMIP_WGC on; set Garage opening");;
## fhem ("set CCU_EG_GAR_HMIP_WGC on");;
 } )
 DOELSEIF ([Garage] eq 'closed' )
( {
 ## Bedienung über den Garagentor Dummy, also über Apple Home
 Log 1, "TEST: Apple Home ZU / [di_Garagentor:Device]";;
   fhem ("set CCU_EG_GAR_HMIP_WGC on; set Garage closing");;
 } )
attr di_Garagentor do always
attr di_Garagentor icon helper_doif
attr di_Garagentor wait 0:5:0:0

Homebridge neu starten!

Die Garage kann über den Taster in der Garage, über die CCU3 GUI, über die FHEM GUI, über Apple Home und Siri bedient werden.

Viele Grüße
Dirk