Suche beste Lösung für Doppelklick-Erkennung

Begonnen von Xirn, 08 Dezember 2013, 21:04:37

Vorheriges Thema - Nächstes Thema

Xirn

Hi,

ich suche eine gute Lösung um einen Doppelklick an meinem Taster zu erkennen.

Hintergrund ist, dass ich dein einfachen Taster zwar bereits mit einem Dimmer gepeert habe, ihn aber gleichzeitig auch als Eco Taster (Alle Heizungen fahren runter) nutzen möchte.

Eigentlich dachte ich, dass eine Sequence das richtige wäre, aber bei den Homematic Geräten, ist der State-Ausdruck etwas komplexer und funktioniert anscheinend mit einer Sequence nicht.

rudolfkoenig

Sequence ist fuer sowas gedacht, wenn es nicht funktioniert, muss es repariert werden.

Rince

Geht mir ähnlich (habe es nur mit Homematic versucht)
define lampseq sequence Btn1:on 0.5 Btn1:on
define lampon notify lampseq:trigger set lamp on

Sollte eigentlich so eine Art Doppelklick sein, oder?

Leider wird das notify immer getriggert, auch wenn man nur 1x drückt.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

betateilchen

Zitat von: Xirn am 08 Dezember 2013, 21:04:37aber bei den Homematic Geräten, ist der State-Ausdruck etwas komplexer und funktioniert anscheinend mit einer Sequence nicht.

äh... wenn das ein Homematic Taster ist, ist die Sache doch noch einfacher: Der Taster kann von Haus aus schon "short" und "long" unterscheiden und Du kannst einfach per notify darauf reagieren. Also: kurz drücken für den Dimmer, lang drücken für die Heizung. Funktioniert bei mir einwandfrei.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Ich habe folgendes definiert:
define d1 dummy
define s sequence d1:on 5 d1:on
define st notify s:trigger { Log 1, "Hello!"}

und in der console per Copy&Paste
Zitatset d1 on
zweimal eingefuegt -> Klappt prima.
Kannst du bitte deine kompletten Events hier posten, am besten mit mseclog?

betateilchen

Bei Homematic Tastern funktioniert das so nicht. Die kennen kein on und off.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Rince

Habe einen HM Lichtschalter, der kennt kein short/long.

Kann es daran liegen, dass das on 2x auftaucht?
Eventmonitor sagt:

Level: 100 %
Pct: 100
deviceMsg: on (to HMLAN1)
on
timedOn: off

Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Rince

MOMENT

Schaut mal:
Zitat
2014-02-12 20:10:00.655 CUL_HM OG_bd_WS_LICHT level: 100 %
2014-02-12 20:10:00.655 CUL_HM OG_bd_WS_LICHT pct: 100
2014-02-12 20:10:00.655 CUL_HM OG_bd_WS_LICHT deviceMsg: on (to HMLAN1)
2014-02-12 20:10:00.655 CUL_HM OG_bd_WS_LICHT on
2014-02-12 20:10:00.655 CUL_HM OG_bd_WS_LICHT timedOn: off
2014-02-12 20:10:01.106 Text2Speech MyTTS tts Der Trigger hat ausgelöst
2014-02-12 20:10:01.155 sequence Bad_Licht_Bleibt_An_Seq trigger
2014-02-12 20:10:01.308 CUL_HM OG_bd_WS_LICHT level: 100 %
2014-02-12 20:10:01.308 CUL_HM OG_bd_WS_LICHT pct: 100
2014-02-12 20:10:01.308 CUL_HM OG_bd_WS_LICHT deviceMsg: on (to HMLAN1)
2014-02-12 20:10:01.308 CUL_HM OG_bd_WS_LICHT on
2014-02-12 20:10:01.308 CUL_HM OG_bd_WS_LICHT timedOn: off
2014-02-12 20:10:01.546 CUL_HM OG_bd_WS_LICHT level: 100 %
2014-02-12 20:10:01.546 CUL_HM OG_bd_WS_LICHT pct: 100
2014-02-12 20:10:01.546 CUL_HM OG_bd_WS_LICHT deviceMsg: on (to HMLAN1)
2014-02-12 20:10:01.546 CUL_HM OG_bd_WS_LICHT on
2014-02-12 20:10:01.546 CUL_HM OG_bd_WS_LICHT timedOn: off

