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
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