Verwendung Systemvariablen

Habe schon die Doku gelesen und auch schon einige Beispiele aus dem Forum umgesetzt, aber jetzt sehe ich wohl vor lauter Bäumen den Wald nicht mehr.

Ein Skript, das durch mehrere Variablenänderungen ausgelöst werden kann, soll mir die auslösende Variable anzeigen. Ich habe das so verstanden, dass dies mit den Systemvariable $IPS_Variable geht, aber die liefert bei folgendem Befehl immer NULL:

IPS_LogMessage($IPS_Sender,$IPS_Variable);

Was mache ich falsch?

Vielen Dank für Eure Hilfe.

Gruß
Thorsten

Hallo Thorsten,

die Systemvariable „$IPS_VARIABLE“ ist nur mit einem Wert gefüllt wenn diese durch einen Event oder auch Webfront aufgerufen wurde.

Wird den Skript durch den Execute-Button im Skripteditor oder durch rechte-Maustaste -> ausführen gestartet ist die Variable leer da nicht durch eine solche getriggert.

Setze auf das Skript einmal einen Event, z.B. 1 Minute oder auch kürzer, und schau dir den Log nochmal an. Du wirst sehen das dann ein Eintrag erfolgt.

Hallo Werner,

vielen Dank für Deine schnelle Antwort.

Habe Deinen Rat befolgt und jetzt mal noch zusätzlich ein zyklisches Ereignis eingefügt, leider selbes Ergebnis: Sowohl $IPS_Varible als auch $IPS_Sender = NULL.

Die angehängte Meldung wurde durch das Ereignis ausgelöst.

Gruß
Thorsten

Ereignisse.jpg

meldungen.jpg

Bin mir jetzt nicht sicher da ich es immer so mache…

… schreib mal die Variablen GROß also

$IPS_VARIABLE
$IPS_SENDER

und schmeiß den Event wieder raus da das Skript ja von x-Variablen getriggert wird :rolleyes:

Vielen Dank Werner, das ist die Lösung. Soviel zu den Bäumen und dem Wald. Mein Tag ist gerettet. :smiley:

Gruß
Thorsten