Und hier ein anderer HM Schalter, ein Dimmer:
Zitat
2014-02-12 20:10:50.692 CUL_HM CUL_HM_HM_LC_Dim1TPBU_FM_1B5223_Sw1_V_01 chn:off phys:100 %
2014-02-12 20:10:50.692 CUL_HM CUL_HM_HM_LC_Dim1TPBU_FM_1B5223_Sw1_V_01 phyLevel: 100 %
2014-02-12 20:10:50.732 CUL_HM CUL_HM_HM_LC_Dim1TPBU_FM_1B5223_Sw1_V_02 chn:off phys:100 %
2014-02-12 20:10:50.732 CUL_HM CUL_HM_HM_LC_Dim1TPBU_FM_1B5223_Sw1_V_02 phyLevel: 100 %
2014-02-12 20:10:50.855 CUL_HM OG_wz_DIM_LICHT phyLevel: 100 %
2014-02-12 20:10:50.855 CUL_HM OG_wz_DIM_LICHT level: 100 %
2014-02-12 20:10:50.855 CUL_HM OG_wz_DIM_LICHT pct: 100
2014-02-12 20:10:50.855 CUL_HM OG_wz_DIM_LICHT deviceMsg: on (to HMLAN1)
2014-02-12 20:10:50.855 CUL_HM OG_wz_DIM_LICHT on
2014-02-12 20:10:50.855 CUL_HM OG_wz_DIM_LICHT timedOn: off
2014-02-12 20:10:50.855 CUL_HM OG_wz_DIM_LICHT dim: stop:on
2014-02-12 20:10:50.855 CUL_HM OG_wz_DIM_LICHT overload: off
2014-02-12 20:10:50.855 CUL_HM OG_wz_DIM_LICHT overheat: off
2014-02-12 20:10:50.855 CUL_HM OG_wz_DIM_LICHT reduced: off

Und hier noch ein normaler HM Schalter:
Zitat
2014-02-12 20:13:17.284 CUL_HM OG_ku_WS_LICHT level: 100 %
2014-02-12 20:13:17.284 CUL_HM OG_ku_WS_LICHT pct: 100
2014-02-12 20:13:17.284 CUL_HM OG_ku_WS_LICHT deviceMsg: on (to HMLAN1)
2014-02-12 20:13:17.284 CUL_HM OG_ku_WS_LICHT on
2014-02-12 20:13:17.284 CUL_HM OG_ku_WS_LICHT timedOn: off
2014-02-12 20:13:17.376 CUL_HM OG_ku_WS_LICHT level: 100 %
2014-02-12 20:13:17.376 CUL_HM OG_ku_WS_LICHT pct: 100
2014-02-12 20:13:17.376 CUL_HM OG_ku_WS_LICHT deviceMsg: on (to HMLAN1)
2014-02-12 20:13:17.376 CUL_HM OG_ku_WS_LICHT on
2014-02-12 20:13:17.376 CUL_HM OG_ku_WS_LICHT timedOn: off
2014-02-12 20:13:17.469 CUL_HM OG_ku_WS_LICHT level: 100 %
2014-02-12 20:13:17.469 CUL_HM OG_ku_WS_LICHT pct: 100
2014-02-12 20:13:17.469 CUL_HM OG_ku_WS_LICHT deviceMsg: on (to HMLAN1)
2014-02-12 20:13:17.469 CUL_HM OG_ku_WS_LICHT on
2014-02-12 20:13:17.469 CUL_HM OG_ku_WS_LICHT timedOn: off


Zum einen:
Der Dimmer (das 2te Zitat) verhält sich wie es soll. Draufdrücken, wird geschaltet, passt.

Der Badlichtschalter (der wo die Sequence drauf läuft, 1. Zitat) taucht 3x in den Events auf, ebenso wie wie der Schalter in der Küche (3tes Zitat)

Also offenbar feuert HM oft ein ein "on", auch wenn man nur kurz drückt.

Andererseits wird dennoch schon nach dem ersten auftauchen im Eventmonitor die Sequence getriggert.
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

rudolfkoenig

