gelöst: Toggle bei Dummy - Will nicht so recht

Begonnen von Klouse, 03 Juli 2015, 13:50:10

Vorheriges Thema - Nächstes Thema

Klouse

Hallo Leute,

habe mich an http://www.fhemwiki.de/wiki/FS20_Toggle_Events_auf_On/Off_umsetzen orientiert,
mein Ziel war es meinen Dummy per toggle schalten zu können, das klappt auch wunderbar, nur werden meine Notifys für on und off damit nicht getriggert.

habe folgendes in 99MyUtils eingetragen:
sub toggleDirect($) {
my ($obj) = @_;
if (Value($obj) eq "toggle"){
  if (OldValue($obj) eq "off") {
   {fhem ("set ".$obj." on")}
  }
  else {
   {fhem ("set ".$obj." off")}
  }
}
else {
  {fhem "set ".$obj." ".Value($obj)}
}
}


Über das nachfolgende Notify wird sobald ein Dummy mit "attr comment toggle" per "set device toggle" geschalten wird,
die Sub von 99MyUtils augelöst.


define n_toggle notify .*:toggle {toggleDirect("$NAME") if( AttrVal($NAME, "comment", "") eq "toggle" )}


Hier noch der betroffene Dummy und seine Notify's:

define SleepMode dummy
attr SleepMode comment toggle
attr SleepMode fp_FPgPad 1069,257,0,,
attr SleepMode group Specials
attr SleepMode room Entertainment
attr SleepMode setList on,off

define n_SleepMode notify SleepMode:on \
{Raumfeld_Zone("uuid:2b408f45-4975-42bc-afb3-154c0811a523")};;\
{Raumfeld_Vol(10)};; \
    {Raumfeld_play_id ("0/0/Favorites/MyFavorites/3145")};; \
trigger n_LED1_SleepMode;; \
define RF_SchlafzimmerOff_off at +00:30:00 set SleepMode off;; \
set wv_gPad toastMessage SleepMode On

define n_SleepMode_Off notify SleepMode:off \
set KlouseLED1 off;; \
trigger RF_SchlafzimmerOff;; \
delete RF_SchlafzimmerOff_off;; \
set wv_gPad toastMessage SleepMode Off

define n_LED1_SleepMode notify n_LED1_SleepMode \
set KlouseLED1 HSV 115,100,30;; \
set KlouseLED1 HSV 280,100,30 60 q;; \
set KlouseLED1 HSV 333,100,40 60 q;; \
set KlouseLED1 HSV 360,100,50 60 q;; \
set KlouseLED1 HSV 250,100,30 60 q;; \
    define LED1_SleepMode_off at +00:05:00 set KlouseLED1 off


Ich verstehe es nicht ganz, gebe ich set SleepMode toggle ein, switcht der Status blitzschnell zwischen on und off,
nur lösen diese nichts weiteres aus.

set SleepMode on und SleepMode off klappen wunderbar.

Wo ist mein Denfehler liebe Leute, ich stehe total an.

Danke,

LG

Nachtrag: Habe nun testweise ein FileLog für den Dummy angelegt, hier scheint immer nur toggle als Eintrag auf, obwohl der dummy autom. auf on/off gesetzt wird, gibt es hierfür keinen Eintrag.

Nachtrag - gelöst: Habe folgendes "ergoogelt":
define CMD_dtoggle cmdalias dtoggle .* AS IF (Value("$EVTPART0") eq "on")(set $EVTPART0 off) ELSE (set $EVTPART0 on)

kann nun problemlos per dtoggle <device> togglen!

LG