FHEM Forum

FHEM => Automatisierung => Thema gestartet von: bastih. am 11 Januar 2018, 19:34:20

Titel: Bewegungsmelder hm-sen-mdir-wm55 Tastenbelegung
Beitrag von: bastih. am 11 Januar 2018, 19:34:20
Hallo liebe FHEM Gemeinde,

bräuchte bitte eure Hilfe bezüglich folgender Problemstellung:
Im Einsatz habe ich einen Präsenzmelder hm-sen-mdir-wm55. Wie ihr wisst, hat dieser Präsenzmelder links und rechts einen Taster. Dieser Taster hat eine short und eine long Funktion.
So nun zu meinem Problem:
Ich habe an den Schalter meinen Pioneer AV Receiver konfiguriert:
DEF: HM_57D7A8_Btn_01:trigger:.* set PIONEERAVRZONE_zone2 on
Alles funktioniert, der Receiver schaltet bei Druck der Taste ein.
Nun möchte ich bei langem Druck des Tasters (Long Funktion) (unter Readings trigger Long) die Lautstärke des Receivers verändern. Dies müsste mit dem Befehl set PIONEERAVRZONE VolumeUp funktionieren.
Leider weiß ich aber nicht, wie ich den Long Schaltbefehl in der DEF Zeile auslöse.

Besten Dank für eure Hilfe

