FHEM Forum

FHEM => Automatisierung => Thema gestartet von: rspecht am 25 Dezember 2015, 14:13:58

Titel: Notify mehrfach Ausführen bei langem Tastendruck
Beitrag von: rspecht am 25 Dezember 2015, 14:13:58
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 :)
Titel: Antw:Notify mehrfach Ausführen bei langem Tastendruck
Beitrag von: dev0 am 25 Dezember 2015, 14:32:07
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.
Titel: Antw:Notify mehrfach Ausführen bei langem Tastendruck
Beitrag von: Ellert am 25 Dezember 2015, 20:11:50
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

Titel: Antw:Notify mehrfach Ausführen bei langem Tastendruck
Beitrag von: rspecht am 26 Dezember 2015, 22:00:52
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
Titel: Antw:Notify mehrfach Ausführen bei langem Tastendruck
Beitrag von: Otto123 am 26 Dezember 2015, 22:14:45
Hast Du im Eventmonitor geschaut, was die Taste liefert? Wie dev0 vorgeschlagen hat!?

Gruß Otto
Titel: Antw:Notify mehrfach Ausführen bei langem Tastendruck
Beitrag von: rspecht am 26 Dezember 2015, 22:23:59
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.
Titel: Antw:Notify mehrfach Ausführen bei langem Tastendruck
Beitrag von: Ellert am 26 Dezember 2015, 23:13:54
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.

Titel: Antw:Notify mehrfach Ausführen bei langem Tastendruck
Beitrag von: Puschel74 am 27 Dezember 2015, 18:34:14
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.