NEWS
Und Oder Verknüpfung
-
Hallo Ih,
leider eine Anfängerfrage aber ich komm nicht drauf.
Wie mach erweitere ich unteres Skript durch eine "and" oder "or" Verknüpfung?
Vor allem die "and" ist mir wichtig, sprich wenn 2 Abfragen wahr sind dann geschieht erst was.
Danke für eure Hilfe
if (Motion_Bad === true) { setState('hm-rpc.0.JRT0002008.1.ON_TIME', 600 ); // Setze Timer in sekunden => 30x60=1800 setState('hm-rpc.0.JRT0002008.1.STATE', 'true'); // Licht Aussenbeleuchtung einschalten log("---> LED Bad eingeschaltet","info"); setState('hm-rpc.0.KEQ0964544.1.ON_TIME', 600 ); // Setze Timer in sekunden => 30x60=1800 setState('hm-rpc.0.KEQ0964544.1.STATE', 'true'); // Licht Aussenbeleuchtung einschalten }
-
Hallo,
eine UND-Verknüpfung kannst Du mit && realisieren, eine ODER-Verknüpfung mit || (Pipe = Alt Gr + <).
Beispiel (UND):
if (Motion_Bad === true && Licht_Bad === false) { setState('hm-rpc.0.JRT0002008.1.STATE', 'true'); }
Beispiel (ODER):
if (Motion_Bad === true || Motion_Schlafen === true) { Alarm; }
Du kannst diese Bedingungen auch mithilfe von Klammern beliebig verschachteln.
Beispiel (ODER):
if ((Motion_Bad === true || Motion_Schlafen === true) && Alarmanlage_scharf === true) { Alarm; }
Eine UND-Verknüfung kannst Du grundsätzlich auch mit verschachtelten if-Bedingungen erstellen. Das macht insbesondere komplexe Zusammenhänge übersichtlicher und Du kannst einzelne else-Zweige einbauen:
if (Motion_Bad === true || Motion_Schlafen === true) { if (Alarmanlage_scharf === true) { Alarm; } }
-
Falls du auf zwei Inputs (sensoren) reagieren musst, dann ist das ein bisschen komplizierter:
var idSensor1 = "hm-rpc.0.BLA1.1.STATE"; var idSensor2 = "hm-rpc.0.BLA2.1.STATE"; function checkStates() { // UND Verknüpfung if (getState(idSensor1).val && getState(idSensor2).val) { // Irgendwas ausführen } } on(idSensor1, checkStates); on(idSensor2, checkStates);