HM-LC-Sw1-DR: Arbeiten mit Schaltzuständen / Triggern

Begonnen von prodigy7, 30 April 2016, 13:28:49

Vorheriges Thema - Nächstes Thema

prodigy7

Hallo zusammen,

seit kurzem habe ich den HM-LC-Sw1-DR bei mir im Einsatz und soweit auch schon problemlos dazu bekommen, dass ein kurzes Drücken das Licht für 90 Sekunden an lässt, ein langes Drücken ohne Begrenzung.
Jetzt möchte ich gerne, wenn ein Taster lange gedrückt wird, nicht nur dass das Licht im Flur ausgeht sondern auch dass ein Trigger ausgelöst wird. Ich will über den Trigger andere Lichter in der Wohnung sowie Fernseher usw. ausschalten.
Wie genau kann ich denn das lange Drücken des Tasters triggern?

Wenn ich die regList aufrufe, bekomme ich einige Values angezeigt wo ich denke, dass das doch gehen muss. Ich stehe nur auf dem Schlauch, wie:list:         register | range              | peer     | description
   0: intKeyVisib      |     literal        |          | visibility of internal channel options:visib,invisib
   0: pairCentral      |   0 to 16777215    |          | pairing to central
   1: sign             |     literal        |          | signature (AES) options:on,off
   3: lgActionType     |     literal        | required |  options:jmpToTarget,toggleToCnt,off,toggleToCntInv
   3: lgCtDlyOff       |     literal        | required | Jmp on condition from delayOff options:ltLo,geHi,between,outside,geLo,ltHi
   3: lgCtDlyOn        |     literal        | required | Jmp on condition from delayOn options:geHi,ltLo,ltHi,geLo,between,outside
   3: lgCtOff          |     literal        | required | Jmp on condition from off options:between,outside,ltHi,geLo,ltLo,geHi
   3: lgCtOn           |     literal        | required | Jmp on condition from on options:ltHi,geLo,outside,between,geHi,ltLo
   3: lgCtValHi        |   0 to 255         | required | Condition value high for CT table
   3: lgCtValLo        |   0 to 255         | required | Condition value low for CT table
   3: lgMultiExec      |     literal        | required | execution per repeat message options:on,off
   3: lgOffDly         |   0 to 111600s     | required | off delay
   3: lgOffTime        |   0 to 111600s     | required | off time special:unused
   3: lgOffTimeMode    |     literal        | required | off time meant absolut or at least options:minimal,absolut
   3: lgOnDly          |   0 to 111600s     | required | on delay
   3: lgOnTime         |   0 to 111600s     | required | on time special:unused
   3: lgOnTimeMode     |     literal        | required | on time meant absolut or at least options:minimal,absolut
   3: lgSwJtDlyOff     |     literal        | required | Jump from delayOff options:off,on,dlyOff,no,dlyOn
   3: lgSwJtDlyOn      |     literal        | required | Jump from delayOn options:off,no,on,dlyOff,dlyOn
   3: lgSwJtOff        |     literal        | required | Jump from off options:dlyOff,on,no,dlyOn,off
   3: lgSwJtOn         |     literal        | required | Jump from on options:off,dlyOn,no,dlyOff,on
   3: shActionType     |     literal        | required |  options:jmpToTarget,toggleToCnt,off,toggleToCntInv
   3: shCtDlyOff       |     literal        | required | Jmp on condition from delayOff options:ltLo,geHi,between,outside,geLo,ltHi
   3: shCtDlyOn        |     literal        | required | Jmp on condition from delayOn options:geHi,ltLo,ltHi,geLo,between,outside
   3: shCtOff          |     literal        | required | Jmp on condition from off options:between,outside,ltHi,geLo,ltLo,geHi
   3: shCtOn           |     literal        | required | Jmp on condition from on options:ltHi,geLo,outside,between,geHi,ltLo
   3: shCtValHi        |   0 to 255         | required | Condition value high for CT table
   3: shCtValLo        |   0 to 255         | required | Condition value low for CT table
   3: shMultiExec      |     literal        | required | reg unused, placeholder only options:off,on
   3: shOffDly         |   0 to 111600s     | required | off delay
   3: shOffTime        |   0 to 111600s     | required | off time special:unused
   3: shOffTimeMode    |     literal        | required | off time meant absolut or at least options:minimal,absolut
   3: shOnDly          |   0 to 111600s     | required | on delay
   3: shOnTime         |   0 to 111600s     | required | on time special:unused
   3: shOnTimeMode     |     literal        | required | on time meant absolut or at least options:minimal,absolut
   3: shSwJtDlyOff     |     literal        | required | Jump from delayOff options:off,on,dlyOff,no,dlyOn
   3: shSwJtDlyOn      |     literal        | required | Jump from delayOn options:off,no,on,dlyOff,dlyOn
   3: shSwJtOff        |     literal        | required | Jump from off options:dlyOff,on,no,dlyOn,off
   3: shSwJtOn         |     literal        | required | Jump from on options:off,dlyOn,no,dlyOff,on

Alternativ kann ich mir auch so etwas vorstellen wie "Wenn 3x in 2 Sekunden den Taster gedrückt, dann ...".

Dann noch eine andere Frage:2016-04-30_13:07:30 Wohnung3.Flur.Device.Schaltaktor1 deviceMsg: off (to CCD)
2016-04-30_13:07:30 Wohnung3.Flur.Device.Schaltaktor1 level: 0
2016-04-30_13:07:30 Wohnung3.Flur.Device.Schaltaktor1 pct: 0
2016-04-30_13:07:30 Wohnung3.Flur.Device.Schaltaktor1 off
2016-04-30_13:07:30 Wohnung3.Flur.Device.Schaltaktor1 timedOn: off
Was bedeutet denn level und pct? Hat das was mit de Funkprotokoll zu tun, der Empfangsstärke? Oder bedeutet Level, dass ich die Helligkeit (Stromstärke der Lampen regeln kann?

prodigy7

prodigy7

Okay, lesen bildet ... überlesen hält einen auf!

Unter https://forum.fhem.de/index.php/topic,37868.msg427607.html#msg427607 ist es ja doch schon gut beschrieben, dass man direkt die Schalter nicht auswerten kann. Man könnte also nur was basteln, was auswertet ob das Licht an oder aus ist und z.B. über einen zeitgesteuerten Trigger auswerten, ob z.B. innerhalb von 2 Sekunden mehrmals aus- und wieder eingeschaltet wurde.

Hm, werde da mal was basteln müssen ...

Antworten auf meine 2te Frage bzgl. der Zeilen im Log würden mich aber weiterhin interessieren.