Notify mehrfach Ausführen bei langem Tastendruck

Begonnen von rspecht, 25 Dezember 2015, 14:13:58

Vorheriges Thema - Nächstes Thema

rspecht

Hallo Leute,

ich habe nun eine FS20 S4 über ein SCC eingebunden. Dabei Läuft ein notify auf nen kurzen sowie langen Tastendruck um das Radio in der Küche ein/aus zu schalten und die Lautstärke zu variieren. Nur muss ich für jede Lautstärkenstufe die Taste wieder los lassen und lang drücken um das Notify erneut auszulösen. Gibt es da eine Möglichkeit das Notify intervallweise erneut auslösen bis die Taste losgelassen wurde?

Liebe Grüße und noch weiterhin angenehme Weihnachten :)

dev0

Ich kenne das FS20 System nicht, aber schau doch mal in den Event Monitor ab nicht regelmäßig Events kommen, wenn Du den Button länger betätigst. Falls ja, dann kannst Du darauf triggern und jedesmal die Lautstärke um x erhöhen. Falls beim Loslassen ein Event generiert wird, dann könntest Du die Zeitspanne zwischen drücken uns loslassen verwenden, dann würde die Lautstärkeänderung aber erst nach dem Loslassen aktiv.

Ellert

Ich kenne FS20 auch nicht. Falls Du keine wiederholten Tastatur-Ereignisse findest, könntest Du ein DOIF nehmen.
So etwa:
define di DOIF ([Btn:?long_press] and [?di] =~ "cmd_2|initialized") (set SCCvolume {([SCCVolume] +1)})
DOELSEIF  ([Btn:?long_release] and [?di] =~ "cmd_1")
attr di repeatcmd 0.3:0


rspecht

Hi,
danke für die Flotte Antwort... Ich habe nun das Doif so angelegt:
   
([FS20_a5d80a:state] eq "dimupdown" and [?doifFBKlein3_dimupdown] =~ "cmd_2|initialized") ({ Log 1, "Teatime" })

Nun rennt das Doif gleich los... stoppt aber nicht mehr - ich bekomme so in 0,3s takten neue Log Einträge ^^
habe ich den 2ten Teil der Bedingung falsch angepasst? auf was willst du da überhaupt prüfen?

Der Status des Devices kann entweder on, off oder dimupdown sein - je nachdem was zuletzt gedrückt wurde. Der Status bleibt aber bis zum nächsten event.

Liebe Grüße

Otto123

Hast Du im Eventmonitor geschaut, was die Taste liefert? Wie dev0 vorgeschlagen hat!?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rspecht

Klar hab ich - aber gut dass du fragst, das hätt ich natürlich noch dazu schreiben sollen...
Daher kommt auch die Info damit er nur am "Anfang" sendet...

FS20 FS20_a5d80b dimupdown

ein release oder sowas kommt nicht.

Ellert

Du hast den DOELSEIF Zweig vergessen, der stoppt das aufdimmen
define di DOIF ([Btn:?dimupdown] and [?di] =~ "cmd_2|initialized") (set SCCvolume {([SCCVolume] +1)}) ##1. Tastendruck startet dimup
DOELSEIF  ([Btn:?ldimupdown] and [?di] =~ "cmd_1") ##2. Tastendruck stopt dimup
attr di repeatcmd 0.3:0

ZitatNun rennt das Doif gleich los... stoppt aber nicht mehr - ich bekomme so in 0,3s takten neue Log Einträge ^^
Das solles auch.

Zitat(set SCCvolume {([SCCVolume] +1)})
erhöht die Lautstärke alle 0.3 s um 1. Ob das richtig ist weiss ich nicht, ich kenne SCC nicht und FS20 auch nicht, das musst Du selbst anpassen. Ich habe nur einen Weg aufgezeigt, damit Du das
ZitatNur muss ich für jede Lautstärkenstufe die Taste wieder los lassen und lang drücken um das Notify erneut auszulösen.
nicht machen musst.


Puschel74

Vermutlich wird mit SCC eine Aufsteckplatine für den RasPi gemeint sein.
Ob sich mit dieser die Lautstärke verstellen lässt wage ich mal zu bezweifeln  8)
Es fehlen auch hier einfach nur die nötigsten Angaben um richtig helfen zu können.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.