bastih.
Titel: Antw:Bewegungsmelder hm-sen-mdir-wm55 Tastenbelegung
Beitrag von: bastih. am 30 Januar 2018, 12:49:11
Hallo,
hat keiner eine Idee...?  :'( :'(
Titel: Antw:Bewegungsmelder hm-sen-mdir-wm55 Tastenbelegung
Beitrag von: Otto123 am 30 Januar 2018, 13:15:35
Hi,

Dein HM_57D7A8_Btn_01:trigger:.* triggert auf alles.

Du musst Dir im Eventmonitor einfach anschauen wie long aussieht https://wiki.fhem.de/wiki/Event_monitor

Dort kannst Du auch das entsprechende notify direkt erzeugen lassen. Zumindest ansatzweise.

Es wird auf so etwas wie HM_57D7A8_Btn_01:trigger:Long.* hinauslaufen. Sicher musst Du den anderen auf HM_57D7A8_Btn_01:trigger:Short.* umbauen.

Gruß Otto
Titel: Antw:Bewegungsmelder hm-sen-mdir-wm55 Tastenbelegung
Beitrag von: Udomatic am 14 Oktober 2019, 21:57:11
Hallo Otto,

ich würde gerne auf diesen Beitrag zurück kommen, da ich nichts anderes gefunden haben.

Ausgangssituation: Mein HM-Sen-MDIR-WM55 ist mit einem Funk Schaltaktor LC-Sw1PBU-FM gepeert. Bei kurzem Tastendruck des HM-Sen-MDIR-WM55, egal ob oben oder unten, wird das Licht des Aktors LC-Sw1PBU-FM an oder ausgeschaltet.

Jetzt wollte ich bei Druck auf Long des HM-Sen-MDIR-WM55 zwei Lampen in einem anderen Raum schalten. Das habe ich per Notify hin bekommen


define OfficeBW_Lichter_On notify Office_BW_Oben:Long.* set Stehlampe on ; set Schreibi on
define OfficeBW_Lichter_Off notify Office_BW_Unten:Long.* set Stehlampe off ; set Schreibi off


Allerdings wird in beiden Fällen auch das Licht des gepeerten Aktors geschaltet!

Eine Lösung im Sinne

Zitat von: Otto123 am 30 Januar 2018, 13:15:35
Es wird auf so etwas wie HM_57D7A8_Btn_01:trigger:Long.* hinauslaufen. Sicher musst Du den anderen auf HM_57D7A8_Btn_01:trigger:Short.* umbauen.

habe ich bis jetzt nicht geschafft.

Im Eventmonitor sehe ich auch, dass bei Druck auf Long, das gepeerte Licht ebenfalls geschaltet wird


2019-10-14 21:33:54 CUL_HM Kellerlicht trigLast: Office_BW_Unten:long
2019-10-14 21:33:54 CUL_HM Kellerlicht trig_Office_BW_Unten: Long_87
[b]2019-10-14 21:33:54 CUL_HM Office_BW_Unten LongRelease 4_87 (to Kellerlicht)[/b]
2019-10-14 21:33:54 CUL_HM Office_BW_Unten trigger: Long_87
2019-10-14 21:33:54 CUL_HM Office_BW_Unten triggerTo_Kellerlicht: Long_87


Mir fehlt gerade wirklich eine Idee, wie ich das am Besten lösen kann bzw. wie die Tasten des HM-Sen-MDIR-WM55 bei Druck auf Short oder Long unterschiedliche Befehle ausführen.

Kannst du mir dabei helfen bzw. kennt jemand die Lösung?

Gruß
Udo

Titel: Antw:Bewegungsmelder hm-sen-mdir-wm55 Tastenbelegung
Beitrag von: Otto123 am 14 Oktober 2019, 22:14:57
Hallo Udo,

Du müsstest im  gepeerten Aktor die Register für lg (long) "ausknipsen" damit der nicht mehr auf den long Tastendruck reagiert. Ich habe sowas noch nicht gemacht, vielleicht gibt es dafür vielleicht sogar templates .

Gruß Otto
Titel: Antw:Bewegungsmelder hm-sen-mdir-wm55 Tastenbelegung
Beitrag von: Udomatic am 16 Oktober 2019, 20:38:44
Hi,

ich habe letztendlich den zweiten Button jetzt ungepeert, um diesen rein per FHEM programmieren zu können. Damit klappt es erstmal, wie ich es möchte.

Danke!
Titel: Antw:Bewegungsmelder hm-sen-mdir-wm55 Tastenbelegung
Beitrag von: Thoffi1978 am 21 Oktober 2020, 11:14:17
Hej,

ich habe den Tastendruck als Notify gut einbauen können. Gibt es die Möglichkeit die Länge des Tastendrucks auszuwerten?

Zum Beispiel als DOIF?
Da habe ich aber irgendwo ein Denkfehler:
([Bwm_hinten_Btn_01:Long] > 5) (set Schalter7 on)
DOELSEIF
([Bwm_hinten_Btn_02:Long] > 15) (set Schalter7 off)


Das Notify reagiert gar nicht. Weder On noch Off
Auch mit einem
[Bwm_hinten_Btn_02:Long.*]
erfolgt keine Reaktion

Hoffi
Titel: Antw:Bewegungsmelder hm-sen-mdir-wm55 Tastenbelegung
Beitrag von: Otto123 am 21 Oktober 2020, 11:46:14
Hi,

schau Dir die Events im Monitor an, Beispiel:
2020-10-21 11:31:09 CUL_HM Taster4_01 Taster_Klingel Long
2020-10-21 11:31:09 CUL_HM Taster_Klingel Long 1_55 (to VCCU)
2020-10-21 11:31:09 CUL_HM Taster_Klingel trigger: Long_55
2020-10-21 11:31:09 CUL_HM Taster_Klingel trigger_cnt: 55
2020-10-21 11:31:09 CUL_HM VCCU_Btn1 trigLast: Taster_Klingel:long
2020-10-21 11:31:09 CUL_HM VCCU_Btn1 trig_Taster_Klingel: Long_55
2020-10-21 11:31:09 CUL_HM Taster_Klingel Long 2_55 (to VCCU)
2020-10-21 11:31:09 CUL_HM Taster_Klingel trigger: Long_55
2020-10-21 11:31:09 CUL_HM Taster_Klingel trigger_cnt: 55
2020-10-21 11:31:09 CUL_HM VCCU_Btn1 trigLast: Taster_Klingel:long
2020-10-21 11:31:09 CUL_HM VCCU_Btn1 trig_Taster_Klingel: Long_55
2020-10-21 11:31:09 CUL_HM Taster_Klingel Long 3_55 (to VCCU)
2020-10-21 11:31:09 CUL_HM Taster_Klingel trigger: Long_55
2020-10-21 11:31:09 CUL_HM Taster_Klingel trigger_cnt: 55
2020-10-21 11:31:09 CUL_HM VCCU_Btn1 trigLast: Taster_Klingel:long
2020-10-21 11:31:09 CUL_HM VCCU_Btn1 trig_Taster_Klingel: Long_55
2020-10-21 11:31:10 CUL_HM Taster_Klingel Long 4_55 (to VCCU)
2020-10-21 11:31:10 CUL_HM Taster_Klingel trigger: Long_55
2020-10-21 11:31:10 CUL_HM Taster_Klingel trigger_cnt: 55
2020-10-21 11:31:10 CUL_HM VCCU_Btn1 trigLast: Taster_Klingel:long
2020-10-21 11:31:10 CUL_HM VCCU_Btn1 trig_Taster_Klingel: Long_55
2020-10-21 11:31:10 CUL_HM Taster_Klingel Long 5_55 (to VCCU)
2020-10-21 11:31:10 CUL_HM Taster_Klingel trigger: Long_55
2020-10-21 11:31:10 CUL_HM Taster_Klingel trigger_cnt: 55
2020-10-21 11:31:10 CUL_HM VCCU_Btn1 trigLast: Taster_Klingel:long
2020-10-21 11:31:10 CUL_HM VCCU_Btn1 trig_Taster_Klingel: Long_55
2020-10-21 11:31:10 CUL_HM Taster4_01 Taster_Klingel LongRelease
2020-10-21 11:31:10 CUL_HM Taster_Klingel LongRelease 5_55 (to VCCU)
2020-10-21 11:31:10 CUL_HM Taster_Klingel trigger: Long_55
2020-10-21 11:31:10 CUL_HM Taster_Klingel trigger_cnt: 55
2020-10-21 11:31:10 CUL_HM VCCU_Btn1 trigLast: Taster_Klingel:long
2020-10-21 11:31:10 CUL_HM VCCU_Btn1 trig_Taster_Klingel: Long_55

Du siehst: verwendbar wäre dieser Event -> Taster_Klingel Long 3_55 (to VCCU) er enthält die Nummer des Events und die Nummer der Wiederholung.
Man müsste jetzt sowohl exakt diesen Event filtern und dann die Wiederholung herausfiltern.
Beispiel:Taster_Klingel.Long.(\d*)_.*
Den Groupmatch könntest Du dann abtesten. Beispiel:
{my $string='Taster_Klingel Long 2_55 (to VCCU)';;$string=~/Taster_Klingel.Long.(\d*)_.*/;;my $number=$1}

Quick&Dirty Beispiel:
defmod n_TasterklingelLong notify Taster_Klingel:Long.(\d*)_.* {my $string=$EVENT;;$string=~/Long.(\d*)_.*/;;my $number=$1;; if ($number > 3){Log 1,"So Lange gedrueckt: $number"}}


Gruß Otto
Titel: Antw:Bewegungsmelder hm-sen-mdir-wm55 Tastenbelegung
Beitrag von: Damian am 21 Oktober 2020, 12:11:56
([Bwm_hinten_Btn_01:"Long"]) (set Schalter7 on)
DOELSEIF
([Bwm_hinten_Btn_02:"Long"]) (set Schalter7 off)


sollte schon funktionieren, Wiederholung wird ohne do always unterbunden
Titel: Antw:Bewegungsmelder hm-sen-mdir-wm55 Tastenbelegung
Beitrag von: Otto123 am 21 Oktober 2020, 12:20:56
er will ja aber nicht einfach bei Long, sondern bei mehr als 5 mal Long oder mehr als 15 mal Long reagieren  ;)
Titel: Antw:Bewegungsmelder hm-sen-mdir-wm55 Tastenbelegung
Beitrag von: betateilchen am 21 Oktober 2020, 12:36:05
Zitat von: Thoffi1978 am 21 Oktober 2020, 11:14:17
Gibt es die Möglichkeit die Länge des Tastendrucks auszuwerten?

