Schalten in FHEM über Homematic Taster

In diesem Beitrag möchte ich kurz erklären, wie man sehr einfach mittels eines Homematic Tasters beliebige andere Geräte in FHEM schalten kann.

Was man dafür braucht:

  1. eine laufende FHEM-Installation
  2. z.B. einen Homematic 2-fach Taster
  3. 1 oder 2 Geräte zum Schalten

Zuerst bindet man natürlich den Homematic Taster in FHEM ein, wie das geht steht im FHEM-Wiki sehr gut beschrieben. Zusätzlich (ist kein Muss) habe ich noch für jede der Tasten ein virtuelles „Gerät“ angelegt. Dies bewirkt letztendlich nur, dass beim Betätigen der Taste eine Rückmeldung von FHEM generiert wird. Dadurch wird dem Taster mitgeteilt, dass der Empfänger den Tastendruck mitbekommen hat. Somit leuchtet die LED am Taster kurz grün. Macht man das nicht, dann leuchtet die LED orange, man kann sich aber nicht sicher sein, ob die Nachricht von FHEM empfangen wurde. Beim Schalten von Lampen sieht man das Ergebnis ja an der Lampe selbst, oder eben nicht. Aber wenn man damit z.B. vom Wohnzimmer aus die Heizung im Bad ansteuern will (wenn man nämlich in die Wanne will), dann sieht man das Ergebnis nicht…

Komme ich also zu einem Beispiel aus meiner Wohnung…
Durch Betätigen des Tasters möchte ich erreichen, dass in der Küche neben dem Kühlschrank die Beleuchtung ein- bzw. durch erneutes Betätigen wieder ausgeschaltet wird. Hierzu braucht es neben dem Taster und dem zu schaltenden Gerät (hier ein Smart-Plug von Osram) ein sogenanntes NOTIFY. Dieses wird so konfiguriert, dass es auf das Betätigen des Tasters reagiert.

Definition des Tasters (hier die zweite Taste):

defmod EZ_S1T2_LichtKuehlschrank CUL_HM XXXXXXXX
attr EZ_S1T2_LichtKuehlschrank group Schalter
attr EZ_S1T2_LichtKuehlschrank icon taster_ch_2
attr EZ_S1T2_LichtKuehlschrank model HM-PB-2-WM55
attr EZ_S1T2_LichtKuehlschrank peerIDs 00000000,11111102,
attr EZ_S1T2_LichtKuehlschrank room X_HomeMatic

Definition der Beleuchtung:

defmod LIGHTIFYBD2E0C0000XXXXXX HUEDevice BD2E0C0000XXXXXX IODev=Osram_GW
attr LIGHTIFYBD2E0C0000XXXXXX userattr lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0
attr LIGHTIFYBD2E0C0000XXXXXX IODev Osram_GW
attr LIGHTIFYBD2E0C0000XXXXXX alias EZ_Kuehlschrank
attr LIGHTIFYBD2E0C0000XXXXXX color-icons 2
attr LIGHTIFYBD2E0C0000XXXXXX devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
attr LIGHTIFYBD2E0C0000XXXXXX group Licht
attr LIGHTIFYBD2E0C0000XXXXXX icon message_socket_on2
attr LIGHTIFYBD2E0C0000XXXXXX model Plug - LIGHTIFY
attr LIGHTIFYBD2E0C0000XXXXXX room Esszimmer,X_LIGHTIFY
attr LIGHTIFYBD2E0C0000XXXXXX subType switch
attr LIGHTIFYBD2E0C0000XXXXXX webCmd :

Definition des NOTIFY:

defmod not_EZ_S1T2_LichtKuehlschrank notify EZ_S1T2_LichtKuehlschrank:.* { \
	if ($EVENT =~ m/Short /) \
		{ fhem("set LIGHTIFYBD2E0C0000XXXXXX toggle") }\
	elsif ($EVENT =~ m/Long /)\
		{ fhem("set EZ_LED_Herd dimdown") }\
}
attr not_EZ_S1T2_LichtKuehlschrank room X_HomeMatic

Auf das Anlegen der physikalischen Geräte gehe ich an dieser Stelle nicht ein. Diese werden in diesen beiden Fällen von FHEM automatisch angelegt und müssen dann den eigenen Bedürfnissen entsprechend angepasst werden.
Allerdings muss das NOTIFY selbst angelegt werden. Man vergibt einen Namen für das NOTIFY (not_EZ_S1T2_LichtKuehlschrank) und teilt diesem mit, auf wen oder was es reagieren soll (EZ_S1T2_Lichtkuehlschrank). Sobald also die Taste betätigt wird, wird in FHEM ein sogenanntes Event ausgelöst. Per o.g. Definition wird jetzt zuerst geprüft, ob das ein kurzer ($EVENT =~ m/Short /) oder ein langer ($EVENT =~ m/Long /) Tastendruck war. Beim kurzen Tastendruck wird dann der Status des Gerätes (Osram SmartPlug) umgekehrt (toggle). Ist die Lampe an, wird sie ausgeschaltet, ist sie aus, wird sie eingeschaltet. Vom Prinzip her also sehr einfach… Zugegeben, es ist erst einfach, wenn man sich ausgiebig mit der Syntax beschäftigt hat. Hat man diese einmal verstanden, kann man auch problemlos weit komplexere Abfragen basteln.

Wird die Taste wie in diesem Beispiel länger betätigt, dann wird ein komplett anderes Gerät (EZ_LED_Herd) angesprochen. Hiermit wird der LED-Streifen, der den Herd und einen Großteil der Arbeitsplatte beleuchten soll, runter gedimmt. Entsprechend gibt es auf der 1. Taste des Schalters eine Funktion, die den LED-Streifen wieder heller macht. 
Man hat also pro Taste die Möglichkeit, zwei unterschiedliche Funktionen / Geräte zu hinterlegen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*