Lichtautomatik mit DropDpwn Menü koppeln

Begonnen von Humidor, 23 März 2015, 22:18:07

Vorheriges Thema - Nächstes Thema

Humidor

Hi,

habe mal wieder eine Frage:

Nutze derzeit, durch ein notify und dazugehörigem DropDown, im Florrplan verschiedene Lichtsequenzen. Soweit funktioniert das auch, allerdings versuche ich bereits länger, die Lichtautomatik damit zu verbinden. Ich wähle also durch das bereits vorhandene DropDown Menü, die Option "Lichtautomatik". Daraufhin soll ein notify auf den Twilight Wert vergleichen und entsprechend hoch/runterdimmen. Hatte es über eine einzige notify versucht und auch eine getrennte, extra für die Lichtautomatik, aber ich komme auf keinen Nenner. die Logfile gibt mir keinen Fehler aus, bei Auswahl von "Lichtautomatik", passiert einfach nichts...

Der Dummy "Wohzimmer_Licht" ist die benutzte Anwahl über Dropdown.

Extra-Notify, laut wiki:

sub calc_CUL_HM_HM_LC_Dim1PWM_CV_3415E0_Sw{
  my $licht=ReadingsVal("Twilight","light","6");
  my $anwahl=ReadingsVal("Wohnzimmer_Licht","state","Lichtautomatik");
  if($licht eq 6 && $anwahl eq Lichtautomatik){
    fhem "set CUL_HM_HM_LC_Dim1PWM_CV_3415E0_Sw pct 0" ;
  }elsif($licht<6 && $licht>3){
    fhem "set CUL_HM_HM_LC_Dim1PWM_CV_3415E0_Sw pct 100" ;
  }elsif($licht>2 && $licht<5){
    fhem "set CUL_HM_HM_LC_Dim1PWM_CV_3415E0_Sw pct 40" ;
  }elsif($licht<3){
    fhem "set CUL_HM_HM_LC_Dim1PWM_CV_3415E0_Sw pct 20" ;
  }
}


Bisherige, eigene notify: (Meine weiteren Versuche hatte ich wieder gelöscht, da nichts mehr ging :D)

Wohnzimmer_Licht:* {
if($EVENT eq "Lichtautomatik" && Value("Twilight") eq "0"){
    fhem("set CUL_HM_HM_LC_Dim1PWM_CV_3415E0_Sw pct 20");
  }
  elsif($EVENT eq "Kino") {
    fhem("set CUL_HM_HM_LC_Dim1PWM_CV_3415E0_Sw pct 30");fhem("set Wohnzimmer_Szenario rgb 8B0000");fhem("set Wohnzimmer_Szenario dim 20");
  }
  elsif($EVENT eq "Standard") {
    fhem("set CUL_HM_HM_LC_Dim1PWM_CV_3415E0_Sw pct 100");fhem("set Wohnzimmer_Szenario dim 0");
  }
  elsif($EVENT eq "Ausschalten") {
    fhem("set CUL_HM_HM_LC_Dim1PWM_CV_3415E0_Sw pct 0");fhem("set Wohnzimmer_Szenario dim 0");
  }
  }


Danke vorab für jeden Denkanstoß!

Grüße

//EDIT

Mit einem Testdummy (Damit ich die Werte einstellen kann wie ich es will) geht es nun mit folgender Notify:

Wohnzimmer_Licht:* {
if($EVENT eq "Lichtautomatik" && Value("test") eq "0") {
    fhem("set CUL_HM_HM_LC_Dim1PWM_CV_3415E0_Sw pct 100");
  }
elsif($EVENT eq "Lichtautomatik" && Value("test") eq "1") {
    fhem("set CUL_HM_HM_LC_Dim1PWM_CV_3415E0_Sw pct 20");
  }
  elsif($EVENT eq "Kino") {
    fhem("set CUL_HM_HM_LC_Dim1PWM_CV_3415E0_Sw pct 30");fhem("set Wohnzimmer_Szenario rgb 8B0000");fhem("set Wohnzimmer_Szenario dim 20");
  }
  elsif($EVENT eq "Standard") {
    fhem("set CUL_HM_HM_LC_Dim1PWM_CV_3415E0_Sw pct 100");fhem("set Wohnzimmer_Szenario dim 0");
  }
  elsif($EVENT eq "Ausschalten") {
    fhem("set CUL_HM_HM_LC_Dim1PWM_CV_3415E0_Sw pct 0");fhem("set Wohnzimmer_Szenario dim 0");
  }
  }


Aber wie ist das dann, wenn sich der Wert ändert? Weder mit Value, noch ReadingsVal aktualisiert er auf die eingestellte Helligkeit bei Wertänderung.