RandomTimer-Dummy als Status-Abfrage für DOIF

Begonnen von Hauenschild, 08 Oktober 2015, 11:26:04

Vorheriges Thema - Nächstes Thema

Hauenschild

Liebes Forum,

ich habe wie folgt einen RandomTimer erstellt:


define Verreist dummy
attr Verreist webCmd ja:nein


#
sub isUrlaub         () { return(YesNo("Urlaub"));  }
sub isVerreist       () { return(YesNo("Verreist"));}
sub isUebergangszeit () { return(YesNo("Uebergangszeit"));}
#
#
#
sub YesNo ($) {

  my ($dummy) = @_;
  my $state = ReadingsVal($dummy, "state", "nein");
  if ($state eq "nein") {
    return 0;
  }
  return 1;
}


define ZufallsTimerKueche RandomTimer *{sunset_abs()} Kuechenherd +03:30:00 1800
attr ZufallsTimerKueche disableCond (!isVerreist())


Mit dem 'Dummy Verreist' schalte ich jeweils auf ja oder nein im webCmd und aktiviere bzw. deaktiviere somit den RandomTimer. Ist der RandomTimer aktiv schaltet er ordnungsgemäß die oben genannte Lampe 'Kuechenherd' an und aus (in meinem Code-Beispiel ganz unten stehend).

Jetzt möchte ich aber diesen Dummy auch noch für andere Schaltvorgänge nutzen und habe mir dazu folgendes DOIF angelegt:


define  di_FakeTV DOIF ([20:25] and [Verreist] eq "ja") (set Steckdosenzwischenstecker_1a on) DOELSEIF ([23:05] and [Verreist] eq "ja") (set Steckdosenzwischenstecker_1a off)
attr di_FakeTV do always


Leider funktioniert dieses DOIF nicht. Ich vermute es liegt an der Dummy-Abfrage ' and [Verreist] eq "ja" ', da ohne die Dummy-Abfrage der Steckdosenzwischenstecker_1a sich wie gewünscht zu den Uhrzeiten an- und abschaltet.

Kann mir jemand einen Tip geben was ich hier falsch mache?

Vielen Dank im voraus!

Gruss Frank

Sunny

Moin Frank,

Zitat von: Hauenschild am 08 Oktober 2015, 11:26:04
define Verreist dummy
attr Verreist webCmd ja:nein
Setze doch mal für den Dummy attr Verreist setList ja nein, dann wird meines Wissens nach,
auch der "[Verreist:state]"  "ja" / "nein" von DOIF "erkannt".

Oder Du ersetzt ja=on und nein=off, dann sollte es ebenfalls funktionieren.

Viele Grüße
Sunny
FHEM 6.0 (RPi's 1b-4,CeleronM,Odroid C1+)
1-Wire (DS18B20,DS2406) |miniCUL|miniCUL868WLAN|HM|IT(-1500,LR-3500) |FB6591,FB7490,FB7580|DECT200|Powerline546E|520E|openwrt
Anfänger: Linux,FHEM+Perl