Variable ändern ohne Event zu triggern?

Hallo,
ich suche eine Lösung für folgendes Problem.

Eine Variable soll ein Event auslösen (bei onChange) nachdem Ihren Wert übers Webfront mittels custom_action ändert. (klassischer Ein/Aus Button - funktioniert problemlos)

FRAGE: Wie kann ich den Wert einer solchen Variable per php-script ändern, ohne daß das Event getriggert wird ?

(hab’s probiert mit
IPS_SetEventActive (, false);
SetValue (,)
IPS_SetEventActive (, true);

dies funktionniert nicht, ausser nach dem setValue-Befehl wird ein sleep eingebaut (was ich nicht will - einerseits aus Zeitkritischen Gründen - andererseits die benötigte Dauer des sleep nicht bestimmt werden kann)

Vielen Dank für eure Vorschläge
AK

Du könntest vor der Änderung das Ereignis inaktiv setzen. Dann ändern, dann das Ereignis wieder aktivieren. Du könntest dann natürlich in den Fall laufen, dass das Ereignis ausgelöst werden soll, es aber nicht wird, weil es gerade inaktiv ist.

Dein Ansatz ist genau falsch herum.

Das Event löschen und die gewünschten Aktionen direkt in das Aktionsskript legen.
Dann werden diese Aktionen nur noch über das WebFront bzw. RequestAction ausgeführt.
Und du kannst weiterhin die Variable mit SetValue ändern, ohne das die Aktion ausgelöst wird.
Siehe auch letzter Absatz zu Aktionsskript in der Doku.

Michael

Hallo, vielen Dank für die Antwort.
Leider funktioniert das bei mir nicht. Wie bereits beschrieben, bleibt der Trigger nur aus, wenn ich zwischen SetValue un setEventActive eine Pause einbaue.
Vermutlich ist sonst das Event längst wieder aktiv, bevor das System es triggert.

AK

Dann würde ich die Lösung von @Nall-chan verwenden.

Hallo Nall-chan,
leider ist es etwas komplizierter.
Im prinzip folgendes:

Ändern der Variable(A) soll Event A auslösen. (bei onChange)

Als Reaktion auf ein anderes Event (B) will ich die Variable A ändern, ohne daß Event A nochmals ausgelöst wird. Variable A soll sozusagen den nur richtigen Zustand anzeigen. Die Aktionen wurden bereits durch Event B erledigt.

Danke
AK

Darum sage ich ja, diese Logik ist falsch gebaut.
Was soll bei Event A passieren wenn sich die Variable ändert?
Das soll ja nur ausgelöst werden, wenn du A über das WebFront bedienst.
Dann gehören die Aktionen von Event A in das Aktionsskript und es wird kein Event A benötigt.
Event B kann dann jederzeit noch Variable A über SetValue ändern, ohne das die Aktionen aus dem Aktionsskript ausgelöst werden.
Michael

Hallo Nall-chan,
vielen Dank für die Hilfe.
Verstehe jetzt deine Idee.
Werde mal versuchen, meine Scripts umzuschreiben. Wird etwas aufwendig, sollte aber klappen (bis auf die üblichen Überraschungen).

Gruß und Dank
AK