Problem mit $_IPS['TRIGGER']

Hallo zusammen,

wenn ich folgendes Script im Script-Editor ausführe:

<?

if ($_IPS['TRIGGER'] = "ScriptTimer"){
  echo "Test";
}

?>

erscheint unten im Fenster „Test“. Das darf ja eigentlich nicht sein, oder hab ich gerade ein Brett vorm Kopf?

IPS 3.10 #3431

Gruß,
Christoph

== :rolleyes:

Zitat: Zu beachten ist hier, dass zwei Ist-Gleich Zeichen benutzt werden. Mit nur einem Gleichheitszeichen würde diese if-Anweisung nicht funktionieren, denn dort würde der Variable den Wert Nils zugewiesen werden.
Außerdem darf kein Semikolon (:wink: hinter der if-Anweisung stehen.

MST

== Brett

:smiley:

Edit: Da war jemand schneller…

Das ist kein Brett mehr, das ist ein fetter Balken. :eek:

Danke!

Hallo zusammen,

irgendwie ist das immer noch ein Brett.

Ich habe ein Script, welches ich über einen Script-Timer starte. Wenn der Script-Timer dieses Script startet, soll er gleichzeitig zurückgesetzt werden. Also steht unten irgendwo:


if ($_IPS['TRIGGER'] == "ScriptTimer"){
  IPS_SetScriptTimer($_IPS['SELF'], 0);
}

Ich bekomme nun

Notice:  Undefined index: TRIGGER in D:\Programme\IP-Symcon\scripts\47274.ips.php on line 4

und das auch, wenn das Script von einem Script-Timer gestartet wird.

Kann mir noch mal kurz jemand auf die Sprünge helfen?

Danke und Gruß,
Christoph


if ($_IPS['SENDER'] == "TimerEvent"){
  IPS_SetScriptTimer($_IPS['SELF'], 0);
}

Dankeschön! Jetzt funktioniert alles so, wie ich das gerne hätte.

Ist die Lösung mit dem $_IPS[‚TRIGGER‘] == „ScriptTimer“ komplett falsch? Müsste die nicht auch funktionieren? Wurde da irgendwann irgendwas geändert?

Grüße

Nicht das ich wüsste.

Guckst Du hier.

Danke kronos,
Brett vorm Kopf damit vollständig entfernt.

Gruß,
Christoph