FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Xirn am 08 Dezember 2013, 21:04:37

Titel: Suche beste Lösung für Doppelklick-Erkennung
Beitrag von: Xirn am 08 Dezember 2013, 21:04:37
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.
Titel: Antw:Suche beste Lösung für Doppelklick-Erkennung
Beitrag von: rudolfkoenig am 09 Dezember 2013, 07:54:44
Sequence ist fuer sowas gedacht, wenn es nicht funktioniert, muss es repariert werden.
Titel: Antw:Suche beste Lösung für Doppelklick-Erkennung
Beitrag von: Rince am 12 Februar 2014, 19:28:41
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.
Titel: Antw:Suche beste Lösung für Doppelklick-Erkennung
Beitrag von: betateilchen am 12 Februar 2014, 19:39:06
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.
Titel: Antw:Suche beste Lösung für Doppelklick-Erkennung
Beitrag von: rudolfkoenig am 12 Februar 2014, 19:54:09
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?
Titel: Antw:Suche beste Lösung für Doppelklick-Erkennung
Beitrag von: betateilchen am 12 Februar 2014, 20:01:45
Bei Homematic Tastern funktioniert das so nicht. Die kennen kein on und off.
Titel: Antw:Suche beste Lösung für Doppelklick-Erkennung
Beitrag von: Rince am 12 Februar 2014, 20:09:02
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

Titel: Antw:Suche beste Lösung für Doppelklick-Erkennung
Beitrag von: Rince am 12 Februar 2014, 20:18:39
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.
Titel: Antw:Suche beste Lösung für Doppelklick-Erkennung
Beitrag von: rudolfkoenig am 12 Februar 2014, 20:24:09
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.
Titel: Antw:Suche beste Lösung für Doppelklick-Erkennung
Beitrag von: Rince am 12 Februar 2014, 20:37:35
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
Titel: Antw:Suche beste Lösung für Doppelklick-Erkennung
Beitrag von: rudolfkoenig am 12 Februar 2014, 21:04:53
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.
Titel: Antw:Suche beste Lösung für Doppelklick-Erkennung
Beitrag von: Rince am 12 Februar 2014, 21:12:27
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...
Titel: Antw:Suche beste Lösung für Doppelklick-Erkennung
Beitrag von: DJAlex am 27 Februar 2014, 22:36:03
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.