Anpassung Bedingungen für Ereignis

Hallo,
ich habe ein Skript angelegt welches durch ein Ereignis ausgelöst wird. Ich habe hierzu ein Ereignis mit mehreren Bedingungen angelegt.

  1. Bei Grenzüberschreitung eines Helligkeitswertes.
  2. Weitere Bedingungen sind Uhrzeit min und Zeit Max.

Funktioniert auch alles bestens.
Ich möchte nun folgendes haben. Das Skript soll nicht sofort bei Erfüllung aller Bedingungen starten ,sondern erst wenn der Helligkeitsert konstant z.b. 5 Minuten Ansteht. Habe den PHP Code ausgelesen und Poste ihn hier mal. Vielleicht könnt ihr ja weiterhelfen… Gibt es eine Möglichkeit das Ganze auch irgenwie einfach zu gestalten?

[Window Title]
IP-Symcon Management Console [Mein Server]

[Content]
array(24) {
[„EventID“]=>
int(22702)
[„EventType“]=>
int(0)
[„EventActive“]=>
bool(true)
[„EventLimit“]=>
int(0)
[„EventConditions“]=>
array(1) {
[0]=>
array(6) {
[„ID“]=>
int(0)
[„ParentID“]=>
int(0)
[„VariableRules“]=>
array(1) {
[0]=>
array(4) {
[„ID“]=>
int(1)
[„VariableID“]=>
int(19325)
[„Comparison“]=>
int(3)
[„Value“]=>
int(22)
}
}
[„DateRules“]=>
array(0) {
}
[„TimeRules“]=>
array(2) {
[0]=>
array(3) {
[„ID“]=>
int(1)
[„Comparison“]=>
int(3)
[„Value“]=>
array(3) {
[„Hour“]=>
int(10)
[„Minute“]=>
int(0)
[„Second“]=>
int(0)
}
}
[1]=>
array(3) {
[„ID“]=>
int(2)
[„Comparison“]=>
int(5)
[„Value“]=>
array(3) {
[„Hour“]=>
int(18)
[„Minute“]=>
int(0)
[„Second“]=>
int(0)
}
}
}
[„Operation“]=>
int(0)
}
}
[„TriggerType“]=>
int(2)
[„TriggerVariableID“]=>
int(34509)
[„TriggerValue“]=>
int(70000)
[„TriggerSubsequentExecution“]=>
bool(true)
[„CyclicDateType“]=>
int(0)
[„CyclicDateValue“]=>
int(0)
[„CyclicDateDay“]=>
int(0)
[„CyclicDateDayValue“]=>
int(0)
[„CyclicDateFrom“]=>
array(3) {
[„Day“]=>
int(0)
[„Month“]=>
int(0)
[„Year“]=>
int(0)
}
[„CyclicDateTo“]=>
array(3) {
[„Day“]=>
int(0)
[„Month“]=>
int(0)
[„Year“]=>
int(0)
}
[„CyclicTimeType“]=>
int(0)
[„CyclicTimeValue“]=>
int(0)
[„CyclicTimeFrom“]=>
array(3) {
[„Hour“]=>
int(0)
[„Minute“]=>
int(0)
[„Second“]=>
int(0)
}
[„CyclicTimeTo“]=>
array(3) {
[„Hour“]=>
int(0)
[„Minute“]=>
int(0)
[„Second“]=>
int(0)
}
[„ScheduleActions“]=>
array(0) {
}
[„ScheduleGroups“]=>
array(0) {
}
[„EventScript“]=>
string(0) „“
[„LastRun“]=>
int(1524666915)
[„NextRun“]=>
int(0)
}

[OK]

Auf einen seit einer bestimmten Zeit konstanten Wert zu prüfen ist nicht über die Bedingungen möglich. Dies kannst du allerdings mit Hilfe eines SkriptTimers ins Skript reinziehen. Wenn das Skript via Ereignis auslöst, dann startest du einen Skripttimer mit deiner gewünschten Zeit. Löst das Skript via SkriptTimer aus, dann kannst du sichergehen, dass der Wert konstant blieb, schaltest den Timer wieder aus und führst deine gewünschten Aktionen durch. Ändert sich der Wert nämlich vor Ablauf der Zeit, dann wird der Timer wieder auf den ursprünglichen Wert zurückgesetzt.

Ob ein Skript via Ereignis oder SkriptTimer gestartet kannst du mit den Systemvariablen herausfinden: Systemvariablen — IP-Symcon :: Automatisierungssoftware

Den Timer kannst du über IPS_SetScriptTimer einstellen: IPS_SetScriptTimer — IP-Symcon :: Automatisierungssoftware