2 Aktoren mit einer Wippe eines FT55 mittels Einfach- und Doppelklick schalten

Begonnen von Spartacus, 26 November 2014, 20:13:37

Vorheriges Thema - Nächstes Thema

Spartacus

Hallo,
ich möchte einen FT55 mit Doppelwippe mehrfach belegen (für 8 Aktoren)
Ein Doppelklick auf z.B die linke obere Wippe soll einen Aktor einschalten, ein weiterer Doppelklick wieder ausschalten. Ein einfacher Klick auf die selbe Wippe schaltet einen anderen Aktor ein bzw. aus

Ich habe inzwischen das Einschalten mit sequence lösen können, leider kriege ich es nicht hin, den Aktor mit dem Doppelklick wieder auszuschalten. Hat hier jemand eine Idee? Mit sequence alleine scheint das nicht zu gehen...

define seqT_001_UL sequence PTM210.Gira.01:AI 0.5 PTM210.Gira.01:AI
attr seqT_001_UL triggerPartial 1
#
define notify_T_001_UL_off notify seqT_001_UL:partial_1 set rp.02.EnO.FMS61 off
#
define notifyT_001_UL_on notify seqT_001_UL:trigger set  rp.02.EnO.FMS61 on


Christian
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

crispinus

Irgendwie verstehe ich dein Code-Snippet gerade nicht so recht. Das läuft so wie es da steht im Moment darauf hinaus, dass bei Einfachklick aus- und bei Doppelklick eingeschaltet wird. Wenn du die von dir beschriebene Funktionalität haben möchtest, müsste sich der Code IMHO eher so lesen:


define seqT_001_UL sequence PTM210.Gira.01:AI 0.5 PTM210.Gira.01:AI
attr seqT_001_UL triggerPartial 1
#
define notify_T_001_UL_off notify seqT_001_UL:partial_1 set rp.01.EnO.FMS61 toggle
#
define notifyT_001_UL_on notify seqT_001_UL:trigger set rp.02.EnO.FMS61 toggle


Ich habe für das Beispiel angenommen, dass der erste Aktor (Ein-/Ausschalten mit Einfachklick) rp.01.EnO.FMS61 heißt, und der zweite (für Doppelklick) rp.02.EnO.FMS61. Ich habe übrigens den gleichen Code problemlos bei mir im Einsatz, ich steuere allerdings nicht über Doppelklick, sondern über kurzen bzw. langen Tastendruck (entsprechend ist mein zweites Event in der Sequence released).

Da die EnOcean-Aktoren von sich aus kein toggle unterstützen, muss man entweder einen readingsProxy einsetzen (was IMHO die Sache unnötig verkompliziert und bei mir außerdem nicht ganz fehlerfrei funktioniert hat), oder man erweitert die SetExtensions um ein toggle-Kommando (was ich bei mir gemacht habe). Schön wäre ja, wenn die SetExtensions grundsätzlich von Haus aus toggle anbieten würden, keine Ahnung, wieso das da (noch) nicht eingebaut ist.

Spartacus

Halo crispinus
ja, Du hast recht, so funktioniert es. Ich hatte 2 x den Kanal "1! geschaltet und zwar auf "trigger" und auf "partial_1".

Den "toggle"- Befehl gibt es doch bei enocean, zumindest ist er bei allen Aktoren aktiv.
Was ich nicht verstehe ist Dein langer Tastendruck. Toggelst Du dann jeweils einen Aktor mit einem kurzen und einem langen Tastendruck je Wippe? Oder was meinst Du mit 2.Event ist released..

Christian
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

crispinus

Zitat von: Spartacus am 02 Dezember 2014, 20:09:01
Den "toggle"- Befehl gibt es doch bei enocean, zumindest ist er bei allen Aktoren aktiv.
Was ich nicht verstehe ist Dein langer Tastendruck. Toggelst Du dann jeweils einen Aktor mit einem kurzen und einem langen Tastendruck je Wippe? Oder was meinst Du mit 2.Event ist released..

Also für meine FSR14-4x und FSR61 steht kein toggle zur Verfügung (jedenfalls nicht in der aktuell von mir verwendeten FHEM-Fassung von September 2014 - möglicherweise hat sich zwischenzeitlich was geändert?), ich habe mir das in den SetExtensions nachträglich ergänzt.
Langer und kurzer Tastendruck funktionieren bei mir vom Prinzip her genau so wie dein Einfach- und Doppelklick, ich richte halt eine sequence für das Schalter-gedrückt-Event (also z.B. AI) und das darauffolgende released ein mit einem Zeitabstand von z.B. 0.5 sec. Handelt es sich um einen kurzen Tastendruck, wird das trigger-Notify aufgerufen, handelt es sich um einen langen Tastendruck (d.h. das released-Event trifft erst später als 0.5 sec ein), wird stattdessen partial_1 getriggert.

Spartacus

Hi crispinus,
ich habe auch zwei FSR14-4x und da gibt es den toggle! Habe das aktuellste fhem drauf.
Habe nun auch LangKurz-Click eingebaut. Klappt wunderbar,

Danke nochmals,
Christian.

Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R