Setzte bitte "attr sequenzName verbose 5", und wiederhole dein Experiment.
Es interessiert mich das Event-Log, das dazu passende Fhem-Log, und die genaue sequenz-Definition.

Rince

OK:


Zitat von: sequenceNAME
Bad_Licht_Bleibt_An_Seq
DEF:
OG_bd_WS_LICHT:on 0.5 OG_bd_WS_LICHT:on

Zitat von: Eventmonitor
2014-02-12 20:35:32.471 CUL_HM OG_bd_WS_LICHT level: 100 %
2014-02-12 20:35:32.471 CUL_HM OG_bd_WS_LICHT pct: 100
2014-02-12 20:35:32.471 CUL_HM OG_bd_WS_LICHT deviceMsg: on (to HMLAN1)
2014-02-12 20:35:32.471 CUL_HM OG_bd_WS_LICHT on
2014-02-12 20:35:32.471 CUL_HM OG_bd_WS_LICHT timedOn: off
2014-02-12 20:35:32.916 Text2Speech MyTTS tts Der Trigger hat ausgelöst
2014-02-12 20:35:32.959 sequence Bad_Licht_Bleibt_An_Seq trigger
2014-02-12 20:35:33.033 CUL_HM OG_bd_WS_LICHT level: 100 %
2014-02-12 20:35:33.033 CUL_HM OG_bd_WS_LICHT pct: 100
2014-02-12 20:35:33.033 CUL_HM OG_bd_WS_LICHT deviceMsg: on (to HMLAN1)
2014-02-12 20:35:33.033 CUL_HM OG_bd_WS_LICHT on
2014-02-12 20:35:33.033 CUL_HM OG_bd_WS_LICHT timedOn: off
2014-02-12 20:35:33.374 CUL_HM OG_bd_WS_LICHT level: 100 %
2014-02-12 20:35:33.374 CUL_HM OG_bd_WS_LICHT pct: 100
2014-02-12 20:35:33.374 CUL_HM OG_bd_WS_LICHT deviceMsg: on (to HMLAN1)
2014-02-12 20:35:33.374 CUL_HM OG_bd_WS_LICHT on
2014-02-12 20:35:33.374 CUL_HM OG_bd_WS_LICHT timedOn: off

Zitat von: Logfile
2014.02.12 20:35:32.402 5: sequence Bad_Licht_Bleibt_An_Seq matched 2
2014.02.12 20:35:32.796 5: sequence Bad_Licht_Bleibt_An_Seq matched 4
2014.02.12 20:35:32.798 5: sequence Bad_Licht_Bleibt_An_Seq triggered
2014.02.12 20:35:33.248 5: sequence Bad_Licht_Bleibt_An_Seq matched 2
2014.02.12 20:35:33.755 5: sequence Bad_Licht_Bleibt_An_Seq timeout
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

rudolfkoenig

Sequence hat fuer die ersten zwei on's ausgeloest, fuer den dritten nicht mehr.
Da das Eventmonitor ganz hinten in der notify-Kette liegt, sieht man die sequence-Zeile nach dem ersten aber vor dem zweiten "OG_bd_WS_LICHT on". Ich sehe noch nicht den Fehler.

Der Eventmonitor liegt deswegen hinten in der notify-Kette, damit man von Modulen wie average/dewpoint/etc eingefuegte Events auch angezeigt werden.

Rince

Ich fürchte, ich habe den Fehler:
Du drückst 1x kurz drauf, und sofort feuert der Schalter 3 Funkbefehle.
Statt 1 einzigem.

Übrigens scheint es egal, o man nur kurz drückt, oder länger. Es sind immer 3 Befehlssequenzen im Eventmonitor.


Wenn ich jetzt ein event-on-change-reading auf state setze, passiert leider gar nix mehr, weil auch der echte 2te Tatsendruck nicht mehr ankommt.


Ich fürchte fast, ich muss die Sequence auf 6 Tatsendrücke einrichten, wenn jeder 3 mal ankommt...
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

DJAlex

#12
Hat die Lösung mit den 6 Einträgen funktioniert?

Kann es sein dass das mit den HM-LC-Sw1PBU-FM nich geht ?

Irgendwie muss ich zwischen jedem Tastendruck 2-3 sekunden warten damit das klappt.