Logik Funktion für KNX

Die Bedingung auf False gelegt heißt was?

Ich würde mit der Änderung der verknüpften Variablen das Script triggern.

Und den Inhalt des zweiten Script in das Erste kopieren.

Gruß Helmut

Auf False gelegt bedeutet, dass der Zusatnd am Ausgang wieder auf Null ( False ) gestellt wird wenn weder Eingang 1 noch Eingang 2 auf True stehen.

Das Script wird mit mit dem Ändern der Eingänge 1 oder 2 angestoßen.

Klappt perfekt.

Wie kann ich denn die beiden Scripte in einem gemeinsamen Script zusammenfügen?

Wenn ich die beiden if Bedingungen nur aneinanderreihe geht es doch bestimmt nicht, oder?

Danke und Grüsse

Joerg

Poste doch mal die beiden Scripte, waren doch die gleichen Variablen?

Gruß Helmut

Hallo Helmut,

hier jetzt die beiden Scripte:

  1. zurücksetzen ( getriggert über false an den 4 Eingängen )

<?
$var1 = GetValueBoolean(14851 /[Test\Test 1\Eingang 1 \Value]/);
$var2 = GetValueBoolean(55123 /[Test\Test 1\Eingang 2\Value]/);
$var3 = GetValueBoolean(11433 /[Test\Test 1\Eingang 3\Value]/);
$var4 = GetValueBoolean(16631 /[Test\Test 1\Eingang 4\Value]/);
if(($var1 || $var2 || $var3 || $var4) == false) {
EIB_Switch(20387 /[Test\Test 1\Ausgang]/, false);
}
?>

  1. setzen ( getriggert über true an den 4 Eingängen )

<?
$var1 = GetValueBoolean(14851 /[Test\Test 1\Eingang 1 \Value]/);
$var2 = GetValueBoolean(55123 /[Test\Test 1\Eingang 2\Value]/);
$var3 = GetValueBoolean(11433 /[Test\Test 1\Eingang 3\Value]/);
$var4 = GetValueBoolean(16631 /[Test\Test 1\Eingang 4\Value]/);
if(($var1 || $var2 || $var3 || $var4) == true) {
EIB_Switch(20387 /[Test\Test 1\Ausgang]/, true);
}
?>

Die Eingangsvariablen sind identisch.

Viele Grüße

Joerg

zB so:

<?
 $var1 = GetValueBoolean(14851 /*[Test\Test 1\Eingang 1 \Value]*/);
 $var2 = GetValueBoolean(55123 /*[Test\Test 1\Eingang 2\Value]*/);
 $var3 = GetValueBoolean(11433 /*[Test\Test 1\Eingang 3\Value]*/);
 $var4 = GetValueBoolean(16631 /*[Test\Test 1\Eingang 4\Value]*/);

 if(($var1 || $var2 || $var3 || $var4) == false) {
 EIB_Switch(20387 /*[Test\Test 1\Ausgang]*/, false);
 }

//2. setzen ( getriggert über true an den 4 Eingängen )
 
 if(($var1 || $var2 || $var3 || $var4) == true) {
 EIB_Switch(20387 /*[Test\Test 1\Ausgang]*/, true);
 }
 ?>
 

Gruß Helmut

Hallo Helmut,

Vielen Dank. Versuche mich heute Abend.

Viele Grüsse

Joerg

Hallo Helmut,

geht. ( ich hab auch gar nicht daran gezweifelt :slight_smile:

Jetzt aber gleich die nächste Frage:

Wie gehe ich vor wenn ich normale ( Schließer ) und negierte Eingänge ( Öffner ) in einm Script verknüpfen möchte?

Viele Grüße

Joerg

Kommt immer auf die genaue Frage an: was sollen die Verknüpfungen mit welchem Ergebniss machen.

'ne Pauschalaussage hääte ich nicht parat.

Gruß Helmut

Das sollte als Beispiel so funktionieren:


<? 
 $var1 = GetValueBoolean(14851 /*[Test\Test 1\Eingang 1 \Value]*/); 
 $var2 = GetValueBoolean(55123 /*[Test\Test 1\Eingang 2\Value]*/); 
 $var3 = GetValueBoolean(11433 /*[Test\Test 1\Eingang 3\Value]*/); 
 $var4 = GetValueBoolean(16631 /*[Test\Test 1\Eingang 4\Value]*/); 

 if((($var1 || $var2 || $var3 ) == true) || ($var4 == false)) { 
 EIB_Switch(20387 /*[Test\Test 1\Ausgang]*/, false); 
 } 

 ?>

Wenn var1 und var2 und var3 gleich true UND var4 gleich false sind… dann Ausgang true oder false!

Hallo Ihr beiden,

passt und geht… prima!!!

Jetzt ist auch der Frust weg und IPS macht richtig Spaß!!!

Hab da gleich noch eine Frage:

Ich suche eine Blikfunktion, hab aber leider in der Dokumeantation nichts gefunden oder überlesen.

Hintergrund:

Ich würde gerne die Satus LED meiner Alarmanlae sowohl für Status scharf ( LED Leuchtet ) sowie für die ablaufende Verzögerungszeit ( LED blinkt ) verwenden. Im Moment habe ich zwei LEDS im Einsatz, blockiere mir damit aber zwei Aktorausgänge.

Die Ansteuerung der beiden Eingänge kommt vom KNX Baustein, die könnte ich ja übder die jetzt gelernte Oder Verknüpfung realisieren und sie so dem gleichen Ausgang zuordnen.

Danke und einen schönen Abend!