DOIF als Dimmer für HUE-Device

Begonnen von db7, 04 Januar 2016, 20:54:50

Vorheriges Thema - Nächstes Thema

db7

Hallo,

ich habe mir mit einem DOIF einen Dimmer für eine HUE-Lampe konfiguriert. Das Ziel:
Wird ein zuvor definierter Schalter (schalter_fade) auf den Status "on" gesetzt, dimmt die HUE Lampe über den DOIF langsam auf 0. Ist die HUE Lampe bei der Dimmstufe 0 angekommen, wird schalter_fade wieder auf off gesetzt.


Internals:
   CFGFN     
   NAME       schalter_fade
   NR         3140
   STATE      on
   TYPE       dummy
   Readings:
     2016-01-04 20:41:10   state           on
Attributes:
   devStateIcon .*:ios-on-blue
   icon       ios-off
   room       Büro
   webCmd     on:off


Internals:
   CFGFN     
   DEF        ([schalter_fade] eq "on")
(
{
my $bri = ReadingsVal("HUEDevice6","bri",100);;
if ($bri>0) {
  Log 1, "di_fade Dimm $bri";;
  fhem("set HUEDevice6 dimDown 5");;
  }
else {
Log 1, "di_fade Dimm Ende";;
  fhem("set schalter_fade off");;
  }
}
)
   NAME       di_fade
   NR         3142
   NTFY_ORDER 50-di_fade
   STATE      cmd_2
   TYPE       DOIF
   Readings:
     2016-01-04 20:30:38   Device          schalter_fade
     2016-01-04 20:30:38   cmd_event       schalter_fade
     2016-01-04 20:30:38   cmd_nr          2
     2016-01-04 20:30:38   e_schalter_fade_STATE off
     2016-01-04 20:30:38   state           cmd_2
     2016-01-04 20:30:38   wait_timer      no timer
   Condition:
     0          InternalDoIf('schalter_fade','STATE','') eq "on"
   Devices:
     0           schalter_fade
     all         schalter_fade
   Do:
     0:
       0          {my $bri = ReadingsVal("HUEDevice6","bri",100);;if ($bri>0) {  Log 1, "di_fade Dimm $bri";;  fhem("set HUEDevice6 dimDown 5");;  }else { Log 1, "di_fade Dimm Ende";;  fhem("set schalter_fade off");;  }}
     1:
   Helper:
     globalinit 1
     last_timer 0
     sleepdevice schalter_fade
     sleepsubtimer 0
     sleeptimer -1
   Internals:
     0           schalter_fade:STATE
     all         schalter_fade:STATE
   Itimer:
   Readings:
   State:
   Timerfunc:
   Trigger:
Attributes:
   loglevel   6
   repeatcmd  15
   verbose    5


Alles soweit prima, mit

set schalter_fade on

startet der Dimm-Vorgang,

set schalter_fade off

stoppt den Dimm-Vorgang wieder. Kommt der Dimm-Vorgang via DOIF aber selbstständig bis zur Dimm-Stufe 0 ist zwar laut Readings der Status von schalter_fade: off ,aber DOIF wird weiter abgearbeitet. Bis ich per Hand

set schalter_fade off

setze. Ich verstehe hier den Unterschied zwischen dem
set schalter_fade off aus dem DOIF-Code und dem händischen
set schalter_fade off
nicht. Kann mir jemand auf die Sprünge helfen?

Weiterhin habe ich bei dem DOIF etwas mit "verbose" und "loglevel" experimentiert, in die Log-Datei fhem-2016... wird nicht geloggt. Wo finde ich die Logging-Ausgaben?

Grüße Detlev.