Die Zeitspanne zwischen dem event "Long d_dd" und dem event "LongRelease" eines Tasters sollte sich doch problemlos auswerten lassen.
Titel: Antw:Bewegungsmelder hm-sen-mdir-wm55 Tastenbelegung
Beitrag von: Damian am 21 Oktober 2020, 12:39:20
Zitat von: Otto123 am 21 Oktober 2020, 12:20:56
er will ja aber nicht einfach bei Long, sondern bei mehr als 5 mal Long oder mehr als 15 mal Long reagieren  ;)

Kann man alles machen. Ich halte eine Taste als "Toggle"-Taste sinnvoller, solange man länger drauf hält (ich will ja einschalten, wenn es aus ist und umgekehrt). Die Unterscheidung zwischen short und long ist für den Benutzer schon schwierig genug.

Die Taste sollte dann ungepeert sein, die Zeitdauer für Long (als Unterscheidung zur short) lässt sich in HM einstellen.
Titel: Antw:Bewegungsmelder hm-sen-mdir-wm55 Tastenbelegung
Beitrag von: Otto123 am 21 Oktober 2020, 12:54:11
Dein Beispiel ist aber definiert on(01) und off(02) - kein toggle.
Die Unterscheidung zwischen short und long ist mMn für die meisten "untrainierten" Benutzer nicht realisierbar :)
Titel: Antw:Bewegungsmelder hm-sen-mdir-wm55 Tastenbelegung
Beitrag von: frank am 21 Oktober 2020, 12:57:12
ich würde LongRelease auswerten, da es nur einmal auftritt.
Zitat2020-10-21 11:31:10 CUL_HM Taster_Klingel LongRelease 5_55 (to VCCU)

