Statt Toggle On und Off bei Short und Long.

Begonnen von Zorin, 15 Februar 2013, 14:35:01

Vorheriges Thema - Nächstes Thema

Zorin

Hallo allerseits,

ich habe einen HM-PBI-4-FM als Schalter und (unter anderem) einen HM-LC-SW2-FM als Aktor.
Ich habe die Devices ohne FHEM gepairt und es funktioniert prima, das der Schalter den Aktor toggelt.

Ich habe nun eine der Buttons als "Master" mit dem HM-LC-SW2-FM, einem HM-LC-SW1-FM und einem HM-LC-DIM1T-FM gepairt.
Das Problem ist nun, das wenn einer der Aktoren an und der andere aus ist, der Schalter immer nur toggelt. (d.h. was an ist geht aus, was aus ist geht an).
Das ist aber, insbesondere für den WAF, nicht zuträglich.

Zielvorstellung ist, dass bei einem Button bei "Short" alle Aktoren angeschaltet werden und bei "Long" alle abgeschaltet werden.

Ich habe mir im How-To (http://fhem.de/Heimautomatisierung-mit-fhem.pdf) und auch in dem von mir gestarteten Thread ( Langen Tastendruck bei HM-PBI-4-FM (Tasterschnittstelle 4fach) auswerten) über die Register der Aktoren einiges gelernt.

Ich möchte im ersten Schritt erreichen, dass bei einem "Long" alle Aktoren ausgeschaltet werden (und nicht getoggelt).

Ich habe so eine "Ahnung", dass ich z.B. "lgActionType" ändern muß.
Leider stehe ich aber wie die Kuh vor dem Tor und weiß nicht genau, was ich tun soll (und würde gerne auch versehen warum...)

Anbei meine Register vom besagten Aktor:
  3:KU.Schalter1.CH1   lgActionType     :jmpToTarget
   3:KU.Schalter1.CH1   lgCtDlyOff       :geLo
   3:KU.Schalter1.CH1   lgCtDlyOn        :geLo
   3:KU.Schalter1.CH1   lgCtOff          :geLo
   3:KU.Schalter1.CH1   lgCtOn           :geLo
   3:KU.Schalter1.CH1   lgCtValHi        :100
   3:KU.Schalter1.CH1   lgCtValLo        :50
   3:KU.Schalter1.CH1   lgMultiExec      :off
   3:KU.Schalter1.CH1   lgOffDly         :0 s
   3:KU.Schalter1.CH1   lgOffTime        :111600 s
   3:KU.Schalter1.CH1   lgOffTimeMode    :absolut
   3:KU.Schalter1.CH1   lgOnDly          :0 s
   3:KU.Schalter1.CH1   lgOnTime         :111600 s
   3:KU.Schalter1.CH1   lgOnTimeMode     :absolut
   3:KU.Schalter1.CH1   lgSwJtDlyOff     :off
   3:KU.Schalter1.CH1   lgSwJtDlyOn      :on
   3:KU.Schalter1.CH1   lgSwJtOff        :dlyOn
   3:KU.Schalter1.CH1   lgSwJtOn         :dlyOff
   3:KU.Schalter1.CH1   shActionType     :jmpToTarget
   3:KU.Schalter1.CH1   shCtDlyOff       :geLo
   3:KU.Schalter1.CH1   shCtDlyOn        :geLo
   3:KU.Schalter1.CH1   shCtOff          :geLo
   3:KU.Schalter1.CH1   shCtOn           :geLo
   3:KU.Schalter1.CH1   shCtValHi        :100
   3:KU.Schalter1.CH1   shCtValLo        :50
   3:KU.Schalter1.CH1   shOffDly         :0 s
   3:KU.Schalter1.CH1   shOffTime        :111600 s
   3:KU.Schalter1.CH1   shOffTimeMode    :absolut
   3:KU.Schalter1.CH1   shOnDly          :0 s
   3:KU.Schalter1.CH1   shOnTime         :111600 s
   3:KU.Schalter1.CH1   shOnTimeMode     :absolut
   3:KU.Schalter1.CH1   shSwJtDlyOff     :off
   3:KU.Schalter1.CH1   shSwJtDlyOn      :on
   3:KU.Schalter1.CH1   shSwJtOff        :dlyOn
   3:KU.Schalter1.CH1   shSwJtOn         :dlyOff


Grüße,

Zorin

martinp876

Hi Zorin,

'alle' verstehe ich nicht
ein Button je device? Short =an, long=aus?
oder ein Button fuer alle devices?

egal, das Prinzip ist gleich.
Versuch es mal damit:
- jump table benutzen
- bei short immer auf on springen
- bei long immer auf off springen
- Verweildauer jeweils unendlich
- delay ist egal (oder eben nicht..., dann einbauen)


   3:KU.Schalter1.CH1   lgActionType     :jmpToTarget
   3:KU.Schalter1.CH1   lgMultiExec      :off
   3:KU.Schalter1.CH1   lgOffDly         :0 s
   3:KU.Schalter1.CH1   lgOffTime        :111600 s
   3:KU.Schalter1.CH1   lgSwJtDlyOff     :off
   3:KU.Schalter1.CH1   lgSwJtDlyOn      :off
   3:KU.Schalter1.CH1   lgSwJtOff        :off
   3:KU.Schalter1.CH1   lgSwJtOn         :off
   
   3:KU.Schalter1.CH1   shActionType     :jmpToTarget
   3:KU.Schalter1.CH1   shOnTime         :111600 s
   3:KU.Schalter1.CH1   shSwJtDlyOff     :on
   3:KU.Schalter1.CH1   shSwJtDlyOn      :on
   3:KU.Schalter1.CH1   shSwJtOff        :on
   3:KU.Schalter1.CH1   shSwJtOn         :on

Zorin

Hallo Martin,

super, genau das habe ich gesucht...

Es war ein button für alle devices.

martinp876

kleine Ankündigung am Rande: das Kommando 'press' kann man auf schalter, dimmer und Blind-Aktoren anwenden. Beim Auslösen wird ein Schalter-event getriggert -also genau der gleiche wie die "eingebauten" der direkt angeschlossenen Schalter.
Siehe auch command-ref