Hauptmenü

Verwirrung um DOELSEIF

Begonnen von Pati_Alpha, 18 November 2016, 22:58:27

Vorheriges Thema - Nächstes Thema

Pati_Alpha

Hallo,

ich bin etwas durcheinander über dieses DOIF bzw. darüber wann das DOELSEIF ausgeführt wird.

Bei einem DOIF zB:
define Test DOIF ([Schalter] eq "on") (sleep 1) DOELSE (sleep 2)
würde er, wenn Schalter triggert und auf "on" steht 1 Sekunde schlafen und wenn Schalter triggert, aber nicht auf "an" steht 2 Sekunden schlafen.

Bei dem Beispiel aus meinem Code mit einem DOELSEIF:
define ZuhauseGeoNote DOIF ([ZuhauseGeo:"on"] and [Ich] eq "off") (\
set Ich on) \
DOELSEIF ([ZuhauseGeo:"off"] and [Ich] eq "on") (\
set Ich off)

hat er den 2. Teil nicht ausgelöst. Liegt es daran, dass das ganze DOIF nur ausgelöst wird, falls "ZuhauseGeo" AUF "on" schaltet und somit das DOIF nie ausgelöst ist wenn "ZuhauseGeo" AUF "off" schaltet?

Ich habe es jetzt in zwei DOIFs aufgeteilt, dann geht es.
Alternativ wäre wahrscheinlich auch die "eq" Formulierung zu nutzen, oder?

Ich vermute grade fast, dass zwei einfache "ja" meine Frage beantworten könnten.... aber ich stelle sie zur Sicherheit trotzdem. :D

EDIT: Wenn ich ein DOIF mit zwei Bedingungen habe, triggert es dann nur bei der ersten oder nur wenn beide Bedingungen stimmen? Denn dann würde das DOELSEIF auch nie erreicht werden, da dessen 2. Bedingung nie erreicht ist wenn das DOIF triggers, da die 2. Bedingung des DOIFs das ja quasi ausschließt. (Heißt: das DOIF würde nur bei "Ich" eq "on" triggern, also kann im DOELSEIF ruhig was von "Ich" eq "off" stehen, das wird aber nie der Fall sein während das DOIF und damit das DOELSEIF läuft!)
Ich glaube da liegt der Hund begraben!

Danke euch!!

Viele Grüße! :)