anderes Skript aus Ereignis-Skript heraus aufrufen

Hallo,
ich habe da noch ein kleines Verständnis Problem bei der (Wieder-)Verwendung von Skripten.
Für ein Einbruch-Alarmsystem habe ich verschiedene Bewegungsmelder installiert, die jeweils ein Ereignis triggern. In dem Ereignis wird eine globale Variable $meldung=‚Tür_x‘; gesetzt.
Damit soll dann die Verarbeitung in Script-ID 12345 vorgesetzt werden, welches dann diese Meldung prüft, ggf. Mails versendet, Logs schreibt etc.

Wie mache ich eine Art „Goto-Script 12345“ und bleibt die Variable $meldung des aufrufenden Scriptes global und damit auch im aufGErufenen Script weiterhin verfügbar?

Bin mir nicht sicher, ob ich das richtig verstanden habe. Hilft dir das:

IPS_RunScriptEx: IP-Symcon :: Automatisierungssoftware

Gruß,
Christoph

Ja, das ist ja schon mal ein Ansatz. Werde ich mal antesten!

Okay, das sieht soweit nicht schlecht aus.
Die Online Doku hat zu den Befehlen wohl noch einige Schönheitsfehler. Hat gedauert bis ich das raus hatte:
In den Beispielen zur Parameterübergabe ist das ‚=>‘ dem HTML zum Opfer gefallen und durch > dargestellt worden.

Okay, was mir aber nicht gelingt: Zugriff auf die übergebenen Variaben. Wieder am Beispiel der Online Doku bei IPS_RunscriptEx

  1. Zugriff auf $_IPS[‚Variablenname‘] bekomme ich immer ‚undefined variable‘
  2. In der zweiten Zeile des Beispiels in der Doku wird so auf eine Variable Tmin ohne das $_IPS zugegriffen:
$MaxTemp = $Tmin + 30.0;

Das ist doch wohl falsch? Sollte das nicht $_IPS[‚Tmin‘] sein?

Muß ich vor dem Zugriff auf $_IPS noch irgend eine Instanz anlegen?
Mein Aufruf sieht übrigens so aus:

IPS_RunScriptEx(42025,Array("Meldung"=>"Tür2"));

und im Script 42025 geht es dann wie folgt los:

echo $_IPS["Meldung"];

Was dann zur Fehlermeldung ‚undefined variable‘ führt.

$Meldung ist keine IPS-Systemvariable. Hast Du es schon einfach mal nur mit

print_r($Meldung)

versucht?

Aber $Meldung müsste eigentlich im aufgerufenen Script als globale Variable verfügbar sein, wenn Die Doku stimmt.

Eigentlich sollte ein

echo $Meldung;

ausreichen oder aber

echo $_IPS['Meldung'];

( an statt " " , ’ ’ )

Tatsächlich, die globale Variable $Meldung funktioniert doch.
Okay, dann können die Variablen direkt verwendet werden ohne dieses $_IPS Zeug.

Vielen Dank