1. die nummer gibt sofort die länge an.
2. notify wird nur einmal getriggert.
3. mehrere aktionen sind unterscheidbar.
Titel: Antw:Bewegungsmelder hm-sen-mdir-wm55 Tastenbelegung
Beitrag von: Damian am 21 Oktober 2020, 12:57:17
Zitat von: Otto123 am 21 Oktober 2020, 12:54:11
Dein Beispiel ist aber definiert on(01) und off(02) - kein toggle.
ja, das stimmt - es müsste die gleiche Taste sein.

ZitatDie Unterscheidung zwischen short und long ist mMn für die meisten "untrainierten" Benutzer nicht realisierbar :)

naja, wer kann dann noch zwischen 14-mal Long und 15-mal Long unterscheiden ;)
Titel: Antw:Bewegungsmelder hm-sen-mdir-wm55 Tastenbelegung
Beitrag von: frank am 21 Oktober 2020, 13:00:19
Zitatnaja, wer kann dann noch zwischen 14-mal Long und 15-mal Long unterscheiden ;)
man kann ja bereiche festlegen:
1. kleiner 10
2. 10-19
3. ....
Titel: Antw:Bewegungsmelder hm-sen-mdir-wm55 Tastenbelegung
Beitrag von: Damian am 21 Oktober 2020, 15:37:33
Zitat von: frank am 21 Oktober 2020, 13:00:19
man kann ja bereiche festlegen:
1. kleiner 10
2. 10-19
3. ....

ja, dann warten wir ersten Erfahrungsberichte ab, wo die Leute 20 Sekunden lang eine Taste drücken :)
Titel: Antw:Bewegungsmelder hm-sen-mdir-wm55 Tastenbelegung
Beitrag von: frank am 21 Oktober 2020, 16:05:59
Zitat von: Damian am 21 Oktober 2020, 15:37:33
ja, dann warten wir ersten Erfahrungsberichte ab, wo die Leute 20 Sekunden lang eine Taste drücken :)
bei 20s sollte schon etwas besonderes passieren, damit man auch "dran" bleibt.  8)

ein long sollte aber normal nur 0.3-0.4s dauern.
Titel: Antw:Bewegungsmelder hm-sen-mdir-wm55 Tastenbelegung
Beitrag von: betateilchen am 21 Oktober 2020, 16:38:16
Zitat von: frank am 21 Oktober 2020, 12:57:12
ich würde LongRelease auswerten, da es nur einmal auftritt.

Ich auch.

Aber das wäre ja einfaches und logisches Vorgehen. Und das ist bei den meisten FHEM-Anwendern selten gewünscht, komplizierte Lösungen werden meistens bevorzugt.
Titel: Antw:Bewegungsmelder hm-sen-mdir-wm55 Tastenbelegung
Beitrag von: Otto123 am 21 Oktober 2020, 19:42:40
Zitat von: frank am 21 Oktober 2020, 12:57:12
ich würde LongRelease auswerten, da es nur einmal auftritt.
1. die nummer gibt sofort die länge an.
2. notify wird nur einmal getriggert.
3. mehrere aktionen sind unterscheidbar.
Das ist die bessere Idee! Genau deswegen "reden" wir ja drüber! :)  ;D

Zu short und long - meine Erfahrung: 90% der Leute können nur long :) - vor allem die andere Hälfte drückt immer so lange bis was passiert ;)
Titel: Antw:Bewegungsmelder hm-sen-mdir-wm55 Tastenbelegung
Beitrag von: Damian am 21 Oktober 2020, 21:57:35
Zitat von: Otto123 am 21 Oktober 2020, 19:42:40
Das ist die bessere Idee! Genau deswegen "reden" wir ja drüber! :)  ;D

Nicht unbedingt, ich werte bei mir bewusst bei HM das Long-Ereignis aus (ohne Toggle-Funktion). Warum?

Ich drücke solange, bis ich eine Reaktion sehe (Abschließen einer Tür), ausgelöst durch long, auch wenn es wiederholt wird, bei release muss ich die Taste loslassen, um eine Reaktion zu sehen und das kann bei zu kurzem Tastendruck ein short sein und wenn nichts passiert, dann muss ich wieder drücken.