Hallo zusammen,
ich möchte gerne einen hm-pb-2-wm55 nutzen um:
1 short: Rollo Runter
2 short: Rollo hoch
1 long: Markise runter
2 long: Markise hoch
Wenn ich jetzt aber den Rollo stoppen will, fehlt mir ein drittes "Event". Ich dachte an den Doppelklick, es scheint aber, dass der hm-pb-2-wm55 das nicht kann?
Oder hat jemand eine Idee, die mir dieses dritte Event darstellen könnte?
Danke
Markus
wenn der taster mit hm aktoren gepeert wäre, kann man ein stop durch erneutes drücken der taste realisieren.
Das ist aber hier leider nicht der Fall
Auszug Eventmonitor
2023-08-29 13:13:35 CUL_HM TasterDIS_Btn_02 Long 1_11 (to xxx)
2023-08-29 13:13:36 CUL_HM TasterDIS_Btn_02 Long 2_11 (to xxx)
2023-08-29 13:13:39 CUL_HM TasterDIS_Btn_02 Long 1_12 (to xxx)
2023-08-29 13:13:39 CUL_HM TasterDIS_Btn_02 Long 2_12 (to xxx)
2023-08-29 13:13:39 CUL_HM TasterDIS_Btn_02 Long 3_12 (to xxx)
Triggerst Du auf DeinTaster:Long.3_.* oder DeinTaster:Long.5_.* - falls das einer wirklich bedienen kann :)
Zitat von: micomat am 29 August 2023, 09:05:12Das ist aber hier leider nicht der Fall
Die Frage ist warum nicht: Markise, HM - klingt nach Jalousie Aktor und alles wäre gut.
Zitat von: Otto123 am 29 August 2023, 13:20:27Zitat von: micomat am 29 August 2023, 09:05:12Das ist aber hier leider nicht der Fall
Die Frage ist warum nicht: Markise, HM - klingt nach Jalousie Aktor und alles wäre gut.
Weil die Markise via KLF200 (SomfyIO) über Funk gesteuert wird :)
Spät, aber nicht minder herzlich: Mit "sequence" kann man sowas wunderbar machen:
defmod seqMoveEGRightBlindUp sequence Wz6TasterRightDown:Short.* 2 :Short.* 2 :Short.*
erzeugt ein Event, wenn der betreffende Taster dreimal mit einem Abstand von höchstens zwei Sekunden gedrückt wird.
Entsprechend fährt:
defmod nfyEGWzRolloRechtsWandtaster notify seqMoveEGRightBlindUp.* set RolloEGWzReDF dawn
das Rollo nach oben, wenn der Taster, mit dem ich das Deckenlicht ausschalten und dimmen kann, 3x in Folge kurz gedrückt wird. (Der erste und zweite kurze Druck wird im Dimmer direkt verwendet zum 1. Starten des (bewusst langsamen) Ausschaltdimmvorgangs, ein zweiter Klick schaltet das Licht dann sofort aus.
Da am Morgen beim Öffnen des Rollos das Licht sowieso aus ist, ist das eine wunderbare Nebennutzung des vorhandenen Tasters... Ein dreimaliges kurzes Tippen könnte auch hier alles stoppen was gerade fährt.
Ich finde die Long_Variante von Otto aber auch gut, ich nutze sogar ein Long_9.* für das Einschalten des Magnetventils für den Schlauch in den Vorgarten. So lange drückt sonst keiner auf dem Schließtaster für die Garage rum ...
jm2c
nun - als Freunde einfacher vorgehensweisen und nutzung möglichst weniger spezialfuktionen würde ich dass notify zum Toggeln bewegen. Toggel "down/stop/down/stop" "up/stop/up" machen alles meine taster (insbesondere Rollo)
Also wie immer. 1. Requirements : wie soll es funktionieren und dann 2. wie setze ich es um.
mein Requirement wäre also
Rollo stop- Btn1-short => Rollo Runter
Rollo runter- Btn1-short => Rollo stop
Rollo hoch- Btn1-short => Rollo stop
Rollo stop- Btn2-short => Rollo hoch
Rollo runter- Btn2-short => Rollo stop
Rollo hoch- Btn2-short => Rollo stop
Bei Markise das gleiche mit Lang.
=>keine Beeinflussing untereinander
Notaus:
AnyButton extralong = Rollo Stop / Markise Stop (das hilft, wenn man dernös wird. Kann sich meine Frau besser merken,...
==> als Requirement wäre das bei mir gesetzt - ich verfluche alle Rollos welche stop selektiv nach Richtung anbieten.
Realisierung könnte dann sein:
Notify für TasterDIS_Btn_0. mit Event "Btn_0._(Short|Long|Long 9_)
dann muss man den Status des Aktors rücklesen - sonst kein Toggeln.
Usercode ist dann in etwas so
$EVENT =~m/.*Btn_0(.) (.*?)_/;my ($btn,$evt)=($1,$2);
if($evt eq "Long 9") {fhem("set Rollo,Markise stop")}
elsif($bnt==1 && $evt eq "short" && RolloStatus eq "stop"){fhem("set Rollo runter")}
elsif($bnt==1 && $evt eq "short" && RolloStatus ne "stop"){fhem("set Rollo stop")}
elsif($bnt==2 && $evt eq "short" && RolloStatus eq "stop"){fhem("set Rollo hoch")}
elsif($bnt==2 && $evt eq "short" && RolloStatus ne "stop"){fhem("set Rollo stop")}
... markise anfügen mit long
damit kann ich genau lösen was ich will.
Ich hatte vor längerem eine Elegantere Lösung vorgeschlagen - wie das im Notify dann m.E. auch wirklich übersichtlich aussieht und m.E. wirklich elegant von Sofa aus konfigurierbar ist. Aber das reicht auch.
Ich nutze meine eigene Variante von Notify, somit habe ich die nachbildung nicht mehr 1:1