Hallo,
ich habe mir den 6-fach Wandsender von Homematic geholt (HM-PB-6-WM55).
Diese habe ich in fhem erfolgreich eingebunden. Ich bekomme im Eventmonitor angezeigt, wenn die einzelnen Tasten gedrückt werden.
Hier ein Beispiel:
2016-12-18 22:32:37 CUL_HM HM_4E9DDB battery: ok
2016-12-18 22:32:37 CUL_HM HM_4E9DDB HM_4E9DDB_Btn_06 Short
2016-12-18 22:32:37 CUL_HM HM_4E9DDB_Btn_06 Short (to broadcast)
2016-12-18 22:32:37 CUL_HM HM_4E9DDB_Btn_06 trigger: Short_3
2016-12-18 22:32:37 CUL_HM HM_4E9DDB_Btn_06 trigger_cnt: 3
Jetzt habe ich mir ein Notify erstellt, damit ein bestimmter Aktor geschaltet werden kann, wenn im ein bestimmtes Event erscheint.
Ich möchte gerne, dass nach folgendem Event gesucht wird: "HM_4E9DDB_Btn_06 Short"
Jedoch wären dies zwei Wörter. Ich Weiß nicht wie ich gleichzeitig nach diesen zwei Wörtern suchen kann.
Wenn ich nur nach HM_4E9DDB_Btn_06 suchen lasse, schaltet er mir meinen Aktor so oft hintereinander, wie er ihn finden kann.
Das ist in meinem Fall dreimal und sieht so aus:
2016-12-18 22:35:43 CUL_HM HM_4E9DDB battery: ok
2016-12-18 22:35:43 CUL_HM HM_4E9DDB HM_4E9DDB_Btn_01 Short
2016-12-18 22:35:43 IT Wohnzimmerlicht on
2016-12-18 22:35:43 CUL nanoCUL raw: isF00F0FF00FFF
2016-12-18 22:35:43 IT Wohnzimmerlicht on
2016-12-18 22:35:43 CUL nanoCUL raw: isF00F0FF00FFF
2016-12-18 22:35:43 IT Wohnzimmerlicht on
2016-12-18 22:35:44 CUL nanoCUL raw: isF00F0FF00FFF
2016-12-18 22:35:44 CUL_HM HM_4E9DDB_Btn_01 Short (to broadcast)
2016-12-18 22:35:44 CUL_HM HM_4E9DDB_Btn_01 trigger: Short_2
2016-12-18 22:35:44 CUL_HM HM_4E9DDB_Btn_01 trigger_cnt: 2
2016-12-18 22:35:44 HMLAN hmusb loadLvl: low
Bis jetzt lautet mein notify so:
define Wandtaster_Taste1_Wohnzimmerlicht_An notify HM_4E9DDB_Btn_01 set Wohnzimmerlicht on
attr Wandtaster_Taste1_Wohnzimmerlicht_An room CUL_HM
Jemand eine Idee wie ich es hinbekomme, dass er nur einmal den Befehl sendet? Wie muss der richtige Notify aussehen?
Gruß
Hi,
schau doch einfach nochmal in der Doku zum notify (http://fhem.de/commandref_DE.html#notify) nach. Du hast mehrere Varianten.
Entweder Gerät:Event -> HM_4E9DDB_Btn_06 Short (to broadcast)
HM_4E9DDB_Btn_06:Short.*
Oder Event -> HM_4E9DDB_Btn_06 Short
HM_4E9DDB_Btn_06.Short
Die erste Variante triggert auf Device! Der Doppelpunkt trennt in dem Fall das Device vom Event. Der Event ist aber nicht nur Short sondern Short (to broadcast) deswegen Short.* triggert auf jeden Event der mit Short beginnt und irgendwie endet.
Die zweite Variante triggert nur auf Event. Das Leerzeichen wird durch Punkt (jedes Zeichen) ersetzt. Das Leerzeichen ist im Regex nicht direkt verwendbar und müsste anders codiert werden (\s). Deswegen nimmt man meist einfach den Punkt. Nach Short darf aber in dem Fall nichts mehr kommen.
Gruß Otto
Hallo vielen Dank für die Antwort, das war die Lösung.
Das mit dem Doppelpunkt wusste ich gar nicht. Wieder was gelernt.
Ich habe es jetzt so gelöst:
define Wandtaster_Taste1_Wohnzimmerlicht_An notify HM_4E9DDB_Btn_01:Short.* set Wohnzimmerlicht on
attr Wandtaster_Taste1_Wohnzimmerlicht_An room CUL_HM
und es funktioniert einwandfrei!
2016-12-18 23:35:00 CUL_HM HM_4E9DDB battery: ok
2016-12-18 23:35:00 CUL_HM HM_4E9DDB HM_4E9DDB_Btn_01 Short
2016-12-18 23:35:00 IT Wohnzimmerlicht on
2016-12-18 23:35:00 CUL nanoCUL raw: isF00F0FF00FFF
2016-12-18 23:35:00 CUL_HM HM_4E9DDB_Btn_01 Short (to broadcast)
2016-12-18 23:35:00 CUL_HM HM_4E9DDB_Btn_01 trigger: Short_17
2016-12-18 23:35:00 CUL_HM HM_4E9DDB_Btn_01 trigger_cnt: 17
danke danke
Zitat von: styler am 18 Dezember 2016, 23:35:18
Das mit dem Doppelpunkt wusste ich gar nicht. Wieder was gelernt.
Du musst allerdings für die Zukunft im Hinterkopf behalten: Wie in diesem Fall trennt der Doppelpunkt das Gerät vom Event. Es gibt auch Events die einen Doppelpunkt enthalten!
Gruß Otto