WeekdayTimer: Frage zur Syntax zur verzögerten Auslösung

Begonnen von kaufi88, 26 November 2018, 19:45:15

Vorheriges Thema - Nächstes Thema

kaufi88

Hallo zusammen,
ich bin gerade dabei meine Weihnachtsbeleuchung zu schalten.
Die Weihnachtsbeleuchtung("XmasBeleuchtung") soll immer mit Sonnenuntergang eingehen, jedoch nur wenn mein Smartphone ("AlleMitbewohner") "present" ist.
Sollte das Smartphone nicht da sein ("absent"), soll mit der Auslösung gewartet werden, bis das Smartphone anwesend ist.
Zur Schaltung habe ich folgende DEF:
XmasBeleuchtung Mo-So|{sunset_abs(0,"16:30","18:00")}|on
Zudem habe ich folgendes Attribut:
   
{ReadingsVal("AlleMitbewohner","state","present") eq "present"?1:0}


Jedoch klappt das so nicht. FHEM ignoriert meine Anwesenheit.
Was mache ich falsch?!

Danke schonmal!

binford6000

Hallo,
{ReadingsVal("AlleMitbewohner","state","present") eq "present"?1:0}

Das ist keine Funktion, welche boolean zurückgibt  ;)
Probier mal sowas:

sub verzoegert() {
  if (Value('AlleMitbewohner') eq "present") {
    return 1;
  else {
    return;
  }
}


Und dann:
attr wd delayedExecutionCond verzoegert()


Due Sub packst du natürlich noch in deine 99_myUtils.pm und machst ein reload  ;)
VG Sebastian