IPS_SetScriptTimer

Weiß jemand, ob oder wie man einem Script, das im zweiten Durchlauf per „if($_IPS[‚SENDER‘] == „TimerEvent“)“ vom internen Sceduler aufgerufen wird, Parameter (z. B. ein Array) übergeben kann.
Also z. B. so:

// mach-was-Script
if($_IPS[‚SENDER‘] == „TimerEvent“)
{
// Array auslesen
// …
EIB_Switch(12345 , True);
IPS_SetScriptTimer($_IPS[‚SELF‘], 0);
}
else // EXECUTE wg. Tastsensor
{
// Array anlegen
IPS_SetScriptTimerParams($_IPS[‚SELF‘], $myarray);
IPS_SetScriptTimer($_IPS[‚SELF‘], 5);
}

Wenn’s da noch keine Lösung gibt, wäre es schön, wenn darüber mal nachgedacht würde.

Das ist nicht möglich. Die Frage ist eher, was du mitgeben willst, was du nicht direkt im Timer wieder korrekt „berechnen“ könntest.

paresy

Schreib dein Array mit serialize in eine IPS String Variable.
Und lese sie mit unserialize wieder aus.
http://php.net/manual/de/function.serialize.php
Michael

Das System, das ich mit IPS ablösen möchte, ermöglicht mir eine Funktionalität, die ich duzendfach verwende.

Einfaches Beispiel:

a) Ein Tastsensor für z. B. ein Licht wird betätigt (Einschalten)
b) Nach z. B. 60 Sek. soll daraufhin ein ganz anderes Objekt ein- oder ausgeschaltet werden.

Komplizierter:

Das Ganze aber in Abhängigkeit von einer bestimmten Zeitperiode (von - bis) oder nur wenn die Helligkeit Richtung Osten einen bestimmten Wert überschritten hat. Oder nur für bestimmte Wochentage. …

Alle diese Aktionen sollten am einfachsten innerhalb eines Scripts gemeinsam tabellarisch editiert werden können (Array).

Das klappt zwar im Prinzip auch jetzt schon, ist aber ziemlich zerfleddert über den Obejktbaum verstreut, was die Übersichtlichkeit/Zusammenhänge natürlich intransparent macht.