Hallo zusammen,
ich versuche mir ein DOIF zur Anwesenheit zu basteln, komme aber irgendwie nicht auf den richtigen Gedanken.
Mein aktuelles DOIF sieht so aus
define n_Kind_home DOIF ([rr_Kind] eq "home") (set WhatsApp send xxxx Kind ist zuhause) DOELSEIF ([Eltern] ne "home" and [rr_Kind] ne "home") (set WhatsApp send xxxx Kind ist unterwegs)
Der normale IF-Teil funktioniert, aber im ELSEIF-Zweig wird nicht ganz so ausgelöst wie ich mir das vorstelle.
Denn dieser Bedingung löst so natürlich auch dann aus, wenn das Kind bereits abwesend ist und nun die Eltern gehen. Das ist aber nicht notwendig :-) Vielmehr möchte ich ja, dass die Eltern eine Nachricht bekommen, wenn sie nicht zuhause sind aber das Kind geht. Der ELSEIF-Zweig soll also quasi nur dann auslösen, wenn sich rr_Kind verändert und Eltern != home ist.
Jemand eine Idee wie ich meinen Ansatz korrigieren muss?
Danke schon mal
Ejfu
Na dann,
define n_Kind_home DOIF ([rr_Kind] eq "home") (set WhatsApp send xxxx Kind ist zuhause) DOELSEIF ([?Eltern] ne "home" and [rr_Kind] ne "home") (set WhatsApp send xxxx Kind ist unterwegs)
Man beachte den kleinen Unterschied bei "Eltern", genaueres zum Fragezeichen an dieser Stelle siehe Commandref zu DOIF.
Gruß
Damian
Danke für den Hinweis!
Aber die Lösung irritiert mich etwas.
Denn das Fragezeichen gilt doch im Zusammenhang von Ereignissen und regulären Ausdrücken. An der Stelle will ich aber doch gar kein Ereignis für Eltern auswerten. Und in der Commandref steht ja auch zur Syntax [<devicename>:?<regexp>]
. Deine Lösung folgt aber, zumindest für mich als Laien, einer anderen Syntax.
Hmm, reguläre Ausdrücke waren noch nie meine Welt ...
Werde es mir merken. Hatte noch so ein, zwei Fälle, bei denen ich auch diesen Ansatz brauche.
Vielen Dank nochmal,
Ejfu
Zitat von: kjmEjfu am 14 Oktober 2015, 22:38:40
Danke für den Hinweis!
Aber die Lösung irritiert mich etwas.
Denn das Fragezeichen gilt doch im Zusammenhang von Ereignissen und regulären Ausdrücken. An der Stelle will ich aber doch gar kein Ereignis für Eltern auswerten. Und in der Commandref steht ja auch zur Syntax [<devicename>:?<regexp>]
. Deine Lösung folgt aber, zumindest für mich als Laien, einer anderen Syntax.
Hmm, reguläre Ausdrücke waren noch nie meine Welt ...
Werde es mir merken. Hatte noch so ein, zwei Fälle, bei denen ich auch diesen Ansatz brauche.
Vielen Dank nochmal,
Ejfu
Da hast du wohl die falsche Stelle in der Commandref erwischt.
Vielmehr war diese Stelle hier interessant:
ZitatZeitintervalle, Readings und Stati ohne Trigger
Angaben in eckigen Klammern, die mit einem Fragezeichen beginnen, führen zu keiner Triggerung des Moduls, sie dienen lediglich der Abfrage.
Es gibt dazu allerdings nur ein Beispiel für Zeitintervalle.
Gruß
Damian
Oh man, da bin ich sogar vor ein paar Wochen drüber gestolpert und wollte es mir noch mit "wow, cooles Feature" merken ...
Danke nochmal,
